Phase 4 Visual Studio Agile Deployment Assessment

Visual Studio Agile Deployment Assessment
Deliverable Template
Developer Tools Deployment Planning Services
Page i
Visual Studio Agility Plan Template, Version 1, 2013.10
1
Getting the Most from Your Agile Plan ....................................................................... 2
1.1
2
Give Microsoft Feedback ........................................................................................................ 2
Executive Summary ................................................................................................... 3
2.1
Background ............................................................................................................................. 4
2.2
Current Situation ..................................................................................................................... 5
2.3
Bottlenecks ............................................................................................................................. 5
2.4
Recommendations .................................................................................................................. 5
2.5
Agile Practices Summary........................................................................................................ 6
2.6
Existing Best Practices ........................................................................................................... 7
2.7
Existing Hindering Practices ................................................................................................... 7
2.8
Key Areas for Improvement .................................................................................................... 8
2.8.1
Current State – Urgent Issues ............................................................................................ 8
2.8.2
Current State - Additional Issues ........................................................................................ 9
3
Roadmap to Agile Maturity ...................................................................................... 10
4
Agile Maturity Model............................................................................................... 11
5
Current vs. Ideal State.............................................................................................. 12
6
Roadmap ................................................................................................................. 13
First Iteration.................................................................................................................................. 13
Second iteration ............................................................................................................................ 15
7
Detailed findings on Agile Planning .......................................................................... 17
8
Resources ................................................................................................................ 22
9
Conclusion ............................................................................................................... 24
Page ii
Visual Studio Agility Plan Template, Version 1, 2013.10
1
Getting the Most from Your Agile Plan
Guidance: This template includes guidance blocks and wording examples. Prior to handing over the
document, remove the guidance blocks (like this one) and replace any highlighted sample text in
<brackets> with your findings and recommendations.
Our recommendations for optimizing the agile practices and tools in your environment are detailed
within this document. Please take your time to review the findings and ask any follow-up questions
necessary. Depending on the capabilities of your teams and organization, you may elect to try the Agile
improvements in-house or contract with an outside consultant. In either case, this plan should be given
to the party responsible for the work and used as an implementation guide.
1.1
Give Microsoft Feedback
This Planning Service has been provided as part of your Microsoft Software Assurance benefits. Please
use the link below to tell Microsoft about your experience with the engagement and any improvements
you would like to see made to it. The results of the survey will only be viewed by the Planning Services
team at Microsoft.
http://www.surveymonkey.com/s/dtdps_cs
Page ii
Visual Studio Agility Plan Template, Version 1, 2013.10
2
Executive Summary
Guidance: The audience for this section will be interested in being able to read and digest this
quickly. Keep the text in this section concise.
At the request of <Customer Name>, <Partner name> conducted Agile Planning Services with the
following objectives:








Understand the current software development process
Elicit the desired objectives for an agile implementation
Document existing Application Lifecycle Management (ALM) topology
Create a baseline measurement of the current Agile tools and capability
Uncover opportunities for improvement
Identify the most impactful areas to the business
Document ideal end-state for teams.
Generate and present a roadmap to <implement> <improve> Agile process using the Team
Foundation Server agile tools
The Application Lifecycle Management (ALM) model was used as a framework to develop a vision and
sustainable approach by which <Customer Name> can prioritize business investments that fuel business
growth. The engagement focused on understanding existing development and best agile processes and
recommending improvements. Technology, practices and people/knowledge requirements were then
identified to support the process.
Page iii
Visual Studio Agility Plan Template, Version 1, 2013.10
2.1
Background
The following issues with the current development capability were articulated at the start of the
assessment.
Guidance: https://www.scrum.org/Agility-Path





Quality issues
Team Communication
Project Visibility
Projects delivered cycles
Feature Requirements
The following business priorities were articulated at the start of the assessment.
Guidance: Agile Development
Application
Lifecycle
 Improve
qualityManagement with Visual Studio and Team Foundation Server
 Improve customer satisfaction
 Improve cycle time
The following Tools and Processes (Strategy) were articulated at the start of the assessment
Guidance: Application Lifecycle Management with Visual Studio and Team Foundation Server
Application
Lifecycle
Management
with Visual Studio and Team Foundation Server
 Usages
