I get a lot of questions about the future of Visual Studio; while I can't talk about everything we're doing I am excited because today at Teched North America, I announced our vision for Application Lifecycle Management (ALM) in the next version of Visual Studio. Our vision for ALM can be broken down into three main themes:
- Building on the momentum of Visual Studio 2010. If you haven’t tried out Visual Studio 2010, you can take it out for a test drive.
- Accelerating agile adoption – you can find great existing support today with more to come.
- Linking development and operations – ensuring a tight interaction between dev and ops.
When we asked people what the biggest problem they faced in successfully delivering software, they identified the need for better collaboration. We know that building software takes a team of people including developers, testers, architects, project planners, and more. Out of this observation, we created the strategy for our ALM offering which focuses on helping people collaborate in very tightly integrated ways:
- Collaboration – focus on the flow of value between team members no matter what role.
- Actionable Feedback – when feedback is required between team members, it should be in a form which is directly applicable to solving the problem at hand. For example when a tester communicates a defect to development it should include videos, screen shots, configuration information, and even an IntelliTrace log making it easier to find and fix the root problem.
- Diverse Work Styles – provide the best possible tool for each team member whether that is the Visual Studio IDE, the web browser, SharePoint, Office, or dedicated tooling.
- Transparent Agile Processes – Enable all of the above to work on a “single source of truth” from engineering tasks through project status. TFS provides this core that brings together all team members and their tools.
VS2005, VS2008, and VS2010 have all delivered new value following this path. For example VS2010 added deep Architect <-> Developer and Test <-> Developer interaction through solutions like architectural discovery, layering enforcement, automated testing, and IntelliTrace.
In the keynote today, I talked about how we have continued on this path by incorporating two additional important roles: stakeholders and operations. Even though this diagram greatly simplifies the flows throughout the application lifecycle, it captures the essence of planning, building, and managing software:
There are a number of scenarios that span the next version of Visual Studio for ALM. These scenarios improve the creation, maintenance and support of software solutions by focusing on improving the workflow across the entire team as well as across the entire lifecycle.
- Agile Planning Tools – create transparency across the planning process and full team participation through solutions like the new backlog and task board.
- Lightweight Requirements – a natural way to capture and receive feedback on requirements early in the process.
- Stakeholder Feedback – working code which matches the expectations of stakeholders.
- Continuous Testing – unit test coverage ensures quality in the final product.
- Agile Quality Assurance – increased code quality with code review support, enhanced unit testing frameworks and new exploratory testing support.
- Enhanced User Experience – more time ‘in the zone’, through improved experiences for day-to-day tasks.
- Aligning Development with Operations – increased connections and insight between the operations and development teams lowering the time it takes to fix a bug in production.
Here are just a few of the screenshots from the demos today – a link to my keynote is below.
Planning a successful release requires making a lot of tradeoffs. We need to decide what core customer problems we want to solve and in what priority (product backlog). We only have so many resources available to us which must be factored in (capacity planning). Once we’ve determined what comes next we actually have to plan out the work (sprint planning). Finally we need to track our progress against the plan and make adjustments as we go (managing tasks). With Visual Studio vNext we have introduced a new web based interface that implements the scrum model providing solutions for all of these issues. Because the solution is built on TFS, the data is easily accessed in your favorite tool of choice. You can see some examples here:
How often have you built exactly what the customer asked for but not what they wanted? In general customers are working hard to provide their requests and the engineering team is working equally hard to make them happy. At the same time there are a lot of steps involved and each point can introduce the potential to diverge between the stakedholder and the engineering team. Visual Studio vNext provides a natural way to work through stakeholder feedback using something we are all familiar with, PowerPoint. Using the Storyboarding plug-in for PowerPoint the product owner can quickly mock up the solution and get feedback directly from the customer before impelmentation begins. Because the solution leverages PowerPoint, you can show linking between screens in your application, demonstrate user actions (like touch), and easily share your proposal. The following screen shots demonstrate some of these concepts:
The longer the time between a user asking for a feature and the team delivering, the more likely we are to see disconnects. Ideally we would get feedback on a regular basis to make sure what is being built is what was asked for. To help with this, Visual Studio vNext introduces a new feedback tool (based on the Test Professional support VS2010) which allows a product owner to use the new features and provide actionable feedback. The tool collects video and audio of the feedback session as well as the action logs (which can be turned into test cases). This kind of rich feedback done in a timely way keeps everyone in sync.
Having great unit test coverage is one of the best ways to ensure quality in the final product. With Visual Studio vNext we are enabling you to use your favorite unit testing framework integrated deeply into the IDE. We will support MS Test, xunit, and nunit with vNext. You will also be able to target both .NET and native C++ code. Adding test frameworks is an extensibility point as well so if you don’t see your favorite one listed here, you can easily add it.
Agile Quality Assurance
Once our new software has been finished by the development team we need to do our quality assurance passes. This will include a set of functional tests that can utilize the manual and coded testing features of VS2010. For Visual Studio vNext we also wanted to provide a way for a QA professional to explore the product and look for additional issues. The new Exploratory Testing tool provides a great way to do this. As you explore the product the tool records the entire session (audio and video), the action log of steps taken, etc. From the tool you can create a new test case, bug, take snapshots, and take detailed notes. The filtering tool also allows you to select the steps that led to finding a defect. All of these are examples of providing actionable feedback.
System Center and Visual Studio Team Foundation Server 2010
The relationship between the application development and the IT operations teams is critical. We’ve just released a CTP of the new connector between System Center and Visual Studio Team Foundation Server (TFS) 2010 that facilitates the alignment between development and operations. The connector enables an operations team to assign application performance monitoring and diagnostic information gathered by System Center to TFS for immediate attention and application incident triage by the engineering team. Using this support, the operations team can easily capture key data (like call stacks) and automatically deliver them to the engineering team (another example of actionable feedback). Microsoft will deliver a CTP of the new connector later today. Be sure to check it out and let us know what you think!
Find Out More
The “Visual Studio vNext: Application Lifecycle Management” whitepaper is available today. This is a comprehensive whitepaper that covers these topics in much more detail. I recommend you check it out, along with the Visual Studio Roadmap.
The best way to take advantage of the benefits of ALM is to start using Visual Studio 2010 today and obtain an MSDN subscription. Additional helpful links to get you started can be found on our websites:
- Visual Studio website – product information
- Visual Studio Dev Center – technical and community information
A video of my keynote will be available later on the Teched North America site: