Agile Software Development By Kshitij Limaye CSC 532.
-
Upload
warren-pope -
Category
Documents
-
view
216 -
download
2
Transcript of Agile Software Development By Kshitij Limaye CSC 532.
![Page 1: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/1.jpg)
Agile Software Development
By
Kshitij Limaye
CSC 532
![Page 2: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/2.jpg)
Current Software Development Situation Systems are regularly delivered late and over
budget
Customer hardly works with developers after the requirements phase.
In radically changing market it is not possible to gather customer requirements that are stable and unchanging
Customer is not always sure of what he wants
![Page 3: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/3.jpg)
Problems with Traditional Processes
Concept design
Product and feature specifications
Testing
Coding
START ENDDESIGNFROZEN
Problem: When the market/technology advances at a faster pace than you can respond [3]
Response Time
![Page 4: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/4.jpg)
Agile Method
A method of software development that
aims for customer satisfaction through
early and continuous delivery of useful
software components[1]
![Page 5: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/5.jpg)
Uncertain Environments
Concept freeze
Project start
Market introduction
Concept development
Implementation
Window of Opportunity
Concept freeze
Project start
Market introduction
Concept development
Response time
Implementation
Window of Opportunity
Response time
Stable Environments: A Stage-Gate Process
Uncertain Environments: An Iterative Process
Stable Environments:
Traditional Approach
Uncertain Environments:
Agile Approach (Iterative)
Source [3]
![Page 6: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/6.jpg)
Key Differences
Agile methods are adaptive rather than predictive
Agile methods are people oriented rather than process oriented.
![Page 7: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/7.jpg)
Agile Process Philosophy
Individuals and interactions over processes and tools.
Working software over comprehensive documentation
Customer collaboration over contract negotiations.
Responding to change over following a plan.
![Page 8: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/8.jpg)
Individuals & Interactions
Face to face meetings lead to faster transfer of ideas & quicker response.
Pair Programming
Individual not a replaceable part of system
Team takes technical decisions
![Page 9: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/9.jpg)
Working Software
Source code is most important document.
Working model makes understanding better.
Simplicity approach in XP.
Maintainers normally go through source code first.
![Page 10: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/10.jpg)
Customer Collaboration Vs Contract Negotiations
Preference to fixed price contracts.
Customer on site.
Customer has finer control over the project.
Different kind of business model needed.
Definition of Success
![Page 11: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/11.jpg)
Responding to change Responding to change than following laid out
plan
In predictable processes, difficulty in mapping new requirement to additional cost.
Iterative approach
Teams with onsite customer produce better code.
![Page 12: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/12.jpg)
Examples of Agile processes
Extreme Programming
Crystal
Adaptive software development
Feature driven development
Dynamic systems development method
![Page 13: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/13.jpg)
Implementing Agile Processes Job profiles will change, so resistance.
Management is also uncomfortable with agile processes.
agile processes decisions are not experimentation.
![Page 14: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/14.jpg)
Conclusion: When go agile?
Uncertain & volatile requirements.
Responsible & motivated developers
Customers who understand and willing to get involved.
![Page 15: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/15.jpg)
References
Manifesto for Agile software development; http://agilealliance.com
New methodology; Fowler; Martin;
http://www.martinfowler.com/articles/newMethodology.html
Agile software development: Evidence from the field. Alan
MacCormack http://www.agiledevelopmentconference.com/2003/
files/AlanAgileSoftwareJun03.ppt
![Page 16: Agile Software Development By Kshitij Limaye CSC 532.](https://reader036.fdocuments.us/reader036/viewer/2022082820/5697bfad1a28abf838c9c027/html5/thumbnails/16.jpg)
Q & A