ff630700d95fc6be33655e634c071ca3.ppt
- Количество слайдов: 15
AGILE SOFTWARE DEVELOPMENT AYSE GUL YAMAN
Outline l l l Traditional approach Agile Software Development Agile Values Agile Principles Limitations of Agile Methodologies Using Components to Reduce Limitations
Traditional approach l Predictive methods l l Planning the future in detail Waterfall model -requirements -design -coding -testing
Agile Software Development (A new approach) l Adaptive methods l l l Adapting quickly to changing realities Short timeboxes(iterations) Each iteration include -planning -requirement analysis -design -coding -testing
Agile methods l l l l e. Xtreme Programming(XP) Feature-Driven Development(FDD) Agile Modeling Extreme Modeling Scrum Adaptive Software Development(ASD) Crystal Clear and Other Crystal Methodologies Dynamic Systems Development Method(DSDM)
Agile Alliance[2001] l Agile Manifesto l Values and Principles
Agile Values l l Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
The Agile Principles l Customer satisfaction by rapid, continuous delivery of useful software l Working software is delivered frequently (weeks rather than months) l Working software is the principle measure of progress
The Agile Principles(cont. ) l Even late changes in requirements are welcomed l Close, daily cooperation between business people and developers l Face-to-face conversation is the best form of communication
The Agile Principles(cont. ) l Projects are built around motivated individuals, who should be trusted l Continuous attention to technical excellence and good design l Simplicity
The Agile Principles(cont. ) l Self-orginizing teams l Regular adaptation to changing circumstances l Agile processes promote sustainable development
Limitations of Agile Methodologies l l l l Projects with distributed development teams and resources Outsourcing Building or using reusable artifacts Using legacy systems or Commercial-Off-The. Shelf(COTS) components Projects involving large teams Development of large software systems Development of safety-critical software systems
Using Components l Larger team in building large software -Problem can be divided into smaller units and then parts of the team are responsible for developing particular components in an agile manner l System can be extended -Defining additional components or extending the scope of existing components Communication -Component interfaces can help in communication l between team members and customers
Using Components(cont. ) l Reusability -Well-defined components can be reused in a similar context in the future l Building large safety-critical systems -Using pre-tested COTS components can further increase the quality of the safety-critical software
References l l l http: //www. agilealliance. org/ http: //en. wikipedia. org/wiki/Agile_software_development http: //www. ambysoft. com/ Zoran Stojanovic, Ajantha Dahanayake, Henk Sol, "Modeling and Architectural Design in Agile Development Methodologies", The 8 th Cai. SE/IFIP 8. 1 International Workshop on Evaluation of Modeling Methods in Systems Analysis and Design EMMSAD> '> 03, Velden, Austria, June 16 -20, 2003, pp. 180 -189. Zoran Stojanovic, Ajantha Dahanayake, Henk Sol, "Component-Oriented Agile Software Development ", 4 th International Conference on e. Xtreme Programming and Agile Processes in Software Engineering (XP 2003), May 26 -30, 2003, Lecture Notes in Computer Science, Springer-Verlag Heidelberg, Volume 2675 / 2003, pp. 315 -318. Questions?