of current
agile tools
 Challenges that exist in the agile tools
 Knowledge of the available Team Foundation tools and practices
Page iv
Visual Studio Agility Plan Template, Version 1, 2013.10
2.2
Current Situation
Guidance: Briefly summarize the organization’s current situation and associated top issues. Identify a
high-level solution.
<Customer Name> is experiencing growth with new projects and teams. The main challenges they are
facing are due to inconsistences within the software development cycle. Having a reliable and proven
workflow will help <Customer Name> reduce the following issues that were captured during the
interview process.



2.3
There are inconsistences and unreliable software in place to meet customer needs
There is not a clear and understandable workflow between teams
There is unclear transparency and requirements
Bottlenecks
Guidance: Call out what bottleneck(s) might hinder an adoption of agile practices
During the interview process at <Customer Name> a few bottlenecks arose that would impact an Agile
adoption. Some of these bottlenecks are due to <Customer Name> requirements and external
constraints, while others are due to team or organizational issue that can be addressed in the following
ways:



2.4
<Customer Name> needs to have a high security model and workflow as the ready code moves
through the environment. This requirement however does slow the delivery and testing
practices as teams have a challenge accessing the environment.
<Customer Name> has to wait for external vendors for feedback. This slows the team’s abilities
to complete the story.
<Customer Name> does not have an automated software delivery pipeline to reduce the
manual and error prone deployment.
Recommendations
There are three main areas focus for the team to improve their software development practice. Please
see the Roadmap section below for a more detailed outline.



Improve Agile practices across all teams and business owners
Improve quality by defining the story, task, and definition of done
Improve team cycle time to meet the customer needs
Page v
Visual Studio Agility Plan Template, Version 1, 2013.10
2.5
Agile Practices Summary
Guidance: Call out what is the main practices that is being used. Scrum, Lean, Kanban, etc…
Software development becomes more complex to manage and create with an increasing number of
uncertainties. More companies are moving to empirical models to improve the economics of software
s
development cycles. All of these models have a similar theme, called the Agile Conesus.
 Flow of value, where the customer defines value
 Continual reduction of waste impeding flow
Application
Lifecycle enabling
Management
Visual to
Studio
and Team
Foundation
Server
 Transparency,
team’swith
members
continually
improve
the above
two
Agile is a practice that helps organizations reach their full potential. It fosters Individuals and team
interactions, delivering working software, customer collaboration, and responding to changes. The 12
principles outlined in the Manifesto for Agile Software Development guide display the core values of
Agile practices.
There is not a “one size fits all” to Agile practices. The Agile practice does use many frameworks to
achieve the core principles and to improve the ROI of software development. An organization can use
one or a combination of frameworks to meet software development demands. For example, Scrum may
be used for development team members while Kanban is being used for operations team members on
the development team.
Below is a quick summary of the main Agile practices typically used.
Scrum is a process that relies on transparency and trust to achieve tight feedback loops in order
to deliver the highest value software to the business. The Scrum framework provides a reliable
delivery cycle that allows business leaders and customers to forecast when features will become
available. This optimizes business investments by delivering working software to meet customer
and market needs. *the recommendations in this document are focused on Scrum.
Lean is a process that has fundamental values that are easy to remember but not always easy to
achieve. The main principals of Lean are Identify Value Streams, Reduction of Waste, and
Increase Delivery Flow. These three pillars of Lean provide a team and business with a more
agile framework. Having a streamlined “lean” process enables teams to react to changes and
requirements to meet the business and customer needs
Kanban is a workflow that relies on visual signals to manage “Work In Progress” (WIP) for
teams. The simple approach of Kanban provides the visual aid and framework that some teams
like operation and other department need to manage the flow of work. In conjunction with a
Scrum or Agile practice, Kanban can provide missing workflow for the whole team (Development
to Operations) to becoming more agile.
Page vi
Visual Studio Agility Plan Template, Version 1, 2013.10
We have found that <Customer Name> is mainly using a <Type of Agile Practice> model.
Fundamentally, <Customer Name> is heading in the positive direction towards agile practices. However
<Customer Name> are running into issues running <Type of Process> within a predominantly <Type of
Agile Practice>. The work that <Customer Name> has done to move towards an <Type of Process> is
exemplary and <Customer Name> is getting value from the new process.
2.6
Existing Best Practices
Our interviews surfaced the following Best Practices that are being used by teams at <Customer Name>.
These practices are:




