23
04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Embed Size (px)

Citation preview

Page 1: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

04 | Define a Software Iteration

Steven Borg | Co-founder & Strategist, Northwest CadenceAnthony Borton | ALM Consultant, Enhance ALM

Page 2: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

• Plan a release

• Define project-tracking process

• Scope a project

Module Overview

Page 3: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Click to edit Master subtitle style

Microsoft Virtual Academy

Plan a release

Page 4: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

What the Study Guide says…

• Plan a release.– identifying a flexibility matrix– identifying releases based on priority items in

flexibility matrix and release criteria– resource planning (Scrum team is responsible for

allocating team members)– identifying techniques to optimize a team that is

geographically distributed– selecting a project methodology– risk management

Page 5: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

What (the ^&*%#) is a flexibility matrix?• Based on the Iron Triangle – Scope, Resources,

Schedule

Most Flexible

Moderately Flexible

Least Flexible

Scope

Resources

Schedule

Page 6: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

“identifying releases based on priority items in flexibility matrix and release criteria”

• No.

• Think agile. Think lean.

• Think delivering business value in small increments, quickly, with high quality.

• Think backlogs, velocity, and forecasting sprints

• Then, if all else fails, think of traditional work breakdowns in Project, with predecessors, external dependencies and critical paths.

Page 7: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Sprint Capacity Planning

Page 8: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Geographically distributed teams

• Use electronic tools to share documents and data– SharePoint, TFS, etc

• Pay close attention to cultural issues

• Use video when possible

• Do not post key documents or data only on the wall of the ‘home office’

Page 9: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Click to edit Master subtitle style

Microsoft Virtual AcademyDefine project-tracking

process

Page 10: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

What the Study Guide says…

• Define a project-tracking process.– identifying a project tracking tool and an associated

process (triage process, bug management)– defining how to manage effort– determining team forecast management– defining a prioritization scheme– determining how to validate project health

Page 11: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Identifying an appropriate tool for project management• Primary MS tools for tracking software development

projects are TFS and Project

• TFS is very strong at handling most software development efforts, however it is weak at predecessor/successor relationships, handling efforts outside the development team, and identifying key measures such as the critical path.

• MS Project is strong at many of the things TFS is weak at, however it is weak in gathering data through the normal day to day activities of the team, as well as most other software development project tracking needs.

Page 12: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Forecasting delivery*

Page 13: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Reports – Use them

• Bug Status

• Bug Trends

• Build Quality Indicators

• Build Success Over Time

• Build Summary

• Burndown and Burn Rate

• Reactivations

• Remaining Work

• Requirements Overview

• Requirements Progress

• Status on All Iterations

• Test Case Readiness

• Test Plan Progress

• Unplanned Work

Page 14: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Click to edit Master subtitle style

Microsoft Virtual Academy

Scope a project

Page 15: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

What the Study Guide says…

• Scope a project.– scoping the effort for a release– defining an architecture design process– defining scope boundaries (is/is not list)– determining the definition of “done”– defining a process when effort estimates are significantly

inaccurate

Page 16: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Determining effort and release plan

Page 17: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Architectural design – Layer Diagrams

Page 18: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Architectural design – DGML

Page 19: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Architectural design – UML Diagrams

Page 20: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Architectural Diagrams

• Good for sharing knowledge of the design

• Good for collaboration

• Layer diagrams can enforce architectural standards by limiting what is allowed/disallowed inside of a layer (done primarily by namespace)

• Architecture requirements in a layer diagram can be validated during a build.

• DGML diagrams can be extended to include more than just architectural elements.

Page 21: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Definition of Done

• In Scrum, the team agrees on what it means for a task, user story, bug or other item to be ‘done’

• The Definition of Done is generally beyond the acceptance criteria specified in a user story or product backlog item.

Page 22: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

• Don’t overthink this section.

• Many of the ideas here are covered directly by the Scrum and process overviews done earlier today.

EXAM BEST BETS

Page 23: 04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.