Welcome to MSDN Blogs Sign in | Join | Help

Delivering the MSF Agile Mindset

I’m Randy Miller (also known as Granville Miller) and I am the Program Manager for MSF Agile, which is shipping with Visual Studio 2005 Team System. MSF Agile is the newest addition to the Microsoft Solutions Framework (MSF). It is a scenario-driven, context-based, agile software development process that utilizes many of the ideas embodied in Team System. This process incorporates proven practices developed at Microsoft around requirements, design, security, performance, and testing. These practices can help develop more robust applications, but they become less effective without the MSF Agile mindset.

Getting the Right Tools

Since MSF Agile is part of Visual Studio Team System, many of the elements necessary to adopt the agile mindset are baked into the tooling. One of the important elements of an agile software development process is complementary activities. These activities work together to produce a better result than each one could by itself. The goal of complementary activities is for one to provide feedback on the other.

Consider the activity of unit testing. Unit testing is an important part of allowing us to be able to make changes without fear of breaking other functionality. We run the unit tests before and after we make changes. However, how do we know if we have written enough unit tests? If we do not write enough unit tests, we may falsely believe that our changes do not break something when indeed they do. The confidence level that we need is determined by the impact of something breaking.

For mission or safety critical projects, for example, this impact could be quite dramatic. We need to be absolutely sure that if we change something, it will not break something else. To reach this level of assurance, unit testing is combined with code coverage in Visual Studio Team System. The code coverage threshold, one of many possible test thresholds, determines the percentage of the code that needs to be covered by unit tests. For mission or safety critical applications, this threshold would probably be quite high.

Another area where tooling helps us become more agile is through the division and assignment of work. Work items (such as a scenario, quality of service requirement, task, bug, and risk) track the work on a project as it is being completed. When the work is completed, iteration plans in Microsoft Excel or Microsoft Project allow the project manager to focus on something other than, “Are you done yet?” MSF Agile provides guidance for the extended development team, the business analyst, architect, developer, and tester.

Automated load and stress testing tools complement the quality of service work items that specify security, performance, load, and stress requirements. Scenarios depict the system as a set of stories. Models depict the solution and infrastructure architect. These models are synchronized or verified against the code or deployment environment respectively. The process shows you how to do iterative development in Microsoft Excel or Microsoft Project. Detailed activities guide the way to a more productive agile experience.

open a new project

Figure 1: Choose the MSF Agile process when creating a new team project

MSF Agile is not just the default process that ships with Visual Studio. The relationship between tooling and process goes much deeper than a book or website that is included in the box. This process guides people using the software development environment and the environment enacts the process. When you create a project and select to use MSF Agile, you immediately adopt the methodology across all pieces of your team project, including:

  • Work item types and their workflow
  • Check-in policies (These have to be configured manually)
  • Sharepoint document templates
  • Security settings
  • Process guidance
  • Queries and reports

 

Each member of the project has access to the project backlog stored in the work item database. Reports provide rapid information on the project’s velocity and remaining work. This environment was built to support the entire software development team on an agile software development project.

Reporting

Complementary activities are a way that people can provide feedback. The idea is that downstream activities help us to get better at the earlier activities. We may get feedback from other people or from our own learning in the subsequent activities. Either way, the feedback is provided through human interaction. On the next iteration, we can apply that learning to become better at building the software. This is one of the principles of MSF Agile.

Tooling can also provide helpful feedback. We use reports in MSF Agile projects to show remaining work, velocity, trend analysis of bugs, and progress toward our test thresholds (such as percentage of code unit tested). These reports move our understanding of the dynamics of the project from intuition to concrete understanding. They allow us to assess the progress of the project toward completion, our eventual goal.

remaining work report

Figure 2: Visual Studio Team System reports on the remaining work

The key to an agile software process is to provide a small number of reports that capture the dynamics of the project. A large number of reports may provide too much or conflicting information and thus be more noise than information. Good project managers track and act upon a small number of project indicators rather than a view that provides every detail of a project. This gives them better decision making leverage.

Reports don’t always paint the rosy picture that we would like them to. If a report provides bad news such as the project is going to take longer than expected, it is better to find this out early in the project rather than later. We must adjust our functionality or schedule. We may have to clear project roadblocks. The most important thing is to understand the difference between guiding and meddling. Perhaps this is the most important part of the Microsoft culture that MSF Agile strives to incorporate.

Key Points

Getting the right tools is the key to becoming more productive on any type of project. Visual Studio Team System integrates the work of the business analyst, project manager, architect, developer, and tester to provide an end-to-end, collaborative development platform for the entire development team. MSF Agile is an agile software development process that utilizes complementary activities and this advanced tooling to make your team as productive as possible.

Published Monday, February 07, 2005 2:05 PM by Team Foundation

Comments

# re: Delivering the MSF Agile Mindset

Are we likely to see this in any VS2005 beta some time soon?
Monday, February 07, 2005 3:26 PM by Ro Phelan

# re: Delivering the MSF Agile Mindset

Yes, the next Beta of Visual Studio Team System will have the latest version of MSF Agile.
Monday, February 07, 2005 3:45 PM by Randy Miller

# New Team System Stuff - 2005-02-07

Monday, February 07, 2005 4:25 PM by Rob Caron's Blog

# Delivering the MSF Agile Mindset

Wednesday, February 09, 2005 7:37 PM by Jeff Key

# re: Delivering the MSF Agile Mindset

Does the next Beta of VSTS also include MSF Formal which will help address company interested in CMMI Level 3?
Saturday, February 19, 2005 7:53 AM by Chris Ong

# re: Delivering the MSF Agile Mindset

No, MSF for CMMI Process Improvement (MSF Formal) will not be in it. I suspect that you will see something around the TechEd timeframe.
Monday, February 21, 2005 10:04 AM by Randy Miller

# Randy Miller to speak at Atlanta SPIN on July 20th

Randy Miller is a program manager in the Visual Studio 2005 Team System group. He has been at the forefront...
Friday, June 17, 2005 9:50 AM by Pla.NET Southeast!

# Randy Miller from Microsoft to talk in Atlanta on MSF Agile

Randy Miller is a program manager in the Visual Studio 2005 Team System group. He has been at the forefront...
Monday, July 18, 2005 12:19 PM by Kirk Allen Evans' Blog

# Employment Wages » Team Foundation’s WebLog : Delivering the MSF Agile Mindset

# Team Foundation s WebLog Delivering the MSF Agile Mindset | unemployment office

Anonymous comments are disabled
 
Page view tracker