Business Analysis: The client uses <XYZ tools> to manage all project requirements.
Requirements Management: By utilizing the capabilities of TFS, particularly the alerting
mechanism, which effectively and efficiently keeps all team up to date.
Test Team Organization: The use of virtualization for test environments.
Test Planning: Test plans are well defined and linked to project plans.
We recommend that these practices continue to be employed and are continuously evaluated and
improved in order to promote process optimization.
2.7
Existing Hindering Practices
Guidance: The purpose of the existing hindering practices are to point out the pain-points the
team is experiencing from the lack of Agile practices. The following are some examples.
Teams Dynamics:
s
There is currently very little communication between team members and a complete lack of selforganization exists. These in themselves are however not the root cause of the apathy that is
surrounding the teams. That is caused by the lethargy of the business towards the software and is
bleeding
over Lifecycle
to the teams
and is reflected
in the Studio
qualityand
of the
software
that it Server
produced.
Application
Management
with Visual
Team
Foundation
In order to move forward effectively you need to identify who you’re Product Owner really is and where
that role should sit. I would recommend that you appoint the most capable Project Coordinator and
make them the Product Owner for the business with all other Product Coordinators being the primary
stakeholders and filters for the rest of the business.
Page vii
Visual Studio Agility Plan Template, Version 1, 2013.10
Current State and Approach:
Your business is currently not accepting of agile process. You have a Release Manager that is providing a
protective bubble so that your teams do not need to concern themselves with the organizations
reporting and documentation needs. If you removed this person, it would be unlikely that you would be
able to deliver software without a major overhaul of the wider organizations business processes. As the
current trend is to increase the red-tape and not reduce it you must continue to utilize this role.
An overhaul of your existing business practices and a solution to the current disinterested attitude of
your business to IT and software development specifically would allow you to pop the agile bubble that
is surrounding your teams and roll agile and lean thinking out to the wider organization.
2.8
Key Areas for Improvement
2.8.1
Current State – Urgent Issues
During our onsite interviews, we uncovered the following practices that should be considered critical
and essential to improving the development capability in relation to their impact on the business. These
practices were:
Guidance: This will be the main points for the call to action
s


Lack of consistent quality: The current unpredictability in requirements and testing are the
leading causes of inconsistent quality.
Allowing the Development Team to select the stories: Managers are directing the work the
teams stories to be worked on in each sprint
 Definition
of Done
–The Agilewith
Planning
should
have
a short, measurable
checklist that
Application
Lifecycle
Management
VisualTemplate
Studio and
Team
Foundation
Server
mirrors shippable and is applied at least every Sprint. Start with where you currently are and
increase this as you identify quality improvement opportunities at each team’s retrospective.
Page viii
Visual Studio Agility Plan Template, Version 1, 2013.10

2.8.2
Actionable backlog – Use the principle of jidoka (“automation with a human touch”) to enable
development teams to refuse backlog items that do not meet a minimum standard for delivery.
Current State - Additional Issues
During the course of the assessment, we were able to identify additional issues that we believe are
having a material impact on Application Lifecycle Management within <Customer Name>. These include:

Requirements Management
o Requirements Analysis/UAT: By ensuring the UATs are made available early in the
project, the test team can incorporate them into the testing lifecycle. This should ensure
a smooth UAT process.
o Storyboarding: By providing clear and understandable requirement of the features
requested, defects are found early in the lifecycle and are cheaper to rectify than those
found later.
o Portfolio Management: Allowing the Product Owner to track project backlog items
across multiple teams provides the transparency that is required to ensure the project
are released at the correct time in production.

