In the next couple of posts, I’m going to dive into some of my favorite ALM features coming in Visual Studio 11. In this post, I’d like to first provide some framing on the larger context for the release, so you can see how these features fit in.
At each stage of the application lifecycle, it’s important to ensure that you’re accruing value to the customer. Any overhead or waste in the system detracts from this goal. By using the right development tools, you can create transparency between team members, reduce delivery cycle times, and accelerate the flow. With Visual Studio 11, we’re taking our Application Lifecycle Management solution to the next level by enabling stronger collaboration between functional teams and helping reduce waste at each stage of the product delivery. Let’s see what this means for each of the three stages below.
The project starts with defining the requirements. But communicating requirements from the customer to the engineering team is not always easy. How many times have you built exactly what was asked for, but not what was wanted? Your software has to connect all members of the project, using tools that they’re comfortable with. PowerPoint storyboarding is a natural solution for this. (More details coming in the next post.)
Setting out to start the project, there’s a lot of planning required and decisions to make. You need to decide what core customer problems you want to solve and in what priority (product backlog). You also need to check how this fits with your resources (capacity planning) and schedule the work (sprint planning). Finally you need to track progress against the plan and make adjustments as you go (managing tasks). Team Foundation Server 11 provides tools to help with all of these activities, and keep the project on track. I’ll show how this all works in an upcoming post.
The next phase of the cycle is building the software. During development, we want to make sure we eliminate drift and make the cycle faster. The longer the time between a feature request and the team delivering, the more likely disconnects become. Rather than wait a long time, when it becomes expensive to fix, we want to get feedback early and often. To help with this, Visual Studio 11 introduces a new feedback tool which allows the customer to collect video and audio of the feedback session as well as the action logs. This kind of rich feedback done in a timely way keeps everyone in sync.
In order to deliver high quality products, we need to assess and monitor along the way. Unit testing is a great way to ensure quality in the final product. (You can see my previous post on enhancements to unit testing in the Visual Studio 11 release.) Once the software has been finished by the development team, you need to do your quality assurance passes. For this, you can use the manual and coded testing features from VS 2010, as well as the new Exploratory Testing tools in Visual Studio 11 to help look for additional issues.
Now we get to the final stage of operating software and delivering its business value. This is where the relationship between the application development and the IT operations teams becomes critical. You need to be able to diagnose issues as they occur in production, and deploy new builds quickly to respond to customer needs. And again, each team needs to be able to work with tools they’re familiar and comfortable with.
In Visual Studio 11, we’ve taken a first step towards adding tools to operate software better. We’ve integrated Preemptive Analytics into the product, which provides production telemetry such as your top crash reports. We’ve also introduced the new management pack, which allows critical production issues detected by System Center to be immediately assigned to the development team with high quality diagnostic information via TFS and Visual Studio. This allows developers and operators to use familiar purpose built tools that still manage to talk to each other seamlessly.
I’ve included a video presentation below, where I talk about these concepts further. I recommend viewing to gain a deeper understanding of the themes discussed in this post, and our Microsoft vision for ALM.
The Visual Studio 11 ALM feature set marks an important step forward in enabling teams to work together more swiftly. However, we also know we’re on a journey. Continuous value delivery means the development cycle doesn’t end for us either. We’re going to be thinking of new features every day, shipping Ultimate Feature Packs, and delivering the same value to you that you deliver to your customers.