Pramod Poolathodi
Agenda
Definition
Principles
Methods
Scrum
XP
Practices Q&A
17 May 2012
Definition
Definition
Agile refers to a set of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self organizing crossfunctional teams. Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, A leadership philosophy that encourages teamwork, 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.
17 May 2012
Definition
Agile methods break tasks into small increments with minimal planning and do not directly involve long-term planning. Time frames. Team compositions. Team communications. Customer Representative Progress Measure Quality
17 May 2012
Principles
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 throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 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 design enhances agility. Simplicity the art of maximizing the amount of work not done is essential. The best architectures, requirements and designs emerge from self organizing teams. Monitoring and suggest improvements.
17 May 2012
Methods
Scrum
Scrum is an agile process for software development. With Scrum, projects progress via a series of iterations called sprints. Each sprint is typically 2-4 weeks long. Scrum is ideally suited for projects with rapidly changing 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
17 May 2012
Scrum
10
17 May 2012
eXtreme Programming
XP is a set of practices that conform to the values and principles of Agile. XP is a discrete method, whereas Agile is a classification. XP is a suite of practices, principles, and values invented by Kent Beck in the late 90s. Nowadays the principles and values are not as well known, but the practices survive.
11
17 May 2012
eXtreme Programming
12
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
13
17 May 2012
Success Story
Several successful large scale agile projects have been documented. BT has had several hundred developers situated in the UK, Ireland and India working collaboratively on projects and using Agile methods. While questions undoubtedly still arise about the suitability of some Agile methods to certain project types, it would appear that scale or geography, by themselves, are not necessarily barriers to success
14
17 May 2012
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 the items on the left more.
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
Q&A
2009 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.