Delivering High Quality Software Through Agile

Post on 21-Dec-2014

914 views 1 download

Tags:

description

Delivering high quality software is a risky undertaking. Development and Quality Assurance Managers are in a tight partnership over the war against software bugs. Software quality issues not only delay the time to market for a solution while increasing costs, but they also delay the subsequent benefits to the business. In a business world of increasing focus on compliance and control, Development and QA Managers must balance the need for agility against the reality of quality control. High quality software is the outcome of applying the combination of sound methodologies, best practices and supportive tooling. This session will outline how to deliver high quality software through Agile and will demonstrate how to apply its practices to your projects and having them supported through tools like Visual Studio and Team Foundation Server.

Transcript of Delivering High Quality Software Through Agile

Delivering High Quality Software Through Agile

John BristoweSr. Developer Evangelist

Microsoft Canada

Go from there…to here.

Process

Conventional Software Development

Plan everything early with high fidelity

Freeze requirements before design

Forbid coding prior to detailed design review

Process

Problems with the Conventional

Poorly understood, incomplete requirements

Little-to-no design

Delivery of wrong application

Poor performance and scalability

Little-to-no unit testing Tests delayed by broken builds

Compressed testingDefects found by customers.

Process

Average cost overrun

45%

Process

Average time overrun

63%

Process

Functionality delivered on average

67%

Process$59 billion in lost productivity in the US

Process64% of this cost is born by “end users”

ProcessWhy Agile?

Process

Forrester

Right now, 45% of developers and IT

professionals use agile methods

Gartner

By end of 2012, agile development

methods will be utilized in 80% of all

software development

projects.

Visual Studio and Team Foundation ServerThe ALM Enablement Platform

Ensure Quality Throughout the

Lifecycle Done “Right”

The “Right” Thing

The “Right” Way

End to End Alignment and

Visibility

Build For Change

Turn Business Ideas into Software

Implementing Process Through Tooling

UserStories

Tasks

Tests

Check-inTeam

Build

Build

Bug

BusinessAnalyst

Tester

Developer

Implementing Process Through Tooling

UserStories

Tasks

Tests

Check-in

Build

BusinessAnalyst

Tester

Developer

Bug

Developer

Non .Net

Implementing Process Through Tooling

Office

SharePoint

Team Web Access

MicrosoftTest Manager

Visual Studio

Eclipse

Cross Platform

3rd Party

Process Templates

Process Template

s

MSF Agile

MSF CMMi

Secure Development Lifecycle

Your process

SCRUM

Essential Unified Process

Revolves Around Work Items

Work item

Task

Bug

User story

RiskFeature

Change Request

You name it…

People and Process (with Tools): TFS

• Process templates available out-of-the-box• Processes can be modelled into TFS through– Custom code/API solutions– Third-party solutions

• If you don’t have a process, TFS can help through built-in process templates

• If you have a process, you can extend TFS to support it

DEMO: TFS for the Developer Manager

Empowers you to gain greater visibility and predictability in your projects

Bridges the gap between people and process with tools.

Flexible to your processes and workflows

Real WorldSoftware DevelopmentManagement

Bringing to life what we’ve covered through real-world examples.

3

Your Journey to the CloudExperience Cloud development with Visual Studio:

1. Start your journey to the Cloud at windowsazure.com.

2. Activate your Azure Pass at windowsazurepass.com for 30 days of Windows Azure - FREE.

Resources

1. Online ALM Self-Assessment - http://bit.ly/ht5nDF

2. MSDN Center: Application Lifecycle Management - http://bit.ly/ga6OBw

3. Essential Resources for Getting Started with ALM – http://bit.ly/linktoblogpost