agile programming mehodologies
TRANSCRIPT
-
7/31/2019 Agile Programming Mehodologies
1/17
Agile Software
DevelopmentMethodologies
Date 04 February 2010
Pramod Poolathodi
-
7/31/2019 Agile Programming Mehodologies
2/17
2 17 May 2012
Agenda
Definition
Principles
Methods
Scrum X P
Practices
Q & A
-
7/31/2019 Agile Programming Mehodologies
3/17
Definition
-
7/31/2019 Agile Programming Mehodologies
4/17
4 17 May 2012
Definition
Agile refers to a set of software development
methodologies based on iterative development,
where requirements and solutions evolve throughcolla
boration between self organizing cross-
functional teams.
Agile methods generally promote a disciplinedproject management process that encouragesfrequent inspection and adaptation,
A leadership philosophy that encouragesteamwork,
Self-organization and accountability, A set of engineering best practices that allow for
rapid delivery of high-quality software, and
A business approach that aligns development
with customer needs and company goals.
-
7/31/2019 Agile Programming Mehodologies
5/17
5 17 May 2012
Definition
Agile methods break tasks into small incrementswith minimal planning and do not directly involvelong-term planning.
Time frames.
Team compositions.
Team communications.
Customer Representative
Progress Measure Quality
-
7/31/2019 Agile Programming Mehodologies
6/17
Principles
-
7/31/2019 Agile Programming Mehodologies
7/177 17 May 2012
Principles Customer satisfaction through early and continuous delivery of
valuable software. Welcome changing requirements, even late in development.
Deliver working software frequently.
Business people and Developers must work together daily throughoutthe project.
Build projects around motivated individuals. Give them theenvironment and support they need, and trust them to get the jobdone.
Face to face conversation to and within the development team.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
Continuous attention to technical excellence and good designenhances agility.
Simplicity the art of maximizing the amount of work not done isessential.
The best architectures, requirements and designs emerge from selforganizing teams.
Monitoring and suggest improvements.
-
7/31/2019 Agile Programming Mehodologies
8/17
Methods
-
7/31/2019 Agile Programming Mehodologies
9/179 17 May 2012
Scrum Scrum is an agile process for software development. With Scrum,
projects progress via a series of iterations called sprints. Each sprint istypically 2-4 weeks long. Scrum is ideally suited for projects with rapidlychanging or highly emergent requirements.
3 Roles Product Owner
Scrum Master Self organized Team
3 Ceremonies Sprint Planning Meeting
Daily Scrum Meeting
Sprint Review Meeting 3 Artifacts
Product Backlog
Sprint Backlog
Burndown Chart
-
7/31/2019 Agile Programming Mehodologies
10/1710 17 May 2012
Scrum
-
7/31/2019 Agile Programming Mehodologies
11/1711 17 May 2012
eXtreme Programming
XP is a set of practices that conform to the valuesand principles of Agile. XP is a discrete method,whereas Agile is a classification.
XP is a suite ofpractices, principles, and valuesinvented by Kent Beck in the late 90s. Nowadaysthe principles and values are not as well known,
but the practices survive.
-
7/31/2019 Agile Programming Mehodologies
12/1712 17 May 2012
eXtreme Programming
-
7/31/2019 Agile Programming Mehodologies
13/17
13 17 May 2012
eXtreme Programming
The Practices are Planning Game
Whole Team
Customer Tests
Small Releases
Continuous Integration Collective Ownership
Coding Standard
Metaphor
Sustainable Pace
Pair Programming
Test Driven Development
Refactoring
Simple Design
-
7/31/2019 Agile Programming Mehodologies
14/17
14 17 May 2012
Success Story
Several successful large scale agile projects havebeen documented.
BT has had several hundred developers situated inthe UK, Ireland and India working collaboratively
on projects and using Agile methods. Whilequestions undoubtedly still arise about thesuitability of some Agile methods to certain projecttypes, it would appear that scale or geography, bythemselves, are not necessarily barriers to
success
-
7/31/2019 Agile Programming Mehodologies
15/17
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it andhelping 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 theitems on the left more.
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, WardCunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt,Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, KenSchwaber, Jeff Sutherland, Dave Thomas
-
7/31/2019 Agile Programming Mehodologies
16/17
Q & A
-
7/31/2019 Agile Programming Mehodologies
17/17
Technology for better business outcomes
2009 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice.