|
So you?ve got your backlog in order, ...
So you?ve got your backlog in order, estimated your backlog, clarified your requirements, planned your sprint and created a collaborative workspace. You're sprinting to achieve your sprint goals and running daily stand-up meetings. Now you're ready to track progress with a daily burndown chart..."Oh dear, it seemed to be going so well" Often in traditional development projects, everything seems to be going so well, right up to 80% completion or perhaps even later. Then things start getting harder. Things start looking less and less likely to meet the planned end date. Until eventually you concede that you can't hit the date because it's just too late to do anything much about it... Agile principles help In agile software development, there are a few key principles that highlight issues early. Distressing though this is, the issues are highlighted whilst there's still time to do something about it. One reason why this is a common problem in traditional software development projects is because the testing is one big lump all at the end. Consequently it's very hard to gauge quality until late in the day and it's very hard to judge how complete the product really is, because you don't know how many more bugs there are to find. In agile development, testing is integrated throughout the lifecycle, features are completed one by one, and for each feature "done" really means "DONE!". In addition, the Product Owner or user representative is actively involved in order to see the product frequently and steer its development every step of the way. All of these principles, along with the daily stand-up meeting, go a very long way to ensuring clear visibility of progress, and providing a clear and unambiguous measure of the product's quality and completeness on a very regular basis. Daily Burndown Chart But in addition to these principles, the Scrum agile development method also offers a simple practice to track progress daily - the daily burndown chart, which beats any traditional project status report hands down in my view! The daily burndown chart is a simple tool. But a very powerful one. 'Estimate To Complete' Take all the tasks to be delivered in a particular Sprint in Scrum, i.e. your Sprint Backlog you created in step 4. On your Sprint Backlog, enter the estimated time to complete, which of course at the beginning of the Sprint is the same as the original estimate. Update the estimated time to complete (ETC) each task on a daily basis. Team members take responsibility Each team member can be responsible for updating their own ETC's on a daily basis before the Scrum. Updating it daily - and sharing the effort amongst the team - means typically there should only be 2 or 3 items to update for each person each day. Therefore it should not be onerous and means team members take responsibility for their own tasks Be honest about what effort you believe is required to complete each task (and that's the effort needed to really complete each task), regardless of how long has been spent to date and regardless of what was estimated in the first place. Team goal The team's goal, quite simply, is for the team to reach zero hours to go, by the end of the Sprint duration. Plot progress visually on a graph The beauty of this approach is that it's a numeric view of progress and can therefore be plotted visually on a graph. Plot the original estimates for the Sprint on one line, and the current estimates to complete on another line. When the actual line tracks below the original estimate line, you're on track. When it tracks higher, you're running behind. It really is as simple as that. Highly visual, instant feedback for the whole team. Annotate with key events I've also found it useful to annotate the graph with 'speech bubbles' describing key events along the way. This is a useful way to record significant events so they're not forgotten by the time of the Sprint review. It's also useful to communicate important things to management and stakeholders instead of producing a separate status report. Scrum highlights your problems - it doesn't solve them Using a burndown chart, when you spend one day on a task and discover a whole load of problems or effort you hadn't anticipated or estimated for, the estimate to complete jumps up, creating an all-too-visual indicator of the problem for all to see. When this happens early in a project, and/or on a large scale, believe me it's pretty scary! Suddenly you're not so sure about all this new-found visibility! It seemed like such a good idea at the time, but can you really stick *that* burndown chart on the wall?! True picture But you do gain one big advantage. One enourmous advantage. You get to see where the project really is, every day, in all its techni-colour glory! And when you hit problems in a project, you actually see them. And see them when you might just have time to do something about it. Next, finish when you said you would... Follow this series by email See also: 10 Key Principles of Agile Software Development How to implement Scrum in 10 easy steps: - Step #1: Get your backlog in order! - Step #2: How to estimate your product backlog - Step #3: Sprint Planning/clarify requirements - Step #4: Sprint Planning/estimate tasks - Step #5: Create a collaborative workspace - Step #6: Sprint! - Step #7: Stand up and be counted! - Step #8: Track progress with a daily burndown chart - Step #9: Finish when you said you would - Step #10: Review, reflect, repeat... Read the full Story >>
Set as favorite
Bookmark
Email this
Hits: 3976 Comments (0)
|
| < Prev | Next > |
|---|
Agile Marketplace - Announcements and Special Offers
White Paper: Code Review IS an Agile Process!
Peer code review is one of the most effective ways to improve Software Quality – but is it Agile? Done correctly, it absolutely is. This white paper tells you how.
Download Today!
Virtual Conference: Collabnet Agile ALM
Stay current by attending CollabNet’s virtual conference, Agile ALM for Distributed Development, Thursday, April 15, from 7:30 am to 3:30 pm PDT. Free registration.
Register Today!
Webcast: Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!
Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial
Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper
PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now



