An Agile Primer
ThoughtWorks
Vineet Shukla, Avinash Chugh, Chandan Jog
Our Agenda

Agile Methods

Software
Engineering

Agile
Values & Principles

Our Experience

Agile
Practices
Our Agenda

Agile Methods

Software
Engineering

Agile
Values & Principles

Our Experience

Agile
Practices
History of software development
NASA’s Defect Density

Pretty good, right?
NASA’s Defect Density (another data point)
Other Heavy Weight Methodologies

Waterfall

SEI/IEEE Project
Standards and Definitions

Requirements
Engineering

Project...
Our Agenda

Agile Methods

Software
Engineering

Agile
Values & Principles

Our Experience

Agile
Practices
Agile

Lean Software
Development

XP

Velocity
Tracking

Scrum
DSDM

Agile Modeling
eXtreme Programming
It takes common sense practises to extreme levels - “turning the
dials to 11!”
•  If code reviews are ...
Our Approach

value?

faster.
value?

Sequential Delivery

Agile Delivery

Continuous Delivery
Our Agenda

Agile
Values & Principles

Agile Methods

Software
Engineering

Our Experience

© ThoughtWorks 2008

Agile
Pra...
Agile Manifesto
We are uncovering better ways of developing software by doing it and
helping others do it. Through this wo...
Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.
Welcome changi...
Waterfall Methodology

Effort

Time
Agile Methodology
Our Agenda

Agile Methods

Software
Engineering

Agile
Values & Principles

Our Experience

Agile
Practices
Practices
Automated
Build/Deploy

Pair
Programming
Story Wall

Coding
Standards

Continuous
Integration

Continuous
Feedba...
Scope Break Up
Release

Iterations

User
Stories

User
Stories

Iterations

User
Stories

User
Stories

Iterations

User
S...
Many time boxed iterations
Working software showcased to
business, tested with customers
Analysis
Design
Code
Test
Deploy

The basics
still apply
User Story
Story = Light weight piece of requirement
As an Online Banking User
I want to link my Loan Account with my exis...
Our Agenda

Agile Methods

Software
Engineering

Agile
Values & Principles

Our Experience

Agile
Practices
Questions?
Vineet Shukla, Avinash Chugh, Chandan Jog
Agile 101
Upcoming SlideShare
Loading in …5
×

Agile 101

470
-1

Published on

We used this deck to provide an overview about Agile. This was mainly used for audience who had no / very less info about agile.

Published in: Engineering, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
470
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile 101

  1. 1. An Agile Primer ThoughtWorks Vineet Shukla, Avinash Chugh, Chandan Jog
  2. 2. Our Agenda Agile Methods Software Engineering Agile Values & Principles Our Experience Agile Practices
  3. 3. Our Agenda Agile Methods Software Engineering Agile Values & Principles Our Experience Agile Practices
  4. 4. History of software development
  5. 5. NASA’s Defect Density Pretty good, right?
  6. 6. NASA’s Defect Density (another data point)
  7. 7. Other Heavy Weight Methodologies Waterfall SEI/IEEE Project Standards and Definitions Requirements Engineering Project Management Body of Knowledge (PMBOK) Sometimes, heavy weight methodologies work, but there are extensive costs, and the risk in using them in dynamic environments is high.
  8. 8. Our Agenda Agile Methods Software Engineering Agile Values & Principles Our Experience Agile Practices
  9. 9. Agile Lean Software Development XP Velocity Tracking Scrum DSDM Agile Modeling
  10. 10. eXtreme Programming It takes common sense practises to extreme levels - “turning the dials to 11!” •  If code reviews are good, review code all the time (Pair Programming) •  If testing is good, everybody will test all the time (Unit Testing) •  If design is good, make it part of everyone’s daily business (Refactoring) •  If simplicity is good, always leave the system with the simplest design that supports it’s current functionality.
  11. 11. Our Approach value? faster. value? Sequential Delivery Agile Delivery Continuous Delivery
  12. 12. Our Agenda Agile Values & Principles Agile Methods Software Engineering Our Experience © ThoughtWorks 2008 Agile Practices
  13. 13. 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: 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 on the right, we value the items on the left more.
  14. 14. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for customer's competitive advantage. Working software is the primary measure of progress. the Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development face-to-face conversation. technical excellence and good design enhances agility. Continuous attention to 12 Principles together daily throughout the project. team is Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. team reflects on how to become more effective, then tunes and adjusts At regular intervals, the its behavior accordingly.
  15. 15. Waterfall Methodology Effort Time
  16. 16. Agile Methodology
  17. 17. Our Agenda Agile Methods Software Engineering Agile Values & Principles Our Experience Agile Practices
  18. 18. Practices Automated Build/Deploy Pair Programming Story Wall Coding Standards Continuous Integration Continuous Feedback User Stories IPM Refactoring Simple Design Test Driven Development INDIVIDUAL TEAM ORGANIZATIONAL Retrospectives Daily Stand-ups Iterations Showcases Continuous Testing Short Releases Collective Ownership Co-location Automated Testing
  19. 19. Scope Break Up Release Iterations User Stories User Stories Iterations User Stories User Stories Iterations User Stories User Stories User Stories User Stories
  20. 20. Many time boxed iterations
  21. 21. Working software showcased to business, tested with customers
  22. 22. Analysis Design Code Test Deploy The basics still apply
  23. 23. User Story Story = Light weight piece of requirement As an Online Banking User I want to link my Loan Account with my existing Saving Account So that I can view all my Accounts at one place UI Prototype Saving Account Loan Account 2 story points Acceptance Criteria <Actor> <action><by |to |for |of > <a(n) object> <the result> 123456789 123456789 Link •  Display Customer’s Account •  Allow Customer to select and link the Account •  Validation on Customer Account data •  Display all Linked Accounts under “My Accounts” page
  24. 24. Our Agenda Agile Methods Software Engineering Agile Values & Principles Our Experience Agile Practices
  25. 25. Questions? Vineet Shukla, Avinash Chugh, Chandan Jog

×