2. What is Agile
Agile is a software methodology which consists of
followings methodologies
1. SCRUM
2. Extreme Programing aka XP
3. Kanban
Agile approaches are based on iterative and incremental
development that focus on client collaboration, interaction,
working software, and responding to change
3. Agile Manifesto
We are uncovering better ways of developing software by doing it and helping
others do it. Through this work we have come to value:
1. Individuals and interactions over processes and tools.
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. 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.
Original source : www.agilemanifesto.org
4. 12 Agile software principle
1. Customer satisfaction by rapid delivery of useful software
2. Welcome changing requirements, even late in development
3. Working software is delivered frequently (weeks rather than months)
4. Close, daily cooperation between business people and developers
5. Projects are built around motivated individuals, who should be trusted
6. Face-to-face conversation is the best form of communication (co-location)
7. Working software is the principal measure of progress
8. Sustainable development, able to maintain a constant pace
9. Continuous attention to technical excellence and good design
10. Simplicityâthe art of maximizing the amount of work not doneâis
essential
11. Self-organizing teams
12. Regular adaptation to changing circumstance
5. Lean development approach
1. Eliminate Waste - Anything not adding value to the customer is a waste.
2. Share knowledge-Share knowledge with each other.
3. Decide as late as possible-delay decisions as much as possible until they can
be made based on facts and not on uncertain assumptions and predictions.
4. Deliver as fast as possible-The sooner the end product is delivered without
major defects, the sooner feedback can be received, and incorporated into the next iteration.
5. Respect the team - Respect each others view.
6. Build and deliver quality software
7. See/Optimize the whole- Interact with customer on regular basis.
6. Scrum
1. Focus on delivering the highest business value in the shortest time.
2. Allows to rapidly and repeatedly inspect actual working software
3. The business sets the priorities & teams self-organize to determine the
best way to deliver the work
4. At the end of each sprint anyone can see real working software and decide
to release it as is, or continue to enhance it for another sprint.
7. Scrum roles and terminology
1. Role
a. Product owner
b. Scrum master
c. Development team
2. Ceremonies
a. Daily Scrum
b. Sprint Planning
c. Sprint Review
d. Sprint Retrospective
3. Artifacts
a. Product backlog, sprint backlog, user stories
b. Team capacity, burndown chart,team velocity