Agile Software Development

An Introduction ± Specific lens on requirements management Date: 11-JUN-2009

Introduction

Nirmal Merchant
email: nirmal.merchant@gmail.com phone: +1(201)918-3197

| 1

Why Agile?

| 2

Traditional vs. Agile Projects

Traditional Projects: fixed scope* fixed time* fixed budget*

Agile Projects: time boxed fixed budget varying scope

| 3

COST OF CHANGE

| 4

Customer Satisfaction: Shooting a Moving Target

| 5

SCRUM: A flavor of Agile.
How to maximize business value by embracing change and continuously producing a working software.

| 6

SCRUM TALK

Scrum: A flavor of agile focused more on process then technology practices and provides concrete principles which can resolve any software development conundrums. Sprint: Scrum¶s synonym for iteration. Story: Description of a desired end user experience with the proposed solution. [Requirements] Product Backlog: List of stories prioritized by business value. Sprint Backlog: List of tasks for each story which when executed will complete that story. Sprint Planning: Team commits stories for the next sprint by confirming the acceptance criteria, syndicating the tasks and effort and expressing confidence in getting it done. Daily-Standups: Team shares what¶s done, what¶s next and what¶s in the way of meeting their sprint commitments. Sprint Review: Team demonstrates the stories completed to those who need to stay informed and who need to approve the stories. Sprint Retrospective: Team inspects the last sprint and identifies definite opportunities to improve and pledges to exploit a few in the next sprint. Done List: A checklist of all gates that need to be crossed for the story to be deemed complete.

1 Footnote SOURCE: Source

| 7

SCRUM AND ITS VOCABULARY

Coach

1 Footnote SOURCE: Source

| 8

Product Backlog: A Collection of Stories
Stories are prioritized in the order of diminishing business value

| 9

PREPARING THE PRODUCT BACKLOG
Vision + Goals/Objectives ± Epics Themes - Stories Expressing thanks to friends and family ± Thanksgiving Dinner Invitations and menu - Get an estimate of number of people at the dining table. - Delegate preparation of sides among those who RSVP¶d in the affirmative Cooking - Shop for the ingredients and equipment - Roast the Turkey - Cook the gravy Dining - Set the dining table with seating arrangement - Orchestrate the music / conversation topics - Serve the courses and beverages Clean-up - Distribute the tasks for cleaning up - Pack left-overs for each guest
1 Footnote SOURCE: Source

| 10

Story: The Requirement.
A good story follows the INVEST thumb rule.

Story# 001

Priority

Points

As Adam, I want to be able to read posts from my subscribed feeds on my mobile phone so that I can read them while I am travelling. Acceptance Criteria Given that I am a subscriber to a feed and that I am equipped with a portable device able to access the internet while I am on the move, when I choose to synchronize my subscriptions, then new posts from the feeds are downloaded on my device. Given that I am a subscriber to a feed and have synchronized my subscriptions on my mobile, when I am in an area where I have no network coverage, then I should still be able to read the posts that I have subscribed to.

Success: * Display the number of unread posts for each subscribed feed. Exceptions: * If no network coverage ³Cannot connect to the internet.´ * If cannot find feed ³Error in synchronizing feed´ Development Tasks: * Create an XML file using RSS2.0 standard. * Update XML file when posts are added / modified / removed. * Update XML file when comments are added / modified / removed * Publish the URL to the XML file on the blog.

| 11

Estimating Effort: Avoiding Analysis Paralysis
Accurate estimates by themselves don¶t provide much business value

| 12

Estimating Effort: Working with Relative Effort

| 13

Estimating Effort: Planning Poker
Building a common understanding and weighing effort against value.

| 14

Release Planning: Sequencing the Execution of Stories.
Deliver high risk high value items first.

Sprint 1

| 15

Customer Reviews: Failing Early and Often to Super Succeed
Is this what I really want?....

| 16

Reporting Progress: Keeping the Customer in the Driver¶s Seat.
Keeping the end in sight« Managing risks early on«

| 17

Who is a Product Owner.

One person who represents all business & customer interests to the team & is responsible for the profitability of the product
- Ken Schwaber & Jeff Sutherland

What to do when the real Product owner is still warming up to Agile?

| 18

Making the Business Case
Maximizing Profitability of the Product

Does it makes solid financial sense to fund your projects over others? What is your ROI? Who has the time to perform the extensive research and analysis of data that are required to determine ROI?

1 Footnote SOURCE: Source

| 19

Defining the Projects
Maximizing Profitability of the Product

| 20

Exercise: Objectives, Outputs and Outcomes

Goal: Identify the key drivers for the requirement. Define the intended outcomes and free ourselves of the outputs communicated. What¶s communicated: I want to lose weight I want to be change my job I want to volunteer for a non-profit I want the iPhone 3Gs

1 Footnote SOURCE: Source

| 21

Exercise: Prioritizing Stories
Feature Bidding Method: Irrespective of the effort required in building a feature, find out from the stakeholders how much would they be willing to spend from a fixed budget on a specific feature, relative to the others, such that no two features have the same bid. Three Bucket Iterative Method: With each iteration, ask the sponsors to divide the list of story cards in three buckets of priority ± High, Medium, Low. Repeat this process till the time you have only one card in the high, medium and low buckets. With every sprint repeat this method with the most recent stack. The Deck of Cards Method: Print all the stories on index cards and arrange them in an order such that the one at the top is the most important and the one at the bottom is the least important.
1 Footnote SOURCE: Source

| 22

Why Agile?

| 23

Suggested Resources

Websites: Agile Manifesto http://agilemanifesto.org/ Agile Alliance http://www.agilealliance.org/ All About Agile http://www.agile-software-development.com/ Agile Sofware Development http://agilesoftwaredevelopment.com/ Blogs Ken Schwaber http://www.controlchaos.com/ Mike Cohn http://blog.mountaingoatsoftware.com/ Jeff Sutherland http://jeffsutherland.com/scrum/ Scott Ambler http://www.ambysoft.com/scottAmbler.html Books The Art of Agile Development by James Shore and Shane Warden User Stories Applied: For Agile Software Development by Mike Cohn Agile Software Development with Scrum by Ken Schwaber and Mike Beedle Agile Estimating and Planning (Robert C. Martin Series) by Mike Cohn Networks/Groups Agile Project Leadership Network http://www.aplnnyc.org/ The New York XP and Agile Meetup Group http://xp.meetup.com/26/t/wm1_gn

| 24

Sign up to vote on this title
UsefulNot useful