Technical Debt
o Technical Debt Analysis: Technical debit includes items that build silently overtime. The
cost of technical debt is not known in most organizations. The first step is to capturing
that data is to analyze the cost and priories the stories to ensure they get into the
Product backlog.
o Technical Debt Payback: Once the items have be identified and prioritized by the
Product Owner, the team will need to add these stories and task to the work planned.
Page ix
Visual Studio Agility Plan Template, Version 1, 2013.10
3
Roadmap to Agile Maturity
Guidance: This section will set the stage and workflow on how a company can move to an
advanced maturity model. The purpose of this section is to explain that the growth and road is not
a direct one and that we recommend the organizations have to have additional support as they
move into different states or levels.
The level of Agile maturity varies greatly between companies and the type of software being developed.
The goals outlined in the maturity level are not “one size fit all” solutions for companies and teams,
s
rather,
they provide a direction for maturing your software development cycle to meet the needs of the
businesses and customer.
The growth of a mature Agile practice is not a direct one. As the team becomes more efficient,
requirements
become refined
and testing
more
transparent,
andServer
there will be new areas
Application Lifecycle
Management
withresults
Visual become
Studio and
Team
Foundation
of concern that will emerge.
As Agile maturity levels move through the next stages, (for example, Doing Agile to Being Agile), some
common “growing pains” will begin to emerge. These common “growing pains” will be the best choices
for additional assessments and guidance to help assist with the transition for the business, teams, and
individuals.
Page x
Visual Studio Agility Plan Template, Version 1, 2013.10
4
Agile Maturity Model
The model below shows the different maturity levels of Agile at a board scale. Each company will show
different levels of Agile maturity as they perform their team’s daily workflow. Enhancing the workflow to
achieve the best possible Agile process throughout the enterprise should be the end goal of the team
and individual effort. This falls into the basic Agile census principals - Transparency, Reduction of Waste,
and Flow of Value - from the individual to the team and the business.
Level 1
Level 2
Level 3
Level 4
Ad-Hoc
Doing Agile
Being Agile
Culturally Agile
Sporadic
developments
cycles and lose Agile
practices
Agile practices are
established but lack
of common
approach and
consistency
between team and
initiatives
Following Agile
principles
repeatedly across all
initiatives to achieve
business and
customer goals
Adopting Agile
approaches at a
strategic Enterprise
level
Page xi
Visual Studio Agility Plan Template, Version 1, 2013.10
5
Current vs. Ideal State
Guidance: This section will give an overview of the current state of the organization and how it
matches with the maturity model and the organization’s Ideal State.
s
<Customer
Name> is currently at a Agile Maturity level of 2, “Doing Agile”. The team has some good
practices in place and the enthusiasm to achieve the “Being Agile” level.
Current Practices [Doing Agile]:
Application Lifecycle Management with Visual Studio and Team Foundation Server
 Agile practices are established, however there is a lack of common approaches and consistency
between team and initiatives
 Requirements are created but not defined in a digestible size for the team to complete in a 2 to
4 week timeframe
 Software delivery is still a manual process in most environments
 Testing is not consistent or automated
Ideal State [Being Agile]:




Repeatedly follow Agile principles across all initiatives to achieve business and customer goals
Have defined requirements from the business and customer, that are sized well, and prioritized
into a backlog that the teams can pull from to complete within a 2-4 week timeframe
Have an automated software delivery pipeline to all environments
Have an automated and consistent testing approach in all environments
Page xii
Visual Studio Agility Plan Template, Version 1, 2013.10
6
Roadmap
Based on our observations and discussions, we recommend that the following iterative roadmap be
implemented in order to understand and instill Agile best practices within the teams.
Please note that the areas for improvement mentioned in the prior section, which are marked as urgent,
may not be addressed immediately. In some cases, the foundations for improving a particular service
area will not be in place in the first or second iteration.
First Iteration
In the first iteration, the improvement areas listed below are set as the first items to be addressed first.
The main goal of the first iteration is to identify and review the actionable items for the team and
consult to review and plan on the course that would be beneficial.
1. Solve the lack of consistent quality
During the interview process, management echoed the need to improve the quality of the software
being delivered. In order to improve the quality, the business and technical team need to understand
the root cause of the lack of consistent quality. The key areas identified during the assessment were the
lack of a well-groomed backlog (making the backlog actionable) and requirements.
The Product Owner needs to take time to constantly maintain a well-groomed backlog for the next 3
sprints. This will allow the team to estimate those stories and give them time to see if anything needs
breaking down.
Current issue(s)
1.
2.
3.
4.
The team often defines stories during Sprint Planning
Many stories straddle many sprints making it impossible to attain a sustainable pace
The product owner is unable to use velocity to determine delivery schedules
The Team fails to deliver a Sprint Goal
Recommendation(s)
The Scrum Master should make sure that the stories in the backlog are ready just-in-time for Sprint
Planning and make sure that the Product Owner has the knowledge and tools in Team Foundation
Server necessary to provide an effective backlog. The Product Owner should spend at least 4-8 hours
grooming (making the backlog actionable) during the sprint.
2. Allow the Development Team to select the stories:
The Stories that are given and estimated by the Product Owner is a direct impact on quality and poor
communication within the team.
Page xiii
Visual Studio Agility Plan Template, Version 1, 2013.10
The content of the backlog is currently inconsistently formed and is not well understood by the team. If
the team poorly understands it then the Product Owner likely poorly understands it as well.
Current issue(s)
1.
2.
3.
4.
The teams are unable to estimate stories accurately
In sprint is when teams figure out that items are too big
The Team fails to deliver a Product Backlog Item or a Sprint Goal
The Team sees that Scrum is fundamentally not working and elects to abandon the process
Recommendation(s)

