AGILE SOFTWARE DEVELOPMENT AYSE GUL YAMAN

960 views
886 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
960
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AGILE SOFTWARE DEVELOPMENT AYSE GUL YAMAN

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

×