sukcesivne faze • naglasak je na planiranju, rokovima, budžetu i implementaciji čitavog sistema odjednom • kontrola se postiže obimnom dokumentacijom, formalnim review-evima, i odobravanju korisnika i menadžmenta na kraju svake faze • Waterfall
ukoliko su pogresno postavljeni. Isto vazi i za ostale faze • Jednom zavrsena faza, ne moze biti izmenjena, nema nazad. Ima, ali uz izmenu svih faza do tada • Svaka promena zahteva u sred razvoja, utice na citav proces, menja opseg, budžet, postavljene rokove • Citav proizvod se testira na kraju. Isto vazi i za povratnu informaciju od strane klijenta • Klijent ne zna šta želi dok to ne vidi
faze razvoja softvera dešavaju istovremeno, a za njihovo obavljanje, zaduženi su cross-functional timovi • Promovišu adaptivni razvoj i planiranje, rani demo i brz feedback, konstantno usavršavanje i adekvatnu i brzu reakciju na promenu
planiranje kompletnog resenja inkrementalno dodavanje vrednosti, kreiranje funkcionalnih modula klijenti specifiraju sve na startu klijent aktivno učestvuje i menja mišljenje limitirana komunikacija, akcenat na dokumentaciji intenzivna komunikacija, dokumentacija u drugom planu sprečavanje promena prihvatanje promena, eksperimentisanje, i reprioritizacija dostavljanje na kraju procesa, fail na kraju dostavljanje što brže i češće, fail raniji
60-ih godina, iako nisu bili jasno definisani • Snažniji i organizovaniji ‘pokret’ sredinom 90-tih kao odgovor na tradicionalne pristupe, i sve češće kritike • 1994 - unified process i DSDM • 1995 - scrum • 1996 - crystal clear i xp • 1997 - adaptive software dev i feature - driven dev
Objedinjuje sve prethodno pomenute metodologije pod Agile software development • Usvojena su 4 principa, kasnije prosirena na 12, koja dodatno objašnjavaju šta znači agilnost u razvoju softvera
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, while there is value in the items on the right, we value the items on the left more
customer through early and continuous delivery of valuable software. • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
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.
progress. • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. • Continuous attention to technical excellence and good design enhances 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.
Mike Beedle Jim Highsmith Steve Mellor Arie van Bennekum Andrew Hunt Ken Schwaber Alistair Cockburn Ron Jeffries Jeff Sutherland Ward Cunningham Jon Kern Dave Thomas Martin Fowler Brian Marick
Agile Unified Process (AUP) Crystal Clear Methods Disciplined agile delivery Dynamic systems developme nt method Extreme programmin g (XP) Feature- driven developme nt (FDD) Lean software developme nt Kanban (developme nt) Scrum Scrum ban