Use Storyboarding tool in Team Foundation Server to identify User Stories more effectively

Use INVEST to gauge the size and complexity of user stories

Write stories in the “As <usertype> I want <requirement> so that <reason>” format to allow
ease of understanding

Write acceptance criteria in the “GIVEN <truth> WHEN <criteria> THEN <result>” model to help
focus on the important aspects of the stories

If you end up with more than 3-4 Acceptance Criteria on a user story then it is probably too big

Have all Product Owners, Dev Leads and Managers attend an Agile Requirements Workshop
Development teams of 6+-3
In order to facilitate communication between team members the team size should be between 3 and 9
people, and you are currently within this threshold. (Too many people make it less likely for each team
member to remember what everyone is working on.)
3. Have a Definition of Done
The teams currently have very little understanding of Scrum, particularly the Definition of Done.
Current issue(s)
1.
Teams are not creating “working” software each sprint
2.
There is an exponential increase in the cost of fixing a problem
3.
Confusion and lack of commination increases within the teams
Recommendation(s)
Have all of the Team Members, Scrum masters, and Product Owners read the Scrum Guide and pass the
free Scrum Open assessment. This will demonstrate a basic knowledge of the rules.
Explaining the tools that are in Team Foundation Server to support the transparency of work.
Page xiv
Visual Studio Agility Plan Template, Version 1, 2013.10
Have the team and the Product Owner work together to define the Definition of Done. Have this
agreement in a visible place for all team members.
Second iteration
Once the critical issues are in progress, we recommended having a continuous improvement progress
check-in. After the first iteration, there is potential for the team to be overwhelmed with the number of
new process, tools, and changes. We thus recommend time for the team to “work on your own” after
the first iteration.
In the second iteration there may be additional items added to the backlog, as the team find additional
pain points as they continue to work through the new process.
1. Requirements Management
Environment availability and the requirement for the software development will need to be further
refined as to keep with the Agile Census model of Flow of Value, Continual Reduction of Waste, and
Transparency. This will also increase the ALM Maturity model by improving the core characteristics.
Current issue(s)



The team is not able to gain fast feedback on bugs
The team does not have a consistent delivery model
There is an increase in queue times (silent project killers) for the software development team
Recommendation(s)
The requirements management has been called out in the first iteration as a “Lack of consistent quality”.
In iteration two, the focus will be to highlight the tool(s) in Team Foundation Server that will assist in
creating fast feedback loops and decreasing the queue time created by manual processes.
Training on Storyboarding and the Portfolio Management tools and best practices will also assist the
Product Owner and the team in increasing transparency and the overall health of a project.
Training on Business Driven Development (BDD) tools and practices could also assist the Product Owner
and the team by bridging the requirements communication of a project.
Further, the build and deployment model is the backbone of continuous integration and delivery. By
bringing build and deployment into the Agile process, the team can then be extended to have a
consistent delivery model. The build and delivery can increate quality and decrease the costly and errorprone manual process.
Page xv
Visual Studio Agility Plan Template, Version 1, 2013.10
2. Technical Debt
Technical debt has a number of impacts on a team and organization. It is one of the leading causes of
paralysis within a team. There is a loss of connection and functionality resulting from poor code quality,
and a number of workaround costs which impact the whole team.
Current issue(s)



