delivering high quality software through agile
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
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