The evolution of agile development process
Embed Size (px)
Transcript of The evolution of agile development process
The Evolution of Agile Development ProcessDavid Tzemachwww.Dtvisiontech.comMAR 11 2016
The Evolution of Agile Development Process
The Waterfall Model as a baseline
Its the first development process to be introduced (Herbert D. Benington 1956). The first formal description of this model is connected to Winston Royces Article from 1970 Managing the Development of Large Software Systems.The main conclusions from this article: Every phase in the process must end, prior to continuing to the next one.Identify the 5 phases of a project development process (Next Slide ).As longer the project continues, the design will be more understandable by the project engineers(we can never design a system at the beginning and fully understand it).Each phase of the model, will provide a new knowledge that may affect the other phases.
Waterfall Model Phases of the process
The problem in traditional modelsThe Traditional testing methodologies are not suitable to handle the fast growing software industry where you need to deliver a fast and quality product due to furious competition and client demands. The disadvantages of the those Dinosaurs:There is no indication about the quality of the software until the start of the testing process. There is a Hugh risk in almost any code modification after the testing stage is started.There is a limited communication between the engineering teams and the client.The preliminary preparation and planning can take a Hugh amount of time.In many cases, the project is planned without a real specification from the customer (That in most cases will faill to predict the specific functionality and behavior that he needs).A massive amount of test documents that reduce the actual testing time.Both the testing and coding stages can take months and even years. There is a narrow ability to add new requirements after the first three phases of the SDLC model(Requirements ,Design and development).There is a Strict Entry and Exit criteria. Sometimes the original design may look great on paper, but very costly in the actual Development process.
Agile Software Development as the Alternative
The Agile Manifesto The Beginning The software industry is evolved dramatically since the waterfall model is was presented.In the year of 2001, a group of pioneers which discovered their own ways to develop a software are got together to share their common experiences.At the end of this weekend, this group of people produce the Bible of the Agile model called Manifesto for Agile Software Development.
The Manifesto for Agile Software DevelopmentWe 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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.Kent Beck et al
The benefits of the agile methodology
IterativeThe Development projects are divided into smaller cycles (iterations of 1-4 weeks) that will lead to incremental releases (instead of one major release that as the full functionality).
Value based We can develop the important things first, release it to the client and than continue with the development of other less important features.
AdaptiveIn an agile process, there is a Hugh importance to adapt and embrace any Dynamic change that come from the client (Per Cycle). This adaptive approach will increase the accuracy of development against the client expectations.
Team ProcessThis process Empathize Face-to-face communication in addition to full collaboration between all the teams that involved in the project (QA/R&D/PM).
Easy to understandVery simple and structured process, almost every person will succeed to follow it (its not a rocket science...).
For additional Kbs please visit my blog