November 19, 2013 Leave a comment
November 19, 2013 5 Comments
Yes, of course you still need to plan – even when following some type of agile method. It still amazes me that so many organizations stop doing this. Some don’t it because they believe that agile means no planning and some don’t it because … well, there are so many other reasons. Is it really worth repeating? Maybe I’ll do another post about that, but for now, let’s look at one team established an intake process for new projects and made it simple yet effective.
Before our teams begin working on new projects, we need a way of ensuring that there’s a solid business case to do it and a clearly defined scope of features or benefits. Sounds like planning right? Well, you could say that but, actually it’s before we even start really planning; we’re evaluating, we’re justifying, we’re using the ROI (Return on Investment) model to ensure we are pursuing the right project in the right order (priority).
Let’s look at the scrum model for a moment. Each sprint starts with a fully formed group of user stories in the backlog that are “ready” for the team to start working on them right? Well, how do you know that those stories are really the right ones to pick up next? We started by tracking backwards from the backlog to build a process the supported how we were working and kept us in an iterative learning state of mind. The image here shows the process or workflow that we are using.
The Product Owner is constantly evaluating current progress against the backlog of new ideas. Once they have something to present, they prepare a proposal that includes key data points of their research and ideas in the form of business justification and benefits to the company and our consumers. We ask for 1-3 sentences describing the end result of the project. It should address questions like “Why are we doing this?”, “What is current problem statement or potential improvement and what is the expected outcome at the end of this project?” Along with this justification, we also ask the Product Owner to detail the benefits to the company and/or our consumers by providing either target or concrete goals for the project that fall into categories like Cost Reduction, Revenue Generation, UV Lift, PV Lift, Brand Lift or Efficiency Gain.
This provides everyone reviewing the proposal a clear understanding of the why they may want to approve the project to be approved and funded.
If a proposal is approved, it is moved to a “Committed” state where the teams involved do a release planning session so that all the impacted teams (internal and external) are able to evaluate the size of the work and the interdependencies between team as well as other projects that my have higher priority to agree on a projected start date, completion date and estimated cost. Those data points are provided back to the approvers to ensure that the ROI is still positive. If everything still looks good, we move the project to “Ready” and each team picks up user stories from the Product Owner for their sprint planning sessions.
Not every project begins immediately after the release planning is completed but we try not to allow too much time between the session and the project actually starting. There are cases where a proposal is approved but it’s low enough on the project priority that it could be months before we are able to start working on it so we delay the release planning to be closer to the start date. We move the project to “In Flight” once work begins and place it in “Deferred” status when and if the project is put on hold.
Notice that even after a project is moved to “Complete” it’s not all the way through the project workflow. This was an important step in iterative learning and decision making that we added after a few months running the projects through the workflow.
Some of our project leads were reporting that even when the final production installation was completed, the benefits that were expected from the project would not be true until several weeks or months afterwards. And no one was going back to evaluate the results of the completed projects to verify that the benefits had actually been achieved and to what degree. That was the beginning of our Project Retrospectives.
If you think about how Scrum teams do team retrospectives to determine what changes were working and which ones weren’t it makes total sense that as a business, you’d want to do the same with projects. Every month, we began retrospecting about each project that was completed in the prior month. The team members were encouraged to present the results and we started to see improvements in several areas not just in the new project submissions but also in the cross pollination of product knowledge across the organization that did not have a venue in the past. People were curious about why we were doing certain projects and now they had a space to hear the results, see the bigger picture and feel how each of them were part of the overall goals.
Once we completed the retrospective for a project, we move it to “Benefits Realized” adding the results so that we can reference it in future project proposals. Here is a template that was used for each project retrospective. Note that our company uses the capitalization accounting practice so it’s also evaluated.
Agility is about the ability to react quickly when necessary and appropriate. So yes, we plan and we are still Agile. We use the intake workflow to keep us in the cycle of learning and adapting. We’ll likely make adjustments as we evolve as a team but for now, this is reminding us to keep watching if we’re going in the right direction and allow the agility of the teams to respond as we learn and adjust our business roadmap.
August 19, 2011 5 Comments
- Break the meeting scheduled in calendarto explicitly time box the Sprint close from the Retro (maybe two separate meetings in calendar)
- Have a set agenda posted along with detailed descriptions as noted below (Customize as you like as a team) for the Sprint Close out and Retro sessions as a reminder of the flow of the meeting. Posters or even a wiki page with the info is good.
- Move any retrospective item that you accomplished in the last sprint from the improvements/retro poster to a “completed improvements” poster so you can reference things you did and agreed to do over time.
Sample agendas for the last day of the sprint:
- Team Prep Night before Sprint Close out
- Remind the team to close out any task(s) that they completed in advance so that all you have to do during the Review meeting is do the QUICK CLOSE on any stories with zero remaining hours at the story level. This will set status to Done and zero out the remaining hours of the task in one click
- Confirm any unfinished tasks/tests that are not done, update the remaining hours, make the task estimate the same number as the new remaining hours number (this helps with capacity planning for the next sprint)
- 930-10am Sprint Review and Close out
- Confirm which story and defect is complete (QUICK CLOSE the story)
- SPLIT any partially completed story to move the unfinished tasks/tests to the next sprint and then
- CLOSE SPRINT
- After everything is done (sprint closed and new sprint activated), this is when you can move into the RETRO section to talk through why the team is completing more or less story points each sprint. If an idea comes up during this discussion, this is a perfect time to slide into the Retro portion of the day
- 10am-11am Sprint Retrospective
- Review the VELOCITY TREND report on the Sprint Planning/Sprint Scheduling section and discuss what the team is doing that is causing the trending to be what it is. Are there some improvements they could be making to improve it? Are there some things that the team is doing that is making a positive difference to the trending?
- Look at the Retro poster (or wiki) to see what improvements the team has talked about in the past. Are there new ideas to add? Has the team completed some of the items already? CELEBRATE them!
- Vote on which item(s) the team would like to tackle in the next sprint. Maybe there is more than one that can be accomplished?
- Add a story card to your sprint backlog for each item the team agrees they want to add and assign the owner(s) that will be responsible for doing the work it will take to make the improvement and/or providing updates on it throughout the sprint as requested.
11-Noon Product Owner/Scrum Master Prep Session
- Add new stories to the sprint backlog that should be considered in sprint planning
- Remove stories that should be moved out of the sprint
- Review any blocks, issues or impediments to resolve them or pull stories out of the sprint if they are not resolved yet
- Prioritize the sprint backlog (will review again with team at the sprint planning session)
- If time permits, plan out the stories a few sprints ahead as a “request” to the delivery team and to assist with forecasting/scheduling
- 1-1:45pm – Story walk through and Estimation
- Product Owner walks team through the stories they would like to consider for the sprint, should include the story description, user acceptance criteria and stop to add more detail or to explain any new stories that need additional information so that the team will be able to size/estimate the story
- Team members “sign up” for stories they would like to work on (add themselves to the OWNER field on each story)
- Team sizes each story after all have been reviewed based on relative sizing technique (“smaller than this, bigger than that”)
- 1:45p-3:45pm – Story Detailed Planning
- This time is informal and time to self-organize!
- People tend to group together as needed by story to detailed out the tasks that each person will be doing on each story, entering the tasks/tests as they discuss and then estimating the hours for their work
- Each team member should look at the Sprint Planning/Member Planning page to see who is over allocated based on their assigned work against their offered capacity. Talk to other team members to help them out by discussing how to spread the work more evenly across the team.
- 3:45p-4:30p – Sprint Plan Commitment and Kickoff
- Review the Sprint Planning/Member Planning to ensure no one is over allocated
- Review the total story points planned for the sprint – Is it higher than the trending velocity? It’s ok to go a little higher if work was partially finished in the last few sprints but the completed story points were low because of splitting. Just remember to keep your new sprint somewhere between what you did and what you planned last time so you have a better chance of doing it!
- Do a fist of five vote on the final sprint plan and you are ready to kick off the sprint!