Five Reasons To Integrate Microsoft Visual Studio Team System

13
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.

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.

Transcript of Five Reasons To Integrate Microsoft Visual Studio Team System

Page 1: Five Reasons To Integrate Microsoft Visual Studio Team System

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.

Page 2: Five Reasons To Integrate Microsoft Visual Studio Team System

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

Page 3: Five Reasons To Integrate Microsoft Visual Studio Team System

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.

Page 4: Five Reasons To Integrate Microsoft Visual Studio Team System

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.

Page 5: Five Reasons To Integrate Microsoft Visual Studio Team System

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

Page 6: Five Reasons To Integrate Microsoft Visual Studio Team System

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.

Page 7: Five Reasons To Integrate Microsoft Visual Studio Team System

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

Page 8: Five Reasons To Integrate Microsoft Visual Studio Team System

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.

Page 9: Five Reasons To Integrate Microsoft Visual Studio Team System

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

Page 10: Five Reasons To Integrate Microsoft Visual Studio Team System

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

Page 11: Five Reasons To Integrate Microsoft Visual Studio Team System

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

Page 12: Five Reasons To Integrate Microsoft Visual Studio Team System

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.

Page 13: Five Reasons To Integrate Microsoft Visual Studio Team System

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