Upload
svictoria
View
1.176
Download
0
Embed Size (px)
DESCRIPTION
This guide will provide you with a comprehensive overview on why VSTS is vital across all phases of product life-cycle management. It will also help you to better understand how you can rationalize development costs, gain higher product quality and accelerate development cycles with VSTS.
Citation preview
Five reasons to Integrate Microsoft® Visual Studio® Team System Theory and Practice
Software Development Life Cycle Management Series
The paradigm complexities of the constantly changing requirements in the software life-cycle require a superior level of communication across highly specialized roles that are often distributed geographically. To succeed in distributed development, technology companies have to leverage next-generation development tools, which provide end-to-end project planning, tracking, development, building, testing, and reporting.
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
This white paper brings a number of best practices on leveraging Microsoft Visual Studio Team System 2005 across all phases of the product life-cycle to enable software companies to rationalize development costs, gain higher product quality, and accelerate development cycles.
Table of Contents
Executive Summary ................................................................................................. 3
Introduction ............................................................................................................ 3
What Software Developers Concerned About ............................................................ 4
Can Visual Studio Team System help? ...................................................................... 5
Top Five Benefits of Leveraging VSTS for Software Engineering ................................. 6
Top Five Technology Enablers of Using VSTS for Software Engineering ...................... 7
Top Five VSTS Differentiators................................................................................... 8
In short about VSTS Architecture ............................................................................. 9
Practical Sample of VSTS Usage ............................................................................. 11
Customer Summary ............................................................................................................ 11
Dive Into the Problem ........................................................................................................ 11
Five Steps of Implementation .............................................................................................. 11
Measure of Success ............................................................................................................ 12
Summary .............................................................................................................. 12
References ............................................................................................................ 13
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
Executive Summary
Rising software complexity and rapidly evolving markets force software companies to meet the needs of a
fast-changing world. Technology leaders not only have to write more complex software, they have to do it
faster, too.
Limited integration of software development environments, lack of standardization of software development
processes, and lack of visibility to development processes prevent R&D organizations from rapid delivery of
quality applications.
One of the key challenges daunting the software development industry today is the effective integration of
Software Development Life Cycle (Design, Build, Test, Deploy, and Maintain) and Project Management in the
context of outsourced product development.
Inefficient collaboration across stakeholders in a distributed development environment results in loss of
quality, and eventually leads to increased project overrun and administrative costs, deferred development
cycles, lost revenues, and diminished profit margins.
To succeed, software companies need tools and best practices that accelerate the development process to
maintain and extend existing code as well as to develop and deploy new code—while tightly managing the
costs associated with numerous members of your development team spread out across multiple locations.
When location related cultural and organizational differences intervene, collaboration among team
members becomes even more integral to ensuring the success of your application development efforts.
The Gartner Group
Introduction
Every software development company faces the necessity of a project management toolset. And everyone
who worked on a process automation project knows how complicated the task is. Automation of just one
simple process requires modification and customization of ten others. Each of those ten has a comparable
number of connections. The number of tasks expands like an avalanche.
Selection of a commercial process automation tool is also complicated. Very few companies can say that a tool
exactly fits their processes. There are two ways to ―marry‖ the tool and real process: customize the tool, or
change processes. Usually, the companies decide to go in both directions: some processes are customized,
some are accepted.
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
We understand the actual state of this problem. Only big companies can invest a big amount of money into
automatization of development process. And as a result - new systems don‘t cover all company‘s needs.
The process should be flexible to correspond with changeable world. We understand this and found the most
effective tool, that allows us to adopt automation system to our needs.
We have waited for at least a beta version of Visual Studio Team System (VSTS) from Microsoft since early
2005. We expected that this would be the system that would likely satisfy our requirements; when we
succeeded in trying it, we were not disappointed. The system was 90% as good as we expected. Moreover, it
had some additional functions, such as the ability to have as many life-cycles as needed; supreme ability for
extension and integration with other (not only Microsoft) products; top-level customer service. The ideology of
the system is also very beneficial. The management tool integrated with the developers‘ environment makes
the resistance of users to a new system minimal. It really saves time when switching between applications,
and it makes reporting—a task unloved by—almost unnoticeable.
One major factor stands out. The significance of this factor is higher than any other. Using VSTS leverages the
level of our outsourcing business greatly. Since Visual Studio is considered to be an industry standard for all
Microsoft developers, we are able to provide a supreme level of integration with our customers. Members of
distributed teams located in different offices, countries, and even continents can work as if they were in one
room and even more efficiently. VSTS provides tremendous abilities for project monitoring and management.
This document will help you understand what VSTS is, how you can use it in-house, and how helpful it is in
software development outsourcing.
What Software Developers Concerned About
When it comes to product life-cycle management, there are several primary objectives:
Shorten time-to-market timeframes Software companies should rapidly narrow the gap between what the customer needs and what the
software delivers by increasing functionality, adaptability, usability, and manageability.
Deliver increased product feature sets There should be a strategic release management plan that optimizes usage of the product engineering
and QA team.
Improve product quality Software companies may use the testing and validation services of an independent team with specialized
skills that stays focused on delivering a zero-defect product.
Constantly increase software development efficiencies To succeed in the next economic cycle in the software business, companies have to increase efficiency
and productivity, as well as create and consolidate software assets into reusable components and blocks.
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
Increase market share and customer/partner retention by focusing on the strategic activities and the core business Software companies can leverage a thoughtful and balanced offshore strategy across the entire product
life-cycle to keep key people focused on strategic activities such as product management, marketing,
sales, and customer service.
Application development organizations engaged in distributed development environments should press
vendors for toolsets that mitigate the risks of global, collaborative application delivery.
The Gartner Group
Can Visual Studio Team System help?
Historically, Microsoft has left team development tools such as source control and engineering life cycle
management to third parties but has provided a good framework under Visual Studio to integrate all these
facets. However, the recent acquisition of Rational Software by IBM has triggered interest within Microsoft to
build up its stack in all the areas of engineering life-cycle management and team development.
The main theme under which Microsoft has evolved its development platform continues to be productivity.
Microsoft defines this as Personalized Productivity, where it has gone beyond developers and created tools to
support other roles in the software development process like architects (covering both Application and IT
architects), designers, testers, and project managers. The objective is to separate these roles efficiently and
provide appropriate personalized tools to streamline their work and integrate it into the mainstream.
By wiring VSTS into Visual Studio, Microsoft transformed its toolset into an instant and consistent enterprise
development system of surprisingly little complexity.
The transparent, constantly circulating life-cycle model of application development, deployment, and
maintenance challenges comprehension, much less implementation. But Team System, as implemented by the
assembled components of Visual Studio 2005 Team Suite, bypasses that problem for small and medium-sized
development teams: it handles the paradigm complexities while your people focus on their jobs.
Whether through globalization or outsourcing, global resourcing will no longer be an optional strategy [for
ISVs] by 2007/08.
Dean Davison, META Group
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
Top Five Benefits of Leveraging VSTS for Software Engineering
As projects and portfolios of applications become increasingly more complex, new tools and best practices are
required to streamline costs and timelines.
Top Five Benefits
1.Improved productivity An Integrated Development Environment (IDE) such as VSTS
provides your organization with end-to-end project planning,
tracking, development, building, testing and reporting. It provides
development tools that support increasingly complex development
across distributed teams.
2. Automation Automate all the repetitive tasks like daily builds and reports.
3. Reduce project overrun
costs
Adjust plans quickly to mitigate overrun costs. Proactively report
across the entire systems development life-cycle to enable project
managers and other decision-makers to react with greater
confidence as they track and monitor their projects.
4. Low administration
overhead and reduced
training costs
Minimize administration with enterprise-grade change management
systems that are highly automated. Leverage familiar tools such as
Visual Studio, Outlook, Excel, and Project to interact with SDLC
tools, making training an incremental exercise for most users.
5. Improved compliance
with industry regulations
and quality initiatives.
Execute General Computing Controls and General Application
Controls directives for SOX compliance. Deliver projects on time
while also abiding by quality standards and other compliance
initiatives, such as HIPPA, SOX, and CMMI.
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
Top Five Technology Enablers of Using VSTS for Software Engineering
Top Five Technology Enablers
1. Enterprisequality change
management
Not just version control – true change management that enables
you to manage your team‘s work and to track tasks, defects, and
requirements related to that work. Provide scalable and reliable
support for large, distributed teams and projects with enterprise
dbms and Web Services as part of the supporting architecture. It
also ensures consistency through atomic check-ins, which that
eliminates the complications of partial check-ins.
2. Modular integration of
tools across the application
lifecycle
Tools that support a partner ecosystem through an object model
interface as well as through Web Services.
3. Automated and custom
reporting
Tools that promote visibility of vital project metrics throughout the
life-cycle. Collect data proactively on check-in, builds, tests, etc.
while including a wide range of common reports that can be
customized with standard RDBMs reporting tools. Generate project
portal automatically to simplify communication and visibility across
roles.
4. Flexible process support Processes that are easily customized to the way your organization
works – from organization-specific terminology used for phases of
the application life-cycle, to standard documents templates,
through definition of the workflow.
5. Out-of-the-box
integration with Project
and Excel
Integrate easily with the tools that project managers most
frequently use. Manage work items and monitor progress from
within the tools with which they
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
Top Five VSTS Differentiators
Top Five VSTS Differentiators
1. True integration across
version control, work item
tracking, build
management, and
reporting.
Team Foundation incorporates and integrates all the common
functionality to manage and track the health of projects. Rather
than cobbling together point products for version control, defect
tracking, or task management, you have them all working together
out-of-the-box.
2. Integrated build
experience
Integrated build management with the added ability to run tests as
part of the build. The Automated Build functionality even generates
reports from each build automatically, making it easy to report not
only on a particular build but also across sets of builds.
3. Shelving You‘ve been working for days on a bug fix or new feature, but
urgent priorities require that you temporarily move on to
something else. Shelving makes it easy to secure those assets in
Team Foundation without breaking the build. Shelving also enables
others to code review your work prior to check-in.
4. Customizable work item
tracking built-in
Work Item Tracking is an extensible system which supports
defects, requirements, tasks and any other actionable items your
organization defines. You have the freedom to customize existing
work item types or create your own. More importantly, you can
track progress against these work items, since team members can
easily associate work items with check-ins.
5. Automated check-in
Policies
Policy compliance is an integrated part of each check-in, so
managers no longer need to remind developers of agreed-upon
best practices and quality checks.
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
In short about VSTS Architecture
Below you can find a few screenshots that demonstrate architecture of VSTS and its services architecture.
VSTS Overview
VSTS Architecture
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
VSTS Architecture (Cont.)
Team Foundation Services Architecture
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
Practical Sample of VSTS Usage
One of the first our customer, which wanted to improve processes on the company was Softinform Inc.
Customer Summary
Softinform Inc. is a global software engineering services firm that provides specialized software product
development to software companies and information-driven enterprises. Company employs above 100
engineers in 3 offices located in different countries. Since the company provides services to other software
vendors, there is a need to have shared development environment with some of them. Areas of expertise
include .Net, J2EE, LAMP/Open Source and mobile/embedded technologies with services across software
product lifecycle including software design, development to maintenance, porting, and quality assurance.
Dive Into the Problem
Processes of Softinform Inc. were pretty well defined, but a lot of attempts to improve development approach
were not successful. Various automation tools, diverse documentation types were used. All these factors
demolished process itself. It was time to stop and review what company had. TeamExpand specialists
discovered that different applications were used to assign tasks, track bugs & requirements. Project
documentation was stored in different parts of the company‘s environment. Employees couldn‘t describe
completely what they were required to do after assignment on a particular role in a project.
Five Steps of Implementation
Our first requirement to Softinform managers was involving all employees of the company into the process
improvement. We decided to follow standard procedure of processes changing:
1. Our first step was team forming. There were employees from both TeamExpand and Softinform. They
were selected based on their experience and desire.
2. The second step was creation a vision of processes ―as is‖ – we examined Softinform employees with
different roles, created current vision of the processes. This vision was accepted by Softinform
managers.
3. The third step was improving and creation of a new vision of processes– ‗‗as desired‖. Lots of
discussions were at that time. Some changes were made and as a result we got a new vision of
Softinform processes.
4. The forth step was creation new process template for Microsoft Team Foundation Server and
customization of process guidance. As a part of this step we created automation environment for all
projects. The result included scope of task rules, bug workflow, source control, document storage,
process guidance, templates for build automation and coding verification
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
5. At the last step, we have prepared a training which should help all Softinform employees work more
efficiently and with higher quality.
Measure of Success
Recently, we have received a number of metrics from our client.
According to them
1. The number of late tasks decreased on 50%
2. The number of critical bugs decreased on 20%
3. Time spent by managers and developers on reports preparation decreased on 60%
Additionally
4. The company was able to create performance profiles for each developer. The assessment of
developers‘ professional level became easier
5. Most human mistakes were removed
6. Automation allowed Softinform find problems in code on early phases of development life cycle
7. The power of reporting significantly increased
The implementation of VSTS in Softinform Inc took 6 months. After that investment in VSTS system returned
during 4 months.
Summary
Visual Studio Team System provides a holistic solution for managing both the Engineering and the Project
Management processes. This reduces the loss of information within the team and at the same time gives the
project manager insights into the state of the project at any time throughout the lifecycle. We believe that it is
an effective tool, offering team productivity in addition to personalized productivity. We recommend that
enterprises evaluate VSTS with an eye toward adopting it.
Stem. Theory and Practice.
Five reasons to Integrate Microsoft® Visual Studio® Team System
Theory and Practice
© 2009 TeamExpand, LLC. http://www.teamexpand.com
References
1. [AgileOla] Beck, Kent, et al, The Agile Manifesto, 2001. Available online on May 24, 2005, at:
http://www.agilemanifesto.org
2. http://en.wikipedia.org/wiki/Rational_Software
3. http://en.wikipedia.org/wiki/Visual_Studio_Team_System
4. http://www.infoworld.com/pdf/special_report/2006/01SRtoy.pdf
5. August 4, 2006 InfoWorld Microsoft navigates the application development jungle. By Tom Yager
http://www.infoworld.com/Microsoft_Visual_Studio_2005/product_7126html?view=1&curNodeId=0
6. Gartner Research ―Application Development Is More Global Than Ever‖ by Partha Iyengar. November 17,
2004
7. ―Visual Studio 2005 and Team System‖ by Research Directions on Microsoft, Issue - November 2005
8. ―Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools‖ by Jack
GreenField and Keith Short, Wiley Publishing Inc., 2004
9. ―Global Outsourcing with Microsoft Visual Studio 2005 Team System‖ by Jamil Azher, Charles River
Media, 2006
10. ―Coping with a Revolution: Will the Internet Change Learning‖ by Neil Fleming: Lincoln University,
Canterbury, New Zealand