26
www.EnterprisePMSolutions.com 404-405-7951 1 Lessons Learned Best Lessons Learned Best Practices Practices Lisa A. Grant, MBA, PMP, AC-Bronze, CL May 19, 2007 http://www.enterprisePMsolutions.com Iterative Development Jim Young, MS/IT, PMP Lisa A. Grant, MBA, PMP Daniel Vitek, MBA, PMP

Www.EnterprisePMSolutions.com 404-405-79511 Lessons Learned Best Practices Lisa A. Grant, MBA, PMP, AC-Bronze, CL May 19, 2007

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

www.EnterprisePMSolutions.com 404-405-7951 1

Lessons Learned Best Lessons Learned Best PracticesPractices

Lisa A. Grant, MBA, PMP, AC-Bronze, CL

May 19, 2007http://www.enterprisePMsolutions.com

Iterative Development

Jim Young, MS/IT, PMPLisa A. Grant, MBA, PMPDaniel Vitek, MBA, PMP

2

Agenda

Introduction to Agile Methodology Application of Agile Methodology Integration with the Enterprise Performance Life Cycle Questions & Answers

Introduction to Agile Methodology

Jim Young, MS/IT, PMP

4

Agile DevelopmentCharacteristics of Agile Development: Minimize risk by developing software in multiple

shorter iterations. Each iteration passes through a full software

development cycle. At the end of each iteration, stakeholders re-evaluate

project priorities to optimize return on investment. Agile methods emphasize face-to-face communication

over written documents. Collocation is encouraged to facilitate communication.

Wikipedia - http://en.wikipedia.org/wiki/Scrum_%28development%29

5

Scrum is not an AcronymScrum is borrowed from rugby. It is a way of restarting the game. Opposing teams interlock and compete to gain control of the ball that is tossed into the middle of group.

6

What is Scrum?

Scrum is an iterative, incremental process for developing any product or managing any work. It produces a potentially shippable set of functionality at the end of every iteration. It's attributes are:

Scrum is an agile process to manage and control development work. Scrum is a wrapper for existing engineering practices. Scrum is a team-based approach to iteratively, incrementally develop systems

and products when requirements are rapidly changing Scrum is a process that controls the chaos of conflicting interests and needs. Scrum is a way to improve communications and maximize co-operation. Scrum is a way to detect and cause the removal of anything that gets in the way

of developing and delivering products. Scrum is a way to maximize productivity. Scrum is scalable from single projects to entire organizations. Scrum has

controlled and organized development and implementation for multiple interrelated products and projects with over a thousand developers and implementers.

Scrum is a way for everyone to feel good about their job, their contributions, and that they have done the very best they possibly could.

                                                                                                                                                                                                                                        

                                                                                                   

7

Scrum Process

Scrum focuses an entire organization on building successful products. Scrum can be implemented at the beginning of a project, in the middle, or to rescue a troubled development. Without major changes, oftenwithin thirty days, teams are building useful, demonstrable product functionality.

8

Work Burn-Down

Management is Concerned About: Sprint progress – how is the team progressing towards

meeting their Sprint goal? Release progress – will the release be on time with the

quality and functionality desired? Product Progress –

how is the product fillingout compared to what isneeded?

9

Observation

Scrum provides direct visibility into the project Management can attend and observe the daily Scrum

meetings. During these meetings they can observe team spirit, each member's participation, team member interaction, work that is being completed, and impediments to progress

10

Active Management

Management is actively involved with Scrum on a daily basis. During daily Scrum status meeting, management listens closely to team member reports and compares this to their expectations. For example, if someone has been working on a trivial task for three days, it is likely that that team member needs help. Management assesses team velocity:Is the team stuck, are they floundering, are they making progress? Management canstep in and resolve issues ifhelp is needed.

11

Scrum Resources The Scrum Primer

http://www.scrumprimer.com/

Agile Software Development with Scrum Agile Project Management with Scrum Enterprise Scrum

Application of Agile Methodology

Lisa A. Grant, MBA, PMP

13

Scrum on Research ActivitiesProblem: New project utilizing Natural Language Processing

(NLP) and a development team with no NLP experience

Solution: Allocate resources to new project 100% Collocate resources Utilize Scrum

14

DKMS Collaboration Availability of a collaboration room Decided Agile best suits our projects Decided to try Scrum

15

DKMS Scrum Team of 5-7 Team is collocated in collaboration room Sprints are 2 weeks Low tech project tracking and reporting

16

Why did it Work? Sprints time-boxed activities i.e. research Planning with outcomes in mind Each activity had a deliverable Presentation of deliverable at sprint end Quick input from Stakeholders Team could easily talk and solve problems

17

Sprint

Integration with the Enterprise Performance Life Cycle

Daniel Vitek, MBA, PMP

19

Iterative Cycles (Sprints)

Priority123

Iteration1112233334

Product Backlog

Priority123456789

10

FunctionAAAAAAAAABBBBBBCCCDDDDDDDDDEEE

FeatureA1A2A3B1B2C1D1D2D3E1

Iteration 1

FunctionAAAAAAAAA

FeatureA1A2A3

Iteration 2

Priority45

FunctionBBBBBB

FeatureB1B2

Iteration 3

Priority678

FunctionCCCDDDDDD

FeatureC1D1D2

20

EPLC Framework

21

Project Process Agreement Requirements & Design Phases are the primary

difference between iterative and non-iterative approaches.

Through the use of a Project Process Agreement document, the EPLC can be tailored to accommodate a variety of projects and approaches, including those utilizing Agile development.

22

Requirements Phase Identify initial requirements. Decompose to feature/function level. Triage delivery based on priority. Consider initial testing/implementation strategy. Perform EPLC Requirements Review.

Responsibility delegated by Center’s Governance to the project business owner.

23

Design Phase Define initial design

Operating system platform, development language, system architecture, database schema, etc.

Perform initial EPLC Design Review. Perform iterative Design Reviews.

The most appropriate approach is defined by each Center’s Governance.

24

Test/Implementation Phase Test reviews are delegated by Center’s Governance to

the project manager.

During the first development iteration that contains a formal product implementation an Operational Readiness Review must be performed by the Center’s Governance.

At this time, how future reviews will be performed is also defined.

25

Iterative Review Options Iteration reviewed at the beginning of each new

iterative cycle. Outlines all iterations then review iterations at the

beginning of each new release cycle. Project review at specific duration increments. Project review at specific project completion thresholds

(% complete). Project review at specific variance thresholds (+/-10%

from baseline or budget).

Questions & Answers