Agile is everywhere, whether you are already working with agile methodologies or you are still trying to figure out if agile is a fit for your projects, register for the Agile Software Delivery Simulcast with Sam Guckenheimer, November 10th in Mississauga, Ontario. If you enjoyed his QA webcast on agile testing, you will really enjoy this opportunity to hear Sam in person! Sam’s new book “Agile Software Engineering with Visual Studio” will be published this fall. As a special treat, the first 20 attendees who register will receive a copy of Sam’s new book. If you can’t attend in person, you can still join in by signing up for the Align IT Manager Tech Talk Series which includes the live webcast of this discussion with Sam. Don’t forget all of the Tech Talks will be recorded and available through the Align IT Talk Show site coming soon!
More and more organizations are moving to Agile methodologies for their Application Lifecycle Management. Of course there are different Agile methodologies to choose from such as SCRUM, and Extreme Programming. But regardless of the methodology you choose they all follow the basic Agile Manifesto
Of course that doesn’t mean we ignore processes and tools, or documentation, or following a plan, it just means we value the items listed on the left more than the items listed on the right.
Business is demanding less waste, budgets are being cut, business opportunities disappear quickly. We have to be quick, but we have to be careful not to hurry. Using Agile you can deliver value early and often. You deliver working software in every iteration, you have regular discussions with stakeholders, and you maximize your Return on Investment. It’s no wonder 35% of managers say they are doing Agile development. With Agile gaining more and more momentum, the Visual Studio team has continued to improve the support for ALM in the Visual Studio toolset.
Agile teams plan at two levels: release and iteration. Release planning defines the broad set of features or user stories. This defines your backlog and each feature is stacked, estimated and assigned to an iteration or sprint. At the release level, you don’t estimate the number of hours to develop, you assign relative scales, for example 10 is a lot of work, 2 is relatively little work. The intention is to get a rough sense of the magnitude of work for the different items in your backlog. When you plan an iteration, you go into more detail. You take your high level user stories and break them down into smaller stories and define the tasks required to complete those stories. It’s at this stage you estimate the hours for the tasks or stories so you can get a sense of the work for a single iteration.
Visual Studio 2010 TFS allows you to use a process template to define work items. A work item could be a user story or a task. There are other predefined work items as well, and if those don’t meet your needs the work items can be customized, or you can create your own work items. You can even define parent and child work items. Each work item can be assigned to an iteration. You can track your backlog with worksheets or by adding work items, and assigning the items to iterations. You can easily see the backlog of your user stories and see which stories are assigned to iterations using queries and reports. Team members working on a user story can update the user story and work items right inside Visual Studio.
Agile teams spend a fair bit of time adding new user stories, estimating user stories and prioritizing user stories. Project managers are keeping an eye on the status of the release. Worksheets allow you to get a quick handle on the iterations. Project managers also do a lot of capacity planning figuring out what features can be completed in various iterations. Determining capacity will depend on your velocity, the velocity is basically how much work a team can do in an iteration. The more iterations you do, the more accurately you will know your velocity. Visual Studio 2010 includes a capacity planning spreadsheet which can pull historical data from the data warehouse to help you determine your velocity to help you plan each iteration. You can specify date ranges for iterations, number of team members and any interruptions such as holidays. You can compare the estimated work to your capacity and then move user stories as needed to get the right allocation.
Of course you will want lots of reports so you can keep track of progress or any tasks that weren’t completed. Visual Studio 2010 offers lots of great reports and charts like the Burn Down Chart which shows you hours of work completed, hours of work remaining and rate of progress, or the Remaining Work Report which helps you assess progress and make changes as necessary.
And that’s just Visual Studio 2010! There is even more to come for ALM support in the next release of Visual Studio! But as much as I care about ALM and Visual Studio, I can assure you Sam knows way more about this than I do! Sam is the product planner for Microsoft Visual Studio and brings with him 28 years of experience as an architect, developer, tester, and product manager. So don’t miss out on a chance to see him in person. Register today!