CPSC 3720 - DAY 24 APRIL 19, 2017 ================================================================================ AGILE TOPICS ------------ Traditional Waterfall This semester, our project has been done through traditional waterfall In each stage, we completed the stage for the whole project Hard to go back and correct old errors Iterative Development Focuses on specific features in each iteration Easier to have a focuses waterfall More customer interaction and feedback Easier to fix errors and adapt changes More difficult to manage and plan Requires more balanced Software Engineers While it helps, it could still have bad management or toxic work env. Requires more balanced software engineers. Agile Manifesto - History Iterative methods and other project methodologies have been developed over time As far back as 1957 A few more emerged in the 1970s In the 90's more and more methods kept popping up Response to the tech boom Respoonse to poor management styles and working conditions Response to low quality software being produced In February 2001, 17 leaders in software development gathered together and discussed these new methodologies, and what they have in common The wrote the Manifesto for Agile Software Development ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "We are uncovering better ways of developing software by doing it and helping others do it. Through this work, we have come to value: Individuals and interactions over processes and tools, Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, whiile there is value in the items on the right, we value the items on the left more" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 PRINCIPLES OF AGILE DEVELOPMENT ---------------------------------- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitve advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable develpment. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhaces agility. Simplicity the art of maximizing the amount of work not done is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the tem reflects on how to become more effective, then tunes and adjusts its behavior accordingly.