Agile With Scrum

Why choose “Agile”?
“It

is not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change.”
­ Charles Darwin, The Origin of Species

Agility implies
 individuals

and iterations over processes and

tasks  working software over comprehensive documentation  customer collaboration over contract negotiation  responding to change over following a plan.

Agile software development
  

Agile methods emphasize real-time communication, preferably face-to-face, over written documents. Most agile teams include all the people necessary to finish software. This includes

– –

programmers and their "customers" (customers are the people who define the product; they may be product managers, business analysts, or actual customers). testers, interaction designers, technical writers, (as Apllicapble) and ofcource managers.

Agile Project Methodology
      

Empirical management & control process Inspect and adapt feedback loops Used to manage complex projects since 1990 Delivers business functionality in short iterations Scalable to distributed, large, and long projects CMM Level/3 and ISO 9001 compliant Extremely simple but very hard

Agile Project Methodology

 Scrum

Scrum

Waterfall project management
Planning Analysis Design Coding Testing Performance User Acceptance Pilot Live Time

Scrum Process

How do you do Scrum?

Understanding Roles

Create a Project Team with three sets of roles
• Project Owner • Scrum Master • Scrum Team

Daily Scrums
Daily 15 minute status meeting; Same place and time every day; Three questions;

 

What have you completed since last meeting? What will you complete before next meeting? What help do you need?

Any decisions to be made?

Monthly Demonstration

 The

Team presents “Production quality” features to Owner

items are discussed

 Unfinished/Next

Why Agile
Waterfall
Requirements Cost

Agile
Schedule

Constraints
Plan Driven Value /Vision Driven

Estimates
Cost Schedule Features
The Plan creates cost/schedule estimates The Vision creates feature estimates

Project Roles/Responsibilities
Product Owner
Manage prioritized product backlog Review test cases and requirements Discuss trade-offs and clarifications with team

Scrum Master
Run start-of-day daily scrum Facilitate issues resolution during GDC day Collect and collate individual daily updates + hours Protect team from scope changes during sprint

Project Roles/Responsibilities
Team (Example Tasks)
     

Develop the sprint backlog Analyze, decompose and estimate tasks for backlog Write unit, acceptance and regression test cases Design, develop and test the features in the sprint Raise and solve issues with urgency Add items to the Sprint (as necessary)

Tools
Product Backlog – spreadsheet of all desired features for product Product Burn-Down Graph – graph of the progress made in delivering the items on the Product Backlog. Sprint Backlog – spreadsheet of all tasks for features in a single sprint Sprint Burn-Down Graph – graph of the progres made in delivering the tasks in the Sprint backlog. Shows plan vs. actuals. Daily Scrum Meeting – <30 min, action-oriented meeting to identify and resolve issues and track status. Facilitated by consolidated daily, individual status eMails. Sprint Demonstration Meeting – meeting for team to demonstrate features delivered in Sprint and to obtain feedback

Sprint Schedule
 Lasts

for 7 to 15 days  Max a month

Each Sprint can be released to the customer

Cultural shifts

Individual ownership and daily accountability eliminates end of project “death march”. Each day is valuable!! Test driven development will ensure that we benefit from our collective strengths and will enable us to gain customer acceptance quicker Issues can not linger… they must be attacked and solved quickly We won’t be implementing pair programming but the concept is sound and as you feel comfortable seek that person that can improve your delivery. Agile is based on empirical analysis. Let’s measure and evaluate ourselves at each step and constantly improve.

 

How To implement
1. understand scrum practices and rules 2. Team should Collectively build the Sprint Backlog

    

Analyze the prioritized features in the product backlog Break these features into discrete “stories” Break these stories into discrete tasks Take ownership for tasks Estimate duration for each task Raise questions and seek clarifications from Prod. Owner

Points to Consider During Estimation
 

  

1. If estimation exceeds 8hrs for any given task, task should be broken down into 2 separate tasks. 2. A task can have shared responsibilities. E.g. Both QA and Dev are responsible for a task like ‘Write Unit Tests’. In this case, Sprint backlog will have 2 entries for the same task - once for QA and once for Dev. In such a case, both QA and Dev should work together towards the completing the task. 3. Database schema/script modification tasks should have separate entries in the sprint backlog. They should not be coupled with tasks related to code change. 4. For any query modification, 2 separate entries should be created – one for DBA and one for Dev, to integrate query with the app. 5. Development tasks should be as less generic as possible. E.g. Task should mention the actual type change required – Modify jsp, Modify DAO, Modify Converter, modify resource bundle, modify struts.xml, add delegate and service bean method etc. 6. Estimate carefully. Collectively we will all be accountable to deliver on our estimates. Do the necessary research to get it right.

Questions

Sign up to vote on this title
UsefulNot useful