delivering high quality software through agile

26
Delivering High Quality Software Through Agile John Bristowe Sr. Developer Evangelist Microsoft Canada

Upload: john-bristowe

Post on 21-Dec-2014

914 views

Category:

Technology


1 download

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

Page 1: Delivering High Quality Software Through Agile

Delivering High Quality Software Through Agile

John BristoweSr. Developer Evangelist

Microsoft Canada

Page 2: Delivering High Quality Software Through Agile

Go from there…to here.

Page 3: Delivering High Quality Software Through Agile

Process

Conventional Software Development

Plan everything early with high fidelity

Freeze requirements before design

Forbid coding prior to detailed design review

Page 4: Delivering High Quality Software Through Agile

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.

Page 5: Delivering High Quality Software Through Agile

Process

Average cost overrun

45%

Page 6: Delivering High Quality Software Through Agile

Process

Average time overrun

63%

Page 7: Delivering High Quality Software Through Agile

Process

Functionality delivered on average

67%

Page 8: Delivering High Quality Software Through Agile

Process$59 billion in lost productivity in the US

Page 9: Delivering High Quality Software Through Agile

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

Page 10: Delivering High Quality Software Through Agile

ProcessWhy Agile?

Page 11: Delivering High Quality Software Through 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.

Page 12: Delivering High Quality Software Through Agile

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

Page 13: Delivering High Quality Software Through Agile
Page 14: Delivering High Quality Software Through Agile

Implementing Process Through Tooling

UserStories

Tasks

Tests

Check-inTeam

Build

Build

Bug

BusinessAnalyst

Tester

Developer

Page 15: Delivering High Quality Software Through Agile

Implementing Process Through Tooling

UserStories

Tasks

Tests

Check-in

Build

BusinessAnalyst

Tester

Developer

Bug

Developer

Non .Net

Page 16: Delivering High Quality Software Through Agile

Implementing Process Through Tooling

Office

SharePoint

Team Web Access

MicrosoftTest Manager

Visual Studio

Eclipse

Cross Platform

3rd Party

Page 17: Delivering High Quality Software Through Agile

Process Templates

Process Template

s

MSF Agile

MSF CMMi

Secure Development Lifecycle

Your process

SCRUM

Essential Unified Process

Page 18: Delivering High Quality Software Through Agile

Revolves Around Work Items

Work item

Task

Bug

User story

RiskFeature

Change Request

You name it…

Page 19: Delivering High Quality Software Through Agile

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

Page 20: Delivering High Quality Software Through Agile

DEMO: TFS for the Developer Manager

Page 21: Delivering High Quality Software Through Agile

Empowers you to gain greater visibility and predictability in your projects

Page 22: Delivering High Quality Software Through Agile

Bridges the gap between people and process with tools.

Page 23: Delivering High Quality Software Through Agile

Flexible to your processes and workflows

Page 24: Delivering High Quality Software Through Agile
Page 25: Delivering High Quality Software Through Agile

Real WorldSoftware DevelopmentManagement

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

3

Page 26: Delivering High Quality Software Through Agile

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