An increase in bugs and poor code base
Missed opportunities on current and improved architectural design
Team frustration and performance
Recommendation(s)
Having a plan to identifying the root cause of the technical debt is the first steps on preventing the team
on accruing more. As the new practices are being implemented, so should a way to deal with the
technical debt.
Implementing Team Foundation Server tools and providing training on them can help teams understand
how to gather information on technical debt in the software development cycle.
Page xvi
Visual Studio Agility Plan Template, Version 1, 2013.10
7
Detailed findings on Agile Planning
The detailed findings will indicate the maturity levels of each of the following discipline areas. The
findings provide a general estimate of the maturity level and the impact it is causing.
Requirements Engineering & User Experience Summary :
Elicitation
Maturity Level Rating:
Level 2
Impact Level Rating:
Medium
Requirements Analysis
Maturity Observations:
The proficiencies relative to any formal requirements analysis are
minimal but seemingly evolving. As the requirements group matures
and moves from a UI driven approach to more comprehensive
approach to requirements management, this should continue to
improve
Maturity Level Rating:
Level 2
Impact Level Rating:
Medium
Best Practices:
There are many emerging capabilities relative to this capability as the
resulting of the implementation of this new group and although the
requirements efforts are focused on elicitation, the feasibility to
implement this practice is well positioned for successful adoption
Maturity Observations:
There is minimal traceability present within the development lifecycle.
The QA group has established an initial level of traceability, but the
drivers of this should be clear so any commitment to this should be
value added for both the business and IT.
Maturity Level Rating:
Level 1
Impact Level Rating:
Medium
Traceability
Development Summary :
Development Understanding Requirements
Maturity Observations:
Clear requirement provides a more efficient method for teams to
estimate the effort of or the work requested.
Maturity Level Rating:
Level 2
Impact Level Rating:
High
Impact Observations:
The inconsistency in requirements influences the team ability to
estimate correctly and to complete stories and task in a given sprint.
The teams are spending up to 30% of their time have to clarify the
requirements for the software development
Lack of requirements is impacting the ability to truly measure code
quality in development and through-out the lifecycle.
Impact Benefits:
Team are highly encouraged to take ensure the project requirements
are well understood and defined before starting a sprint.
Better defined requirements will enable the team to become more
proficient, reliable, and increase quality of the software being delivered
Page xvii
Visual Studio Agility Plan Template, Version 1, 2013.10
Sprint Cycles
Maturity Observations:
There was minimal discovery of formal consistence sprints within the
development team. The team tries to have a 4-week sprint cycle but
slips as stories are not completed. The team decides to extend the
sprint out of the extra week/s to complete stories.
Maturity Level Rating:
Level 1
Impact Level Rating:
Medium
Impact Benefits:
Having a set sprint cycle provides the team, Product Owner, and
business a predicable flow of value.
The business can then measure the rate the development team can
delivery working software for marketing and customer request
Definition of Done
Maturity Observations:
None of these are currently in place
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Impact Benefits:
By having an agreed on definition of done by all team members
provides a solid understanding of when a tasks or stories is completed
of a sprint. The activity reduces the waste by having some team
member do more than they need to and other’s not enough to meet
the objectives
Software Configuration Management Summary :
Collaborative Development
Maturity Observations:
Collaborative Development is accomplished today by a complex set of
labels in the branching solution. Although concurrent development is
recommended, it usually is associated with a cost and a learning curve.
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Impact Observations:
Currently the customer is suffering; They are manually promoting code
from one environment to the next. To enable concurrent development
they have used a complex label process. Fixing this process will have
impact across the board in the release process.
Impact Benefits:
By simplify how concurrent development is accomplish, <Customer
name> can simplify the life of development and allow Release
Management more time to monitor highly valued aspects of the release
process
Version Control Repository
Maturity Observations:
Labels are currently being employed as a branching approach. This is
further complicated by the multiple and various CM systems (Version
Manager and VSS) The build management is done in source safe and it
is transferred via zip file to the VM system.
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Impact Observations:
There is a significant opportunity to be attained in this area. These
manual processes can be improved through automation through the
implementation of TFS.
Page xviii
Visual Studio Agility Plan Template, Version 1, 2013.10
Impact Benefits:
Unified version control with a code promotion process supported by the
tools will ultimately deliver significant value to the team. This includes
time saved in the day to day process and few mistakes that impact the
entire team.
Release Management
Maturity Observations:
A root cause analysis of the many quality challenges can be traced to
the manual involvement of the release process. Mistakes are known to
occur between labeling and the release of the code. This combined
with the lack of formal ownership of the release itself can create
potential chaos. No one person appears to be accountable for the
management of the release
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Build Management
Maturity Level Rating:
Level 2
Impact Level Rating:
High
Deployment & Operations Summary :
Deployment
Maturity Observations:
There are apparent gaps that further put quality at risk within the
deployment space. This is present with the management of the custom
application code. Practices such as not applying formal QA to custom
code or the practice of a custom team folding code back over a code
baseline significantly compromises quality.
The QA and Production environment do not use the same deployment
mechanism and therefore testing is not actually testing deployment
Maturity Level Rating:
Level 2
Impact Level Rating:
High
Impact Observations:
Allowing the deployment process to be tested in the natural course of
testing with provide further assurance that deployment will be a
smooth process.
Impact Benefits:
Reduced the deployment errors found in production by testing the
deployment process in QA.
Environment Management
Maturity Observations:
The multiple environments are managed through heroic efforts. The
testing and staging environments are not automatically synchronized,
and this creates risk in bug definition and tracking. Equally it creates
significant challenges in the management of the numerous PTF's
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Project Planning & Management Summary :
Project Monitoring and Control
Maturity Observations:
With the reactive management of the ongoing PTF fixes as well as the
seemingly lack of ownership of a release, there appears to be strong
opportunity to improve the project control of these efforts. The
introduction of formalized and standardized reporting should be a start
to the significant changes requisite for improvement
Page xix
Visual Studio Agility Plan Template, Version 1, 2013.10
Maturity Level Rating:
Level 1
Impact Level Rating:
Medium
Testing and Quality Assurance Summary :
Test Team Organization
Maturity Observations:
The test organization is independent and well-staffed.
Although the test leads are involved in the early stages of the
product, they do not have any input into the estimation.
Maturity Level Rating:
Level 2
Impact Level Rating:
Low
Impact Observations:
Virtualization is used in all test environments
Impact Benefits:
Reduced the deployment errors found in production by testing the
deployment process in QA.
Maturity Observations:
Consideration to the various functional and non-functional aspects of
testing are considered and catered for within test plans. Each test
phase has an associated test plan.
Although the time allocated to the stabilization period at the start of
projects is sufficient this is often reduced actuality if development slips.
The release dates are not often moved, rather testing is squeezed.
Maturity Level Rating:
Level 2
Impact Level Rating:
Low
Impact Observations:
The perceived level of quality is a big pain issue for the customer.
When stabilization windows are reduced the number of bugs found in
production increases and undermines the confidence of the customer's
client.
Impact Benefits:
Test plans are well defined and linked to project plans.
Maturity Observations:
There are varying levels of maturity being displayed. Of particular
significance are the lack of linkage between test cases and
requirements, the lack of an integrated defect management tool and
the lack of test case prioritization.
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Impact Observations:
Test case prioritization - This is essentially to ensure that the most
important tests are executed first. This takes on additional importance
when stabilization windows are reduced.
Requirements linking - The customers client is very critical of the lack
of visibility when it comes to which requirements are being tested.
Defect Management - The time expended using tools that are
integrated into the process is impacted both the testing and
development areas
Impact Benefits:
Test case prioritization - All test cases should be prioritized during the
test analysis phase, so that they accurately reflect the customer's
needs.
Test-Requirement Linking - Linking test cases to requirements is an
essential enabler of test/project tracking progress.
Defect Management - Using an integrated defect management system
will reduce unnecessary level of complexity and duplication
Test Planning
Test Management
Page xx
Visual Studio Agility Plan Template, Version 1, 2013.10
Defect management - Utilizing the capabilities within Microsoft Test
Manager and TFS would greatly reduce unnecessary duplication of
effort and complexity
Test Types
Maturity Observations:
Functional testing is performed at the most basic level.
Maturity Level Rating:
Level 1
Impact Level Rating:
High
Impact Observations:
The client has significant issues with the level of functional testing
currently performed.
Impact Benefits:
Improved functional testing will improve the overall quality and
increase the client's confidence with the customer. Defect management
- Utilizing the capabilities within Microsoft Test Manager and TFS would
greatly reduce unnecessary duplication of effort and complexity
Page xxi
Visual Studio Agility Plan Template, Version 1, 2013.10
8
Resources
The following is a list of very useful resources readily available to help deepen your knowledge and
understanding.
Testing with Visual Studio and TFS

ALM Rangers Guide – Test Release Management:
http://vsartestreleaseguide.codeplex.com/
This Visual Studio ALM Ranger project has the primary goal of delivering scenario based and handson guidance for managing Microsoft Test Manager Test plans.

ALM Rangers Guide – Visual Studio Test Tooling Guidance:
http://vsartesttoolingguide.codeplex.com/
This umbrella project delivers a range of practical and scenario based guidance for Visual Studio test
features, such as Coded UI, Microsoft Test Manager, IntelliTrace, and Microsoft Fakes.
Automated Build-Deploy-Test

Setting Up Automated Build-Deploy-Test Workflows:
http://msdn.microsoft.com/en-us/library/hh191495.aspx
You can use a build-deploy-test workflow to deploy and test your application when you run a build.
This lets you schedule and run the build, deployment, and testing of your application with one build
process. Build-deploy-test workflows work with Lab Management to deploy your applications to a
lab environment and run tests on them as part of the build process.

Visual Studio Team Foundation Build Customization Guidance:
http://vsarbuildguide.codeplex.com/
This Visual Studio ALM Ranger project has the primary goal of delivering scenario based and handson lab guidance for the customization and deployment of Team Foundation Build.
General ALM Resources

What’s new in Visual Studio 2013:
http://www.microsoft.com/visualstudio/eng/visual-studio-2013

Getting started with Application Lifecycle Management:
http://msdn.microsoft.com/en-US/library/vstudio/dd286491(v=vs.110)

Technical Articles for Visual Studio Application Lifecycle Management
http://msdn.microsoft.com/en-us/library/ee889983.aspx
Page xxii
Visual Studio Agility Plan Template, Version 1, 2013.10

Visual Studio ALM + Team Foundation Server Blog:
http://blogs.msdn.com/b/visualstudioalm/

Brian Harry’s Blog: Everything you want to know about Visual Studio ALM
http://blogs.msdn.com/b/bharry/

Microsoft Visual Studio Virtual Labs:
http://msdn.microsoft.com/en-US/vstudio/ff640662
Technical ALM Resources

Visual Studio 2013 Application Lifecycle Management Virtual Machine and Hands-on-Labs /
Demo Scripts:
http://blogs.msdn.com/b/briankel/archive/2013/08/02/visual-studio-2013-application-lifecyclemanagement-virtual-machine-and-hands-on-labs-demo-scripts.aspx

Team Foundation Server Migration and Integration Solutions:
http://msdn.microsoft.com/en-us/vstudio/bb840033

Visual Studio Team Foundation Server Planning Guide:
http://vsarplanningguide.codeplex.com/

Administer Team Foundation Server:
http://msdn.microsoft.com/en-us/library/ms181758.aspx

Visual Studio and MSDN Licensing White Paper:
http://www.microsoft.com/en-us/download/details.aspx?id=13350

TFS Update List of Feature in each versions:
http://tfs.visualstudio.com/news/release-archive

Visual Studio Capabilities Comparison:
http://www.microsoft.com/visualstudio/eng/products/compare

Visual Studio Forums:
http://go.microsoft.com/fwlink/?LinkId=294362

Visual Studio Developer Center:
http://msdn.microsoft.com/en-US/vstudio
Page xxiii
Visual Studio Agility Plan Template, Version 1, 2013.10
9
Conclusion
We recommend that the implementation of the practices outlined in this document be validated during
the initial deployment and as projects and teams are brought on board the system. Teams constantly
have to adapt and change their processes as the development environment changes around them. The
Team Foundation Server Agile Planning tools allow projects and workflows to be highly customized to
accommodate these changes.
To encompass all of the recommendations in this document, a schedule for all of the relevant tasks
should be created. Complete implementation and customization should be done by <Customer Name>
operations staff.
Page xxiv
Visual Studio Agility Plan Template, Version 1, 2013.10