a 3-day introduction for sr. engineers and tech. support staff

195
Dr. David F. Rico, PMP, ACP, CSM Twitter: @dr_david_f_rico Website: http://www.davidfrico.com LinkedIn: http://www.linkedin.com/in/davidfrico Facebook: http://www.facebook.com/profile.php?id=1540017424 A 3-Day Introduction for Sr. Engineers and Tech. Support Staff

Upload: david-rico

Post on 20-Aug-2015

12.096 views

Category:

Documents


0 download

TRANSCRIPT

Dr. David F. Rico, PMP, ACP, CSMTwitter: @dr_david_f_rico

Website: http://www.davidfrico.comLinkedIn: http://www.linkedin.com/in/davidfrico

Facebook: http://www.facebook.com/profile.php?id=1540017424

A 3-Day Introduction for Sr. Engineers and Tech. Support Staff

2

DoD contractor with 28+ years of IT experience B.S. Comp. Sci., M.S. Soft. Eng., & D.M. Info. Sys. Large gov’t projects in U.S., Far/Mid-East, & Europe

Author Background

Published six books & numerous journal articlesAdjunct at George Washington, UMUC, & ArgosyAgile Program Management & Lean DevelopmentSpecializes in metrics, models, & cost engineeringSix Sigma, CMMI, ISO 9001, DoDAF, & DoD 5000Cloud Computing, SOA, Web Services, FOSS, etc.

3

Agenda Agile Background

Agile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

4

U.S. is no longer an industrial-age nation U.S. part of a group of post-industrial countries U.S. consists of information-age knowledge workers

Information Age

Bell, D. (1999). The coming of post industrial society. New York, NY: Basic Books.

0%

20%

40%

60%

80%

100%

1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990

Perc

ent o

f Eco

nom

y

Information

Service

Industry

Agriculture

5

21st century systems are becoming more complex Number of physical parts are becoming smaller Nano-circuitry and software hide complexity

System Complexity is Growing

Moody, J. A., et al. (1997). Metrics and case studies for evaluating engineering designs. Upper Saddle River, NJ: Prentice-Hall.

6

No. of software-intensive systems is growing 80% of US DoD functions performed in software Major driver of cost, schedule, & tech. performance

Software Century

Kennedy, M. P., & Umphress, D. A. (2011). An agile systems engineering process: The missing link. Crosstalk, 24(3), 16-20.

7

21st century systems are technology-intensive Technology is evolving at an exponential speed Technology is obsolete before project completion

Technology Change

Kurzweil, R. (2005). The singularity is near: When humans transcend biology. New York, NY: Penguin Group.

8

Big projects result in poor quality and scope changes Productivity declines with long queues/wait times Long projects are unsuccessful or canceled

Large, Traditional Projects

Jones, C. (1991). Applied software measurement: Assuring productivity and quality. New York, NY: McGraw-Hill.

Size vs. Quality

Def

ect

Den

sity

0.00

3.20

6.40

9.60

12.80

16.00

0 2 6 25 100 400

Lines of Code (Thousands)

Size vs. Productivity

Cod

e P

rodu

ctio

n R

ate

0.00

1.00

2.00

3.00

4.00

5.00

0 2 6 25 100 400

Lines of Code (Thousands)

Size vs. Requirements Growth

Per

cent

age

0%

8%

16%

24%

32%

40%

0 2 6 25 100 400

Lines of Code (Thousands)

Size vs. SuccessP

erce

ntag

e

0%

12%

24%

36%

48%

60%

0 2 6 25 100 400

Lines of Code (Thousands)

9

Challenged and failed projects hover at 67% Big projects fail more often, which is 5% to 10% Of $1.7T spent on IT projects, over $858B were lost

Global Project Failures

Standish Group. (2010). Chaos summary 2010. Boston, MA: Author.Sessions, R. (2009). The IT complexity crisis: Danger and opportunity. Houston, TX: Object Watch.

16% 53% 31%

27% 33% 40%

26% 46% 28%

28% 49% 23%

34% 51% 15%

29% 53% 18%

35% 46% 19%

32% 44% 24%

33% 41% 26%

0% 20% 40% 60% 80% 100%

1994

1996

1998

2000

2002

2004

2006

2008

2010

Year

Successful Challenged Failed

$0.0

$0.4

$0.7

$1.1

$1.4

$1.8

2002 2003 2004 2005 2006 2007 2008 2009 2010

Trill

ions

(US

Dolla

rs)

Expenditures Failed Investments

10

Requirements defects are #1 reason projects fail Traditional projects specify too many requirements More than 65% of requirements are never used at all

Requirements Defects & Waste

Sheldon, F. T. et al. (1992). Reliability measurement: From theory to practice. IEEE Software, 9(4), 13-20Johnson, J. (2002). ROI: It's your job. Extreme Programming 2002 Conference, Alghero, Sardinia, Italy.

Other 7%

Requirements47%

Design28%

Implementation18%

Defects

Always 7%

Often 13%

Sometimes16%

Rarely19%

Never45%

Waste

11

AgendaAgile Background

Agile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

12

Today’s Whirlwind Environment

Overruns Attrition Escalation Runaways Cancellation

GlobalCompetition

DemandingCustomers

OrganizationDownsizing

SystemComplexity

TechnologyChange

VagueRequirements

Work LifeImbalance

13

Need for a new model of system development Cope with high-level of uncertainty and ambiguity With just the right balance of flexibility and discipline

Need for a New Model

Augustine, S. (2005). Managing agile projects. Upper Saddle River, NJ: Pearson Education.Chin, G. (2004). Agile project management: How to succeed in the face of changing project requirements. Broadway, NY: Amacom.DeCarlo, D. (2004). Extreme project management: Using leadership, principles, and tools to deliver value in the face of volatility. San Francisco, CA: Jossey-Bass.Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

R&D Oriented People Centered Adaptive Customer Friendly Fast & Efficient Disciplined

New discoveries

Complex problems

One-off systems

Vague requirements

Incomplete information

High uncertainty

Experimentation

Simulations

Prototyping

Innovation oriented

New products

Creative solutions

Highly-talented people

Cross-functional teams

Small team size

A lot of communication

Interpersonal trust

Rich collaboration

Empowered decisions

Sustainable pace

Daily interaction

Rich communications

Face-to-face interaction

Cohesiveness

Global threats

Market threats

New customer needs

Changing scope

Changing technology

Changing regulations

Continuous change

Flexible culture

Flexible attitudes

Flexible policies

Flexible processes

Flexible technologies

Customer interaction

A lot of communication

Customer demos

Customer feedback

Business value focus

Customer satisfaction

Customer responsive

Customer sensitivity

Customer relationships

Customer contact

Customer involvement

Customer driven

New technology

Quick decision-making

Iterative delivery cycles

Frequent deliveries

Fast delivery schedules

Short timelines

Fast time-to-market

First-mover capability

Minimal process costs

Low work-in-process-

Flexible processes

Market responsiveness

Lightweight strategy

Lightweight plans

Lightweight lifecycles

Security engineering

Light requirements

Light architecture

Lightweight design

Code reviews

Rigorous V&V

Rigorous CM

Rigorous QA

Project reviews

14

A-gil-i-ty (ə-'ji-lə-tē) Property consisting of quickness, lightness, and ease of movement; To be very nimble

The ability to create and respond to change in order to profit in a turbulent global business environment

The ability to quickly reprioritize use of resources when requirements, technology, and knowledge shift

A very fast response to sudden market changes and emerging threats by intensive customer interaction

Use of evolutionary, incremental, and iterative delivery to converge on an optimal customer solution

Maximizing the BUSINESS VALUE with right-sized, just- enough, and just-in-time processes and documentation

What is Agility?

Highsmith, J. A. (2002). Agile software development ecosystems. Boston, MA: Addison-Wesley.

15

People-centric way to create innovative solutions Market-centric model to maximize business value Product-centric vs. wasteful processes/documents

What are Agile Methods?

Agile Manifesto. (2001). Manifesto for agile software development. Retrieved September 3, 2008, from http://www.agilemanifesto.org.

alsoknown as

CustomerCollaboration

Individuals &Interactions

WorkingSystems

Respondingto Change

CustomerInteraction

High PerformanceTeams

IterativeDevelopment

Adaptabilityor Flexibility

ContractNegotiation

Processes& Tools

ComprehensiveDocumentation

Followinga Plan

Agile Methods‘Values’

alsoknown as

alsoknown as

alsoknown as

valuedmore than

valuedmore than

valuedmore than

valuedmore than

Agile Methods‘Principles’

Traditional Methods‘Values’

16

Agile is naturally lean and based on small batches Agile directly supports six principles of lean thinking Agile may be converted to a continuous flow system

How do Lean/Agile Intersect?

Womack, J. P., & Jones, D. T. (1996). Lean thinking: Banish waste and create wealth in your corporation. New York, NY: Free Press.Reinertsen, D. G. (2009). The principles of product development flow: Second generation lean product development. New York, NY: Celeritas.Reagan, R. B., & Rico, D. F. (2010). Lean and agile acquisition and systems engineering: A paradigm whose time has come. DoD AT&L Magazine, 39(6).

Economic View

Decentralization

Fast Feedback

Control Cadence& Small Batches

Manage Queues/Exploit Variability

WIP Constraints& Kanban

Flow PrinciplesAgile Values

CustomerCollaboration

EmpoweredTeams

IterativeDelivery

Respondingto Change

Lean Pillars

Respectfor People

ContinuousImprovement

Customer Value

Relationships

Customer Pull

Continuous Flow

Perfection

Value Stream

Lean Principles Customer relationships, satisfaction, trust, and loyalty Team authority, empowerment, and resources Team identification, cohesion, and communication

Lean & Agile Practices

Product vision, mission, needs, and capabilities Product scope, constraints, and business value Product objectives, specifications, and performance As is policies, processes, procedures, and instructions To be business processes, flowcharts, and swim lanes Initial workflow analysis, metrication, and optimization Batch size, work in process, and artifact size constraints Cadence, queue size, buffers, slack, and bottlenecks Workflow, test, integration, and deployment automation Roadmaps, releases, iterations, and product priorities Epics, themes, feature sets, features, and user stories Product demonstrations, feedback, and new backlogs Refactor, test driven design, and continuous integration Standups, retrospectives, and process improvements Organization, project, and process adaptability/flexibility

17

On exploratory or research/development projects When fast customer responsiveness is paramount In organizations that are highly-innovative & creative

When to Use Agile Methods?

Pine, B. J. (1993). Mass customization: The new frontier in business competition. Boston, MA: Harvard Business School Press.

Agile Project Management

High-levels of uncertainty and unpredictability

High-technology projects

Fast-paced, highly-competitive industries Rapid pace of technological change Research-oriented, discovery projects Large-fluctuations in project performance Shorter-term, performance-based RDT&E contracts Achieving high-impact product/service effectiveness Highly-creative new product development contracts Customer-intensive, one-off product/service solutions Highly-volatile and unstable market conditions High-margin, intellectually-intensive industries Delivering value at the point-of-sale

Traditional Project Management

Predictable situations

Low-technology projects

Stable, slow-moving industries Low-levels of technological change Repeatable operations Low-rates of changing project performance Long-term, fixed-price production contracts Achieving concise economic efficiency goals Highly-administrative contracts Mass production and high-volume manufacturing Highly-predictable and stable market conditions Low-margin industries such as commodities Delivering value at the point-of-plan

18

Agility has many dimensions other than IT Ranges from leadership to technological agility The focus of this brief is systems development agility

Agile World View

Agile Leaders

Agile Organization Change

Agile Acquisition & Contracting

Agile Strategic Planning

Agile Capability Analysis

Agile Program Management

Agile Tech.

Agile Information Systems

Agile Tools

Agile Processes & Practices

Agile Systems Development

Agile Project Management

19

AgendaAgile BackgroundAgile Introduction

Agile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

20

VersionOne found 80% using agile methods today Most are using Scrum with several key XP practices Release planning/continuous integration are vital tools

Agile Adoption Rates

House, D. (2012). Sixth annual state of agile survey: State of agile development. Atlanta, GA: VersionOne.

21

Many surveys of agile methods since 2003 AmbySoft and VersionOne collect annual data Agile benefits are above 50% in most categories

Surveys of Agile Methods

Rico, D. F. (2008). What is the return-on-investment of agile methods? Retrieved February 3, 2009, from http://davidfrico.com/rico08a.pdf.

22

Agile (138 pt.) and traditional methods (99 pt.) Agile methods fare better in all benefits categories Agile methods 359% better than traditional methods

Case Studies of Agile Methods

Rico, D. F. (2008). What is the ROI of agile vs. traditional methods? TickIT International, 10(4), 9-18.

Agile TraditionalCategory

Return on Investment 2,811%

Customer Satisfaction Imp.

Quality Improvement

Productivity Improvement

Schedule Reduction

Cost Reduction

470%

Difference

2,341%

56%

24%

55%

33%

9%

23

Analysis of 23 agile vs. 7,500 traditional projects Agile projects are 54% better than traditional ones Agile has lower costs (61%) and fewer defects (93%)

Benefits of Agile Methods

Mah, M. (2008). Measuring agile in the enterprise: Proceedings of the Agile 2008 Conference, Toronto, Canada.

Project Cost in Millions $

0.75

1.50

2.25

3.00

2.8

1.1

Before Agile

After Agile

61%LowerCost

Total Staffing

18

11

Before Agile

After Agile

39%LessStaff

5

10

15

20

Delivery Time in Months

5

10

15

20

18

13.5

Before Agile

After Agile

24%Faster

Cumulative Defects

625

1250

1875

2500

2270

381

Before Agile

After Agile

93%Less

Defects

24

Study of 15 agile vs. non-agile Fortune 500 firms Based on models to measure organizational agility Agile firms out perform non-agile firms by up to 36%

Benefits of Organizational Agility

Hoque, F., et al. (2007). Business technology convergence. The role of business technology convergence in innovation and adaptability and its effect on financial performance. Stamford, CT: BTM Institute.

25

AgendaAgile BackgroundAgile IntroductionAgile Business Case

Agile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

26

Created by Alistair Cockburn in 1991 Has 14 practices, 10 roles, and 25 products Scalable family of techniques for critical systems

Crystal Methods

Cockburn, A. (2002). Agile software development. Boston, MA: Addison-Wesley.

27

Created by Jeff Sutherland at Easel in 1993 Has 5 practices, 3 roles, 5 products, rules, etc. Uses EVM to burn down backlog in 30-day iterations

Scrum

Schwaber, K., & Beedle, M. (2001). Agile software development with scrum. Upper Saddle River, NJ: Prentice-Hall.

28

Created by group of British firms in 1993 15 practices, 12 roles, and 23 work products Non-proprietary RAD approach from early 1990s

Dynamic Systems Dev.

Stapleton, J. (1997). DSDM: A framework for business centered development. Harlow, England: Addison-Wesley.

29

Created by Jeff De Luca at Nebulon in 1997 Has 8 practices, 14 roles, and 16 work products Uses object-oriented design and code inspections

Feature Driven Development

Palmer, S. R., & Felsing, J. M. (2002). A practical guide to feature driven development. Upper Saddle River, NJ: Prentice-Hall.

30

Created by Kent Beck at Chrysler in 1998 Has 28 practices, 7 roles, and 7 work products Popularized pair programming and test-driven dev.

Extreme Programming

Beck, K. (2000). Extreme programming explained: Embrace change. Reading, MA: Addison-Wesley.

UserStories

ArchitecturalSpike

ReleasePlanning Iteration Acceptance

TestsSmall

Releases

Spike

TestScenarios

SystemMetaphor

CustomerApproval

LatestVersion

ReleasePlan

NextIteration

BugsNewStoriesRequirements

UncertainEstimates

ConfidentEstimates

31

Adapted to IT by Dave Anderson in 2006 Activities, buffers, queues, WIP limits, tasks, etc. Lean, JIT pull/demand system leading to high quality

Kanban

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.

32

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life Cycles

Agile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

33

Term coined by Kent Beck in 1999 Customer who sits with developers full-time Fast and efficient way to capture customer needs

Onsite Customers

Tabaka, J. (2006). Collaboration explained: Facilitation skills for software project leaders. Upper Saddle River, NJ: Addison Wesley.

34

Created by Kent Beck at Chrysler in 1998 Project plan with a 30-60-90-day timing horizon Disciplined and adaptable project management F/W

Release Planning

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

35

Term coined by Kent Beck in 1999 Functions or features of value to customers Highly-adaptable requirements engineering process

User Stories

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.

36

Term coined by Kent Beck in 2003 Consists of writing all tests before design Ensures all components are verified and validated

Test-Driven Development

Beck, K. (2003). Test-driven development: By example. Boston, MA: Addison-Wesley.

37

Term coined by Jim Coplien in 1995 Consists of two side-by-side developers Highly-effective group problem-solving technique

Pair Programming

Williams, L., & Kessler, R. (2002). Pair programming illuminated. Boston, MA: Pearson Education.

38

Term coined by William Opdyke in 1990 Process of frequently redesigning the system Improves readability, maintainability, and quality

Refactoring

Fowler, M. (1999). Refactoring: Improving the design of existing code. Boston, MA. Addison-Wesley.

39

Term coined by Martin Fowler in 1998 Process of automated build/regression testing Evaluates impact of changes against entire system

Continuous Integration

Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration: Improving software quality and reducing risk. Boston, MA: Addison-Wesley.

40

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile Practices

Agile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

41

Requirement written from perspective of a user Function or a feature that has value to a customer Discrete unit of functionality written on an index card

User Story

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.

42

Conditions of satisfaction added to user stories Serve as a set of user acceptance test criteria Used for development and operational tests

Conditions of Satisfaction

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.

43

Details can be added in smaller sub-stories Good way to functionally-decompose user stories May also represent an object-oriented point-of-view

Detailed Sub-Stories

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.

44

Epics are very large enterprise requirements They are often called capabilities or feature sets A very-large unit of work that must be decomposed

Epics

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.

45

Form stakeholder groups to brainstorm user stories Goal is to write as many user stories as possible Start with epics and decompose user stories

User Story Workshops

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.

46

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile Requirements

Agile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Autoamted TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

47

Created by Jeff Sutherland at Easel in 1993 Product backlog comprised of customer needs Barely-sufficient project management framework

Scrum Project Management

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Initial Planning Sprint Cycle

Discovery Session

Agile Training Project Discovery Process Discovery Team Discovery Initial Backlog

Release Planning

Business Case Desired Backlog Hi-Level Estimates Prioritize Backlog Finalize Backlog

Product Backlog

Prioritized Requirements

Sprint Planning

Set Sprint Capacity Identify Tasks Estimate Tasks

Sprint Review

Present Backlog Items Record Feedback Adjust Backlog

Daily Scrum

Completed Backlog Items Planned Backlog Items Impediments to Progress

Sprint Backlog

List of Technical Tasks Assigned to a Sprint

Potentially Shippable Product

Working Operational Software

Sprint

Select Tasks and Create Tests Create Simple Designs Code and Test Software Units Perform Integration Testing Maintain Daily Burndown Chart Update Sprint Backlog

Sprint Retrospective

48

Created by Kent Beck at Chrysler in 1998 Release plan is comprised of customer needs Lightweight, rigorous near-term planning element

XP Project Management

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

Release Planning

Exploration Phase

Iteration Planning

Build a Team Write User Stories Estimate User Stories

Split User Stories Spike User Stories Write User Tests

Commitment Phase

Sort by Value Sort by Risk Set Velocity

Choose a Scope Set Iteration Length Develop Release Plan

Steering Phase

Select Iteration Adjust Velocity Insert New Stories

New Release Plan Select Tools Adjust Teams

Exploration Phase

Analyze Release Plan Identify Iteration Goal Select User Stories

Read User Stories Develop Tasks Split Tasks

Commitment Phase

Accept Tasks Set Individual Velocity Estimate Tasks

Analyze Schedules Set Load Factors Balance Tasks

Steering Phase

Select Partner Write Unit Tests Design and Code

Unit/Integration Test User Acceptance Test Record Progress

49

Created by Sanjiv Augustine at CC Pace in 2005 Builds agile cultures, mind-sets, and environments Leadership model for managing agile project teams

Project Leadership Model

Augustine, S. (2005). Managing agile projects. Upper Saddle River, NJ: Pearson Education.

Guiding Vision Simple Rules Open Information Light Touch

Foster Alignment and Cooperation Encourage Emergence and Self Organization

Adaptive Leadership

Learning/Adaptation

Leadership

Team Vision Team Alignment Bold Future Shared Expectations

Management

Business Outcomes Delineate Scope Estimate Effort Design Vision Box Elevator Statement

Leadership

Culture of Change Value Focus

Management

Assess Status Quo Customize Method Release Plan Iteration Plans Facilitate Design Conduct Testing Manage Releases

Leadership

Conduct Standups Promote Feedback Build Trust Facilitate Action

Management

Team Collocation Get Onsite Customer Practice Pairing Information Radiator Map Value Stream

Leadership

Adapt Style Roving Leadership Go With Flow Work Life Quality Build on Strengths Gain Commitments

Management

Decentralize Control Pull vs. Push Manage Flow Use Action Sprints

Leadership

Embodied Presence Embodied Learning

Management

Daily Feedback Monitor/Adapt Rules Monitor Practices Retrospectives Scenario Planning

Organic Teams

Leadership

Craftsmanship Collaboration Guiding Coalition Community

Management

Identify Community Design Structures Get Team Players Adaptive Enterprise

50

Created by Doug DeCarlo at Cutter in 2004 Focus is on collaboration, scoping, and speed Thinner traditional project management approach

Flexible Project Management

DeCarlo, D. (2004). Extreme project management: Using leadership, principles, and tools to deliver value in the face of volatility. San Francisco, CA: Jossey-Bass.

Visionate Speculate Innovate Re-evaluate Disseminate

Collective Vision

Select Core Team

Sponsor’s Vision

Interview Sponsor Describe Objectives Project Prospectus Business Questions

Collective Vision

Scope Meeting Future Scenarios Project Skinny Project Boundaries Project Vision Win Conditions Benefit Map Wow Factor Uncertainty Profile

Planning Meeting

Collective Vision Size Deliverables Map Schedule Choose Life Cycle Requirements ID’d Development Tools Risk Planning

Post Meeting

PM Infrastructure Financial Goals Benefit Plan Partner Agreements

Business Questions

Go/No-Go Decision

Update Prospectus

Business Questions

Who Needs It? What Will It Take? Can We Get It? Is It Worth It?

Project Review

Check Performance Check Schedule Check Costs Check Benefits Check Project ROI Go/No-Go Decision

Project Changes

Re-Direct As-Needed Update Vision Update Stakeholders Re-examine Team

Product Launch

Acceptance Testing Documentation Support Plan Maintenance Plan Deploy Solution Customer Service

Track Benefits

Team Rewards

Lessons Learned

Stabilization

Training/Education Utilization Performance Feedback Corrective Action

Learning by Doing

SCORE Model Architecture Development Construction Testing Time Boxing Trial and Error Collaboration

Generate Results

Visibility Early Value Fast Failures

Update Prospectus

Business Questions

Modify Questions

51

Created by Bob Wysocki for consulting in 2008 Designed to be a generic model for non-IT projects Lightweight traditional project management approach

Adaptive Project Management

Wysocki, R.F. (2010). Adaptive project framework: Managing complexity in the face of uncertainty. Boston, MA: Pearson Education.

Adaptive Project Framework

Scoping

Identify Opportunity Develop CoS Write PoS Document Needs Stage Gate 1 Review

Planning

Identify Project Type Prioritize Constraints Develop WBS Team Formation Stage Gate 2 Review

Feasibility

Develop Prototype Reprioritize Needs Detailed WBS Estimate Resources Stage Gate 3 Review

Checkpoint

Analyze Needs Evaluation Solution Estimate Value Determine Success Stage Gate 4 Review

Review

Finalize Documents Lessons Learned Process Changes Final Report Stage Gate 5 Review

Cyclical Product or Service Implementation

Cycle Planning

Responsibilities Timelines Work Packages Communications Governance

Continually improve process, documents, team, architecture, designs, implementation, tests, etc.Stage Gate 3.n

Review

Cycle Reviews

Update Requirements Update Scope Update Schedules Update Plans Inform Stakeholders

Daily Meetings

Arrange Facilities Prepare Agendas Send Meeting Notices Facilitate Meetings Record Action Items

Product or Service Implementation

Select Personnel with Needed Skills Identify Detailed Technical Tasks Create Detailed Architectures and Designs Select and Implement Technical Solutions Perform Development and Operational Tests

Continuous Improvement

52

Created by Jim Highsmith at Cutter in 2003 Focus on strategic plans and capability analysis Most holistic agile project management framework

Agile Project Management

Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

Innovation Lifecycle

Envision

Product Vision Product Architecture Project Objectives Project Community Delivery Approach

Speculate

Gather Requirements Product Backlog Release Planning Risk Planning Cost Estimation

Explore

Iteration Management Technical Practices Team Development Team Decisions Collaboration

Launch

Final Review Final Acceptance Final QA Final Documentation Final Deployment

Close

Clean Up Open Items Support Material Final Retrospective Final Reports Project Celebration

Iterative Delivery

Technical Planning

Story Analysis Task Development Task Estimation Task Splitting Task Planning

Standups, Architecture, Design, Build, Integration, Documentation, Change, Migration, and IntegrationStory Deployment

Adapt

Focus Groups Technical Reviews Team Evaluations Project Reporting Adaptive Action

Operational Testing

Integration Testing System Testing Operational Testing Usability Testing Acceptance Testing

Development, Test, & Evaluation

Development Pairing Unit Test Development Simple Designs Coding and Refactoring Unit and Component Testing

Continuous

53

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. Models

Agile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

54

Determine product vision and project objectives Identifies project community and project team The major output is a “Product Vision Box”

Envision Phase

Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

Envision Phase

Delivery Approach

Self-Organization Strategy Collaboration Strategy Communication Strategy Process Framework Tailoring Practice Selection & Tailoring

Project Objectives

Project Data SheetKey Business ObjectivesTradeoff MatrixExploration FactorRequirements Variability

Product Architecture

Skeleton Architecture Hardware Feature Breakdown Software Feature Breakdown Organizational Structure Guiding Principles

Project Community

Get the Right People Participant Identification Types of Stakeholders List of Stakeholders Customer-Developer Interaction

Product Vision

Product Vision Box Elevator Test Statement Product Roadmap Product Features Product Vision Document

55

Determine organizational capability/mission needs Identifies feature-sets and system requirements The major output is a “System Release Plan”

Speculate Phase

Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

Speculate Phase

Release Planning

Project Startup Activities Assign Stories to Iterations First Feasible Deployment Estimate Feature Velocity Determine Product Scope

Risk Planning

Risk Identification Risk Analysis Risk Responses Risk Monitoring Risk Control

Product Backlog

Product Features List Feature Cards Performance Requirements Prioritize Features Feature Breakdown Structure

Cost Estimation

Establish Estimate Scope Establish Technical Baseline Collect Project Data Size Project Information Prepare Baseline Estimates

Gather Requirements

Analyze Feasibility Studies Evaluate Marketing Reports Gather Stakeholder Suggestions Examine Competitive Intelligence Collaborate with Customers

56

Determine technical iteration objectives/approaches Identifies technical tasks and technical practices The major output is an “Operational Element”

Explore Phase

Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

Explore Phase

Team Development

Focus Team Molding Group into Team Develop Individual Capabilities Coach Customers Orchestrate Team Rhythm

Team Decisions

Decision Framing Decision Making Decision Retrospection Leadership and Decision Making Set and Delay Decision Making

Technical Practices

Reduce Technical Debt Simple Design Continuous Integration Ruthless Automated Testing Opportunistic Refactoring

Collaboration

Pair Programming Daily Standup Meetings Daily Product Team Interaction Stakeholder Coordination Customer Interactions

Iteration Management

Iteration Planning Estimate Task Size Iteration Length Workload Management Monitoring Iteration Progress

Launch Phase

Final Quality Assurance

Final Functional Configuration Audit Final Physical Configuration Audit Final Quality Assurance Plan Review Final QA Procedures Review Final Quality Assurance Review

Final Documentation

Final Release Plans Final Requirements Database Final Development Documents Final Maintenance Documents Final Operations Documents

Final Acceptance

Final Test Plan Review Final Test Case Review Final Test Environment Review Final Acceptance Test Review Final Test Results Review

Final Deployment

Final Source Code Final Build Final Integration Final Image Final Deployment Package

Final Review

Final Release Plan Review Final Requirements Review Final Design Review Final Code Review Final Development Team Review

57

Determine the state of the final deployment system Perform final development, test, and QA reviews The major output is a “Deployment Package”

Launch Phase

Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

58

Determine project outcome and effectiveness Identifies strengths, weaknesses, and rewards The major output is a “Lessons-Learned Report”

Close Phase

Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

Close Phase

Support Material

Finalize Documentation Finalize Production Material Finalize Manufacturing Material Finalize Customer Documentation Finalize Maintenance Information

Final Reports

End-of-Project Reports Administrative Reports Release Notes Financial Reports Facilities Reports

Final Retrospective

Process Performance Assessment Internal Product Assessment External Product Assessment Team Performance Assessment Project Performance Assessment

Project Celebration

Individual Rewards Group Rewards Partner Rewards Managerial Rewards Product Rewards

Clean Up Open Items

Close Open Action Items Close Open Change Requests Close Open Problem Reports Close Open Defect Reports Close Open Project Issues

59

Agile management is delegated to the lowest level There remain key leadership roles & responsibilities Communication, coaching, & facilitation are key ones

Leadership Considerations

Rico, D. F. (2010). The paradox of agile project management and virtual teams. Fairfax, VA: Gantthead.Com.

Customer Communication

Product Visioning

Distribution Strategy

Team Development

Standards & Practices

Telecom Infrastructure

Development Tools

High Context Meetings

Coordination Meetings

F2F Communications

Performance Management

Facilitate selection of methods for obtaining and maintaining executive commitment, project resources, corporate communications, and customer interactionFacilitate selection of methods for communicating product purpose, goals, objectives, mission, vision, business value, scope, performance, budget, assumptions, constraints, etc.

Facilitate selection of virtual team distribution strategy to satisfy project goals and objectives

Facilitate selection of methods for training, coaching, mentoring, and other team building approachesFacilitate selection of project management and technical practices, conventions, roles, responsibilities, and performance measures

Facilitate selection of high bandwidth telecommunication products and services

Facilitate selection of agile project management tools and interactive development environment

Facilitate selection of high context agile project management and development meetings

Facilitate selection of meetings and forums for regular communications between site coordinatorsFacilitate selection of methods for maximizing periodic face to face interactions and collaborationFacilities selection of methods for process improvement, problem resolution, conflict management, team recognition, product performance, and customer satisfaction

60

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. Phases

Agile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

61

Release planning is basic agile planning approach Begins with capturing and ordering customer needs Output is a release plan with resources and timelines

Release Planning

Write User Stories Estimate User Stories Prioritize User Stories Split User Stories Develop Release Plan

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

• Estimate size using Delphi (PERT)

• Estimate using planning poker

• Estimate using analogy

• Estimate user algorithmic models

• Estimate using prototypes (spikes)

• Hold customer meeting

• Propose user stories

• Clarify user stories

• Record user stories

• Verify user stories

• Estimate total resources

• Estimate business value

• Estimate technical risks

• Sequence user stories

• Verify overall sequence

• Evaluate story size

• Evaluate needed resources

• Evaluate business value

• Evaluate risks and sequence

• Divide and reorder user stories

• Select release scope

• Select iteration velocity & length

• Estimate release budget

• Identify overall constraints

• Develop release plan

62

Release planning begins by identifying user needs User needs are captured in form of user stories Customer records needs on user story cards

Write User Stories

Write User Stories

HoldCustomerMeeting

ProposeUser

Stories

ClarifyUser

Stories

RecordUser

Stories

VerifyUser

Stories

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

63

The complexity of each user story is then estimated Complexity is captured in the form of story points Story points are a relative size of user needs

Estimate User Stories

Estimate User Stories

EstimateUsing

Delphi (PERT)

EstimateUsing

Planning Poker

EstimateUsing

Analogy

EstimateUsing

Algorithmic Models

EstimateUsing

Prototypes (Spikes)

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

64

Customers must prioritize all of their user stories Cost, value, risk, and other factors are considered Tradeoffs are made when rank ordering user stories

Prioritize User Stories

Prioritize User Stories

EstimateTotal

Resources

EstimateBusiness

Value

EstimateTechnical

Risks

SequenceUser

Stories

VerifyOverall

Sequence

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

65

Stories may be decomposed for a variety of reasons Oftentimes, user stories are too big and complex Customers are responsible for splitting them

Split User Stories

Split User Stories

EvaluateUser Story

Size

EvaluateNeeded

Resources

EvaluateBusiness

Value

EvaluateRisks andSequence

Divideand ReorderUser Stories

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

66

Customers identify which user stories they want Developers estimate iteration length, budget, etc. A release plan is designed covering 9 to 18 months

Develop Release Plan

Develop Release Plan

SelectReleaseScope

SelectIteration

Velocity & Length

EstimateReleaseBudget

IdentifyOverall

Constraints

DevelopRelease

Plan

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

67

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release Planning

Agile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

68

Customer and developers review user stories Developers divide user stories into technical tasks Detailed technical activity is recorded on task cards

Write Technical Tasks

Write Technical Tasks

Hold Customer Meeting

Review User

Stories

Identify Technical

Tasks

Write Task

Descriptions

Develop Acceptance

Criteria

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

69

Complete task list is reviewed by developers Technical requirements are aligned by skill sets Technical tasks are assigned to programmer pairs

Assign Technical Tasks

Assign Technical Tasks

EvaluateInitialTasks

IdentifyTechnical

Requirements

Align withSkills andInterests

OrganizeIntoPairs

AssignTasks

to Pairs

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

70

Technical tasks are analyzed by pair groupings Effort is estimated by analogy, Delphi method, etc. Unit test cases are developed and tasks are verified

Estimate Technical Tasks

Estimate Technical Tasks

AnalyzeAssigned

Tasks

Estimateby Analogy,

Delphi, Tool, etc.

DetermineEffort in

Ideal Days

Develop Unit Level Test Cases

VerifyTechnical

Tasks

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

71

Overall technical task sizes are evaluated Larger tasks are decomposed into smaller ones New technical tasks are developed and propagated

Decompose Technical Tasks

Decompose Technical Tasks

AnalyzeTechnicalTask Sizes

DecomposeLarge

Technical Tasks

IdentifyNew

Technical Tasks

Write NewTechnical Task

Descriptions

Assign NewTechnical Tasks

to Pairs

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

72

Establish individual productivity time and pace Balance the workload among individual resources Develop iteration plans with tasks, dates, pairs, etc.

Develop Iteration Plans

Develop Iteration Plans

EstablishPersonnel

Load Factors

BalancePersonnelResources

EstablishTechnical Task

Traceability

CompileTechnical TaskAssignments

EstablishIteration

Plan

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

73

An example of release and iteration plan Relationships between user stories and plans Shows key data such as story points and velocity

Release/Iteration Plan

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Pearson Education.

Product Backlog, Release Plan, & Iteration Plan

Product BacklogUser Story Points

Find a flight 1

Reserve a flight 2

Book a flight 4

Verify a flight 1

Generate itinerary 2

Check flight status 4

Change flight 4

Cancel flight 1

Get a refund 2

Release PlanRelease Iteration

Release 1 Iteration 1

Iteration 2

Iteration 3

Release 2 Iteration 4

Iteration 5

Iteration 6

Release 3 Iteration 7

Iteration 8

Iteration 9

Iteration PlanTask Team Plan Actual

Specify airport Bob/Sue 2 hours 1 hours Specify dates 2 hours 1 hours Specify times 2 hours 1 hours Enter name John/Dave 4 hours 3 hours Enter address 4 hours 3 hours Get confirmation no 4 hours 3 hours Enter credit card Barb/Carol 8 hours 6 hours Enter billing info 8 hours 6 hours Get receipt 8 hours 6 hours Enter confirmation no Matt/Ken 2 hours 2 hours View itinerary 2 hours 2 hours View payment info 2 hours 2 hours Enter confirmation no Jim/Jane 4 hours 3 hours Print itinerary 4 hours 3 hours Download itinerary 4 hours 3 hours Enter confirmation no Nat/Tim 8 hours 6 hours View flight status 8 hours 6 hours View gate info 8 hours 6 hours Enter confirmation no Kim/Pat 8 hours 6 hours Change dates 8 hours 6 hours Change times 8 hours 6 hours Enter confirmation no Sam/Ron 2 hours 2 hours Cancel flight 2 hours 2 hours Verify cancellation 2 hours 2 hours Enter confirmation no Mark/Dan 4 hours 4 hours Initiate refund 4 hours 4 hours Verify refund status 4 hours 4 hours

74

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration Planning

Agile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

75

Created by RAND corporation in 1940s Applied to software effort estimation in 1970s Relies on expert judgment and consensus (PERT)

Wideband Delphi (PERT)

Estimate Using Wideband Delphi (PERT)

HoldMeeting withCustomers

ReviewEach

User Story

SolicitIndividualEstimates

Use PERTto CombineEstimates

Discussand VerifyEstimates

Graefe, A., & Armstrong, J. S. (2011). Comparing face-to-face meetings, nominal groups, delphi, and prediction markets on an estimation task.International Journal of Forecasting, 27(1), 183-195.

76

Created by James Grenning for Scrum in 2002 Similar to Wideband Delphi (or PERT) estimating Goal is to estimate size (complexity) in story points

Planning Poker

Estimate Using Planning Poker

HoldMeeting withCustomers

DistributePlanning

Poker Cards

ReviewEach

User Story

Vote onSize in

Story Points

Discussand VerifyEstimates

Molokken-Ostvold, K., & Haugen, N. C. (2007). Combining estimates with planning poker: An empirical study. Proceedings of the 18th AustralianSoftware Engineering Conference (ASWEC 2007), Melbourne, Australia, 349-358.

77

Utilized for software estimating in the 1970s Goal is to match new user stories with prior ones Generates estimate based on similar historical work

Analogous Estimating

Estimate by Analogy

HoldMeeting withCustomers

ReviewEach

User Story

AnalyzePrevious

User Stories

MatchOld and NewUser Stories

Agree onSize of NewUser Stories

Wen, J., Li, S., & Tang, L. (2009). Improve analogy-based software estimation using principal components analysis and correlation weighting.Proceedings of the 16th Asia-Pacific Software Engineering Conference (APSEC'2009), Penang, Malaysia, 179-186..

78

First regression models popularized in 1970s Grew into complex logarithmic models in 1990s Many algorithms and tools exist for agile estimates

Algorithmic Models

Estimate Using Algorithmic Models

HoldMeeting withCustomers

ReviewEach

User Story

SelectOne or More

Algorithmic Models

GenerateOne or MoreEstimates

AverageOutput of

Algorithmic Models

Rico, D. F. (2008). What is the ROI of agile vs. traditional methods? An analysis of extreme programming, test-driven development,pair programming, and scrum (using real options). TickIT International, 10(4), 9-18..

79

Prototyping applied to software in the 1970s Used for estimation by JAD and Spiral in 1980s Agile teams create rapid “Spikes” to size user stories

Prototypes (Spikes)

Estimate Using Prototypes (Spikes)

HoldMeeting withCustomers

ReviewEach

User Story

IdentifyProblematicUser Stories

DevelopRapid

Prototype (Spike)

EstimateUser Story

from New Data

Keaveney, S., & Conboy, K. (2006). Cost estimation in agile development projects. Proceedings of theEuropean Conference on Information Systems (ECIS 2006), Goteborg, Sweden.

80

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile Estimating

Agile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

81

Kickoff meeting is held during release planning Type of project and risks of initial stories identified Risk management process is aligned with challenges

Risk Planning

Hamilton-Whitaker, T. (2009). Agile risk management for projects and programmes. Retrieved April 20, 2011from http://agile101.net/2009/07/27/agile-risk-management-for-projects-and-programmes.

Risk Planning

HoldCustomerMeeting

IdentifyRisk Processes

or Stages

IdentifyRisk Tracking

Artifacts

IdentifyRisk Evaluation

Criteria

Review and Approve Risk Plan

82

Low level risks identified at each stage Risks are attached to stories, tasks, tests, etc. Many risks identified during standups/retrospectives

Risk Identification

Risk Identification

IdentifyRisks During

Release Planning

IdentifyRisks During

Sprint Planning

Identify RisksDuring Daily

Standups

IdentifyRisks During

Sprint Reviews

IdentifyRisks During

Retrospectives

Hamilton-Whitaker, T. (2009). Agile risk management for projects and programmes. Retrieved April 20, 2011from http://agile101.net/2009/07/27/agile-risk-management-for-projects-and-programmes.

83

Risk backlog is periodically reviewed Risks are categorized along with likelihood Risk impact is estimated and risk data is verified

Risk Assessment

Hamilton-Whitaker, T. (2009). Agile risk management for projects and programmes. Retrieved April 20, 2011from http://agile101.net/2009/07/27/agile-risk-management-for-projects-and-programmes.

Risk Assessment

ReviewRisk

Backlog

Categorizeor DetermineType of Risk

DetermineRisk Probability

or Likelihood

IdentifyImpact of

Potential Risk

VerifyRisk

Assessment Data

84

Risks are reviewed along with response types Appropriate responses are selected and assigned Contingency plans are developed if risks are realized

Risk Response

Hamilton-Whitaker, T. (2009). Agile risk management for projects and programmes. Retrieved April 20, 2011from http://agile101.net/2009/07/27/agile-risk-management-for-projects-and-programmes.

Risk Response

ReviewRisk

Assessment Data

ReviewRisk Response

Categories

Select aRisk Response

Category

DefineContingency

Plans and Actions

VerifyRisk

Response Data

85

Risk meetings are held with customers High priority risks are evaluated from backlog Risks are mitigated and reprioritized as necessary

Risk Review

Hamilton-Whitaker, T. (2009). Agile risk management for projects and programmes. Retrieved April 20, 2011from http://agile101.net/2009/07/27/agile-risk-management-for-projects-and-programmes.

Risk Review

ReviewRisk

Backlog

EvaluateHigh-Priority

Risks

Determine ifRisks Have

Been Realized

ActivateRisk Responses

if Necessary

Re-categorize& ReprioritizeRisk Backlog

86

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk Analysis

Agile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

87

Traditional testing is a late, manual process Agile testing is an early and automated process The goal of agile testing is to deliver early and often

What is Agile Testing?

Grant, T. (2005). Continuous integration using cruise control. Northern Virginia Java Users Group (Novajug), Reston, Virginia, USA.

Traditional Testing

Combining source files

Combining software and environment

Combining software and data

Combining software and tests

Combining developers

Agile Testing

Code is frequently checked in

Code is automatically retrieved

Compilation is done automatically

Tests are done automatically

Code reports are generated

Developers get instant feedback

Code is automatically deployed or packaged for delivery

88

Developers check-in changes as they occur Server detects all changes and initiates testing Server compiles, tests, analyzes, builds, and deploys

Agile Automated Testing

Rady, B., & Coffin, R. (2011). Continuous testing: With ruby, rails, and javascript. Raleigh, NC: Pragmatic Bookshelf.Humble, J., & Farley, D. (2011). Continuous delivery: Reliable software releases through build, test, and deployment automation. Boston, MA: Pearson.

BuildIntegration

Server

VersionControlServer

BuildScripts

UsesWatches

BuildStatus

ProvidesDeveloper A

Developer B

Developer C

CommitsChanges

CommitsChanges

CommitsChanges

Compile Source Code

Run Unit Tests

Run Coverage TestsStatic Code Analysis

Build Database

Generate Help FilesArchive and Deploy

89

Agile testing consists of seven broad practices Includes automated builds, testing, inspections, etc. Also includes reporting, documentation, deployment, etc.

Agile Testing Practices

Practice

Building

Database

Inspections

Testing

Feedback

Documentation

Deployment

Description

Frequently assembling products and services to ensure delivery readiness

Frequently generating/analyzing database schemas, queries, and forms

Frequently performing automated static analysis of product/service quality

Frequently performing automated dynamic product and service evaluation

Frequently generating automated status reports/messages for all stakeholders

Frequently performing automated technical/customer document generation

Frequently performing automated delivery of products/services to end users

Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration: Improving software quality and reducing risk. Boston, MA: Addison-Wesley.

90

Fewer builds leave in higher bug counts A high number of builds eliminates the defects Goal is to have as many, early builds as possible

Agile Testing Statistics

Lacoste, F. J. (2009). Killing the gatekeeper: Introducing a continuous integration system. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA, 387-392.

91

Agile testing slows down with very large systems Slow testing slows integration and increases bugs Agile testing can speed back up with proper attention

Scaling Agile Testing

Kokko, H. (2009). Increase productivity with large scale CI: Reduce feedback cycle from weeks to 100 minutes. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA.

92

Most agile testing tools are “free” open source A build server is no more than a commodity PC 10x more efficient/effective than traditional testing

Agile Testing Costs & Benefits

Grant, T. (2005). Continuous integration using cruise control. Northern Virginia Java Users Group (Novajug), Reston, Virginia, USA.Fredrick, J. (2008). Accelerate software delivery with continuous integration and testing. Japanese Symposium on Software Testing, Tokyo, Japan.

93

Agile testing is 10x more efficient than manual tests ROI of agile testing is 27x more than traditional testing Performed 1,500x more often than traditional tests yearly

Agile Testing Cost of Quality

Fredrick, J. (2008). Accelerate software delivery with continuous integration and testing. Proceedings of the Sixth Japan Symposium on Software Testing (JASST 2008), Tokyo, Japan.

94

Eliminates big-bang integration in the 11th hour Creates a repeatable and reliable testing process Evaluates system-wide changes throughout project

Agile Testing Side Effects

Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration: Improving software quality and reducing risk. Boston, MA: Addison-Wesley.

95

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated Testing

Agile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

96

First step is to appoint a security team lead Identifying security risks & requirements is key Emphasis on training & security incident prevention

Security by Plan

Microsoft. (2009). Security development lifecycle for agile development. Redmond, WA: Author.Microsoft. (2010). Security development lifecycle. Redmond, WA: Author.

Security by Plan

AppointSecurity

Coordinator

PerformSecurityTraining

Perform Security& Privacy RiskAssessment

Identify Security& Privacy

Requirements

DevelopSecurity

Plan

97

Next step is to identify design requirements Identify security architecture and subsystems Develop threat model and reduce attack surface

Security by Design

Microsoft. (2009). Security development lifecycle for agile development. Redmond, WA: Author.Microsoft. (2010). Security development lifecycle. Redmond, WA: Author.

Security by Design

Identify Security& Privacy Design

Requirements

Document SecurityArchitecture &Attack Surface

Identify CriticalComponents &Security Assets

Develop andAnalyze Threat

Model & ReduceAttack Surface

PerformSecurity

Design Review

98

Then identify development & evaluation tools Identify and apply security patterns & practices Must perform manual & automated code reviews

Security by Implementation

Microsoft. (2009). Security development lifecycle for agile development. Redmond, WA: Author.Microsoft. (2010). Security development lifecycle. Redmond, WA: Author.

Security by Implementation

IdentifyDevelopmentEnvironment

Identify Static& Dynamic

Security Tools

Identify SecurityCoding Patterns,

Standards, &Practices

ApplySecurity CodingBest Practices

Perform Manual& Automated

SecurityCode Analysis

99

Also develop security test plans and procedures Perform automated security testing & analysis Validate to-be vs. as-is security architecture

Security by Validation

Microsoft. (2009). Security development lifecycle for agile development. Redmond, WA: Author.Microsoft. (2010). Security development lifecycle. Redmond, WA: Author.

Security by Validation

CreateSecurity & Privacy

Test Plans &Procedures

Perform DynamicSecurity Testing

& Analysis

Perform Fuzz& Penetration

Testing

Perform ThreatModel & AttackSurface Review

ReviewTest Results &

Update SecurityDocumentation

100

Finally, develop security incidence response plan Systematically collect security incident reports Analyze, implement, re-verify, and update

Security by Support

Microsoft. (2009). Security development lifecycle for agile development. Redmond, WA: Author.Microsoft. (2010). Security development lifecycle. Redmond, WA: Author.

Security by Support

DevelopIncidence

Response Plan

Perform FinalSecurity Review &

Archive Project

Collect, Analyze,& Classify

Security IncidentReports

Develop & PrioritizeSecurity

Maintenance Plans

Implement & VerifySecurity Changes,

Enhancements,& Upgrades

101

Top 25 security vulnerabilities identified each year Many resources available to help mitigate them 88% are preventable by security engineering

Top 25 Vulnerabilities

Brink, D. E. (2010). Security and the software development lifecycle: Secure at the source. Boston, MA: Aberdeen Group.Sans Institute. (2010). Top 25 most dangerous software errors. Retrieved April 21, 2011 from http://www.sans.org/top25-software-errors.

Top 25 Most Dangerous Security Vulnerabilities

Interactions

Cross Site Scripting

SQL Injection

Cross Site Requests

Unrestricted File Upload

OS Command Injection

Information Exposure

URL Redirection

Race Condition

Resources

Buffer Overflow

Path Traversal

PHP File Inclusion

Incorrect Buffer Length

Improper Exceptions

Array Index Validation

Integer Overflow

Buffer Size Calculation

Software Download

Resource Allocation

Defenses

Access Control

Untrusted Inputs

Missing Encryption

Hard Coded Credentials

Missing Authentication

Permission Assignment

Cryptographic Algorithm

102

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

103

A key element of any project is good teamwork Agile projects depend upon teamwork even more Balance between cohesion & out-of-the-box thinking

Agile Teamwork Model

Rico, D. F. (2011). The key attributes and factors of teams and teamwork for agile project management. Fairfax, VA: Gantthead.Com.

Factor

Leadership

Boundaries

Empowerment

Competence

Structure

Manageability

Motivation

Attributes

Credible, experienced, likeable, & nurturing project champion

Clear vision, mission, goals, & objectives

Adequate time, money, tools, & authority

Applicable skills, knowledge, experience, & personality

Clear roles, responsibilities, technical approach, & operating rules

Small, collaborative, cohesive, & frequently-communicating

Compensation, incentives, desire-to-succeed, & consequences

104

Agile teams start with great servant-leaders Agile teams rely more on coaches and mentors Coaches and mentors are wise and trusted teachers

Well-Coached

Davies, R., & Sedley (2009). Agile coaching. Raleigh, NC: Pragmatic Bookshelf.Adkins, L. (2010). Coaching agile teams: A companion for scrummasters, agile coaches, and project managers in transition. Boston, MA: Addison-Wesley.

105

Agile teams must be given clearly-stated mission Customers should specify their needs, not solution Agile teams must form a clear vision of the end-state

Clear Vision

Belsky, S. (2010). Making ideas happen: Overcoming the obstacles between vision and reality. New York, NY: Penguin Group.Kossoff, L. L. (1999). Executive thinking: The dream, the vision, the mission achieved. Palo Alto, CA: Davies-Black Publishing.Bates, S. (2009). Motivate like a CEO: Communicate your strategic vision and inspire people to act. New York, NY: McGraw-Hill.

106

Agile teams are empowered to get the job done Teams must have power, authority, and resources Egalitarian decision-making unleashes team capability

Fully-Empowered

Wordenweber, B. (2005). Innovation cell: Agile teams to master disruptive innovation. Berlin, Germany: Springer-Verlag.Wellins, R. S., Byham, W. C., & Wilson, J. M. (1993). Empowered teams: Creating self-directed work groups that improve quality, productivity, and participation. San Francisco, CA: Jossey-Bass..

107

Agile teams consist of highly-competent individuals Individuals must have the requisite training and skills Highly-talented individuals are the heart of agile teams

Highly-Talented

Bach, J. (1995). Enough about process: What we need are heroes. IEEE Software, 12(2), 96-98.Hunt, A., & Thomas, D. (1999). The pragmatic programmer. From journeyman to master. Reading, MA: Addison-Wesley.Martin, R. C. (2009). Clean code: A handbook of agile software craftsmanship. Upper Saddle River, NJ: Prentice-Hall.

108

Agile teams should be small and very manageable They should exhibit collectivism, cohesion, and trust Agile teams must seamlessly complement each other

Great Teamwork

Eckert, B., & Vehar, J. (2007). More lightning, less thunder: How to energize innovation teams. Paul Smiths, NY: New & Improved.Ancona, D., & Bresman, H. (2007). X-teams: How to build teams that lead, innovate, and succeed. Boston, MA: Harvard Business School Press.Kayser, T. (2010). Mining group gold: How to cash in on the collaborative brain power of a team for innovation and results. New York, NY: McGraw-Hill.

109

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile Teamwork Agile Scalability

Agile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

110

Enables projects to plan for the future and present Decomposes capabilities into implementable pieces Unclogs the drainpipes to let the execution flow freely

Multi-Level Teams

Highsmith, J. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

111

Enables multiple levels of abstraction to co-exist Allows customers and developers to communicate Makes optimum use of everyone’s time and resources

Multi-Level Backlog

Highsmith, J. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

112

Enables multiple level enterprise plans to co-exist Allows stakeholders to build viewpoint-specific plans Ensures capabilities are delivered at regular intervals

Multi-Level Planning

Highsmith, J. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

113

Enables lean and agile methods to scale-up Allows enterprises to create large-scale programs Unleashes optimum productivity and overall control

Multi-Level Coordination

Highsmith, J. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

114

Enables enterprises to achieve functional needs Allows programs to coordinate functional activities Ensures optimal technical performance is achieved

Multi-Level Governance

Highsmith, J. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.

Q

I

R

W

T

A

S

C

D

R

R

R

R

R

R

R

R

R

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

T

T

T

T

T

T

T

T

T

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

S

S

S

S

S

S

S

S

S

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

Q

I

R

W

T

A

S

C

D

R T S

115

Begins with a high-level product vision/architecture Includes multi-level teams and product requirements Demonstrates agile delivery model for large programs

Multi-Level Delivery Model

Leffingwell, D. (2011). Agile software requirements: Lean requirements practices for teams, programs, and the enterprise. Boston, MA: Pearson Education.

116

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile Scalability

Agile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

117

Kan-ban ('kæn-bæn): Signboard, billboard, signal cards; Lean, just-in-time system of production

A lean and just-in-time manufacturing process for regulating the flow of production based on demand

A pull-system philosophy of customized production vs. a push-system of mass-market manufacturing

A set of principles for creating a lean, efficient, and waste-free product flow by limiting work-in-process

Use of simple organizational policy changes resulting in order-of-magnitude performance improvements

Framework for optimizing workflow that maximizes efficiency, product quality, and customer satisfaction

What is Kanban?

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.

118

Kanban seeks initially to change as little as possible Change without resistance is the first Kanban goal Focus on improving quality, lead time and morale

Kanban Goals

Goal 2

Goal 3

Goal 4

Goal 5

Goal 6

Goal 7

Goal 8

Deliver high product quality (to build stakeholder trust)

Reduce long lead times (and stabilize them)

Achieve sustainable pace (work-life balance)

Provide process slack (for process improvement)

Simplify workload prioritization (of customer needs)

Provide transparency (into design and operations)

Strive for process maturity (to improve performance)

Goal 1 Optimize existing processes (rather than change them)

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.

119

Based on principles for product development flow Uses operations and mathematical queue theory Pragmatic operating principles for development

Kanban Recipe for Success

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.

Focus on Quality Reduce WIP Deliver Often Balance Demand Prioritize Attack Variability

Walkthroughs

Inspections

Technical reviews

Peer reviews

Pair programming

Test driven design

Continuous integration

Design patterns

Refactoring

Design simplicity

Usability engineering

Formal methods

Process flowcharting

Workflow analysis

Kanban boards

Limit work tasks

Limit queues

Limit buffers

Limit backlogs

Simple prioritization

Adequate resources

Process automation

Policy statements

Simplify process

Short releases

Short increments

Short iterations

Small releases

Frequent releases

Small batch sizes

Customer collaboration

Developer collaboration

Ample communication

Frequent builds

Deploy often

Automatic updates

Regulate inputs

Identify bottlenecks

Create slack

Limit work-in-process

Create pull system

Focus on precision

Focus on quality

Take pride in work

Improve morale

Learn new skills

Obtain training

Continuously improve

Prioritize inputs

Business focus-

Business value focus

Influence prioritization

Stabilize process

Build stakeholder trust

Perform risk analysis

Analyze demand

Evaluate size

Evaluate complexity

Market forecasting

Technology analysis

Work item size

Work item type mix

Service class mix

Irregular flow

Rework

Ambiguous reqmnts.

Expedited requests

Environment avail.

Market fluctuations

Coordination

Technological change

Skill/experience mix

120

Start by flow-charting the as-is product workflow Add buffers and queues one feels are necessary Add WIP limits to buffers, queues, and activity

Value Stream Mapping

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.

121

High work-in-process leads to longest lead times Low work-in-process greatly reduces lead times Results in better customer trust and satisfaction

Work-in-Process

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.

Bad Project

0

35

70

105

140

175

10/9 10/23 11/6 11/20 12/4 12/18 1/1 1/15 1/29 2/12 2/26

Time

Feat

ure

s

Inventory Started Designed Coded Complete

Good Project

0

48

96

144

192

240

2/10 2/17 2/24 3/2 3/9 3/16

Time

Fea

ture

s

Inventory Started Designed Coded Complete

122

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/Kanban

Agile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

123

Created by Jeff Sutherland at Easel in 1993 Product backlog comprised of customer needs Barely-sufficient project management framework

Scrum Project Management

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Initial Planning Sprint Cycle

Discovery Session

Agile Training Project Discovery Process Discovery Team Discovery Initial Backlog

Release Planning

Business Case Desired Backlog Hi-Level Estimates Prioritize Backlog Finalize Backlog

Product Backlog

Prioritized Requirements

Sprint Planning

Set Sprint Capacity Identify Tasks Estimate Tasks

Sprint Review

Present Backlog Items Record Feedback Adjust Backlog

Daily Scrum

Completed Backlog Items Planned Backlog Items Impediments to Progress

Sprint Backlog

List of Technical Tasks Assigned to a Sprint

Potentially Shippable Product

Working Operational Software

Sprint

Select Tasks and Create Tests Create Simple Designs Code and Test Software Units Perform Integration Testing Maintain Daily Burndown Chart Update Sprint Backlog

Sprint Retrospective

124

There are only three roles in the Scrum paradigm Product Owner is single wringable neck (cust. rep.) Scrum Master is overall process facilitator (i.e., coach)

Scrum Roles

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Scrum Master

Product Owner Scrum Team

Scrum

Planning Progress

Clarification

Scrum Master - Responsible for facilitating the process

Product Owner - Represents the client and owns the requirements

Scrum Team - Responsible for completing the work and fulfilling the requirements

Scrum Master assists the Product Owner in planning the release and making resources available

Scrum Master helps the Scrum Team make progress by removing impediments

Product Owner works closely with the Scrum Team to provide clarification and approval on requirements

Whole team meets daily to review progress and review the completed work at the end of each sprint

125

An eight hour timeboxed Sprint planning meeting Identifies highest priority requirements to implement Purpose is to produce a Sprint plan for 14 to 30 days

Sprint Planning

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Prepare Sprint

Ask QuestionsDevelop TasksCreate EstimatesMake Assignments

Release Planning

Create Stories Make ROI Goals Set Release Plans

Select Stories

Select StoriesSuggest StoriesDetermine Stories

CustomerNeeds

ProductBacklog

Agreed toBacklog

SprintBacklog

Product Owner, Scrum Master, Team

Eight Hour Time Limit

126

A 14 to 30 day timeboxed development iteration High priority requirements decomposed into tasks Purpose is to produce shippable product increment

Sprint

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Track Status

Checkoff TasksEstimate VelocityBurndown Charts

Manage Sprint

Freeze Backlog Seek Information Adjust Backlog Decision to Proceed Create Product

Analyze TasksDesign Solution Implement Solution Test Solution

SprintBacklog

DevelopmentTasks

DevelopmentStatus

ShippableProduct

30 Day Time Limit

Product Owner, Scrum Master, Team

127

A 15 minute timeboxed daily status meeting Developers state progress in a round robin style Purpose is to ensure that developers collaborating

Daily Scrum Meeting

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Establish Followup

Ask for Help Identify IssuesPlan Followup

Meeting Kickoff

Begin Meeting Facilitate Meeting Enforce Protocols

Report Status

Report ProgressState Daily PlansNote Impediments

Yesterday’sProgress

MeetingInitiation

DailyStatus

FollowupNotices

15 Minute Time Limit

Product Owner, Scrum Master, Team

128

A four hour timeboxed product demonstration Developers discuss requirements implemented Purpose is to show customers the result of Sprint

Sprint Review

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Close Review

Gauge SatisfactionRearrange Backlog Identify New Needs

Prepare for Review

Arrange Location Verify Product Prepare Demo

Hold Review

State Sprint Goal List RequirementsReport ProgressPresent Product

ShippableProduct

ProductDemo

CustomerFeedback

NewBacklog

Four Hour Time Limit

Product Owner, Scrum Master, Team, Customers

129

A three hour timeboxed lessons learned meeting Developers identify potential process improvements Purpose is to identify new non-functional requirements

Sprint Retrospective

Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.

Review Changes

Discuss ChangesPrioritize ChangesBaseline Chances

Facilitate Meeting

Check Attendance Verify Preparations Enforce Protocol

Hold Retrospective

State StrengthsState WeaknessesState Improvements

SprintResults

SprintOutcomes

ProcessImprovements

ApprovedChanges

Three Hour Time Limit

Product Owner, Scrum Master, Team

130

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile Scrum

Agile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

131

Agile methods are based on traditional measures Size, effort, and velocity metrics are most common Top-notch shops use complexity and testing metrics

Basic Agile Metrics

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

Type

Size

Effort

Velocity

Structure

Quality

Satisfaction

Business Value

Example

Story Points, Ideal Days, Function Points, Lines of Code, etc.

Ideal or Actual Hours, Days, Weeks, Months, Years, etc.

Release/Iteration Burndown/Burnup, Cumulative Flow, EVM, etc.

Object-Oriented, Relational Database, McCabe, Halstead, etc.

Running Tested Features, Defect Density, FURPS, MTBF, etc.

CUPRIMDA, Communications, Trust, Loyalty, Retention, etc.

Costs, Benefits, BEP, B/CR, ROI, NPV, IRR, ROA, EBV, etc.

132

Time expended is used for project tracking Tracked on a per-iteration or per-sprint basis Often described as a basic earned-value metric

Burndown/Burnup Metrics

Cohn, M. (2006). Agile estimating and planning. Upper Saddle River, NJ: Pearson Education.

Type

Ideal Days

Actual Days

Ideal Hours

Actual Hours

User Stories

Story Points

Technical Tasks

Example

How many days something takes without interruptions

How many days something takes with interruptions

How many hours something takes without interruptions

How many hours something takes with interruptions

How many customer requirements have been satisfied

How many units of software size have been satisfied

How many technical tasks have been completed

133

Costs based on productivity and quality Development costs based on LOC productivity Maintenance costs based on defects KLOC MH

Agile Cost Models

Type

Basic Form

XP

TDD

PP

Scrum

Agile

Example

(LOC Productivity + Quality KLOC 100) Hourly Rate

(LOC 16.1575 + 0.7466 KLOC 100) Hourly Rate

(LOC 29.2800 + 2.1550 KLOC 100) Hourly Rate

(LOC 33.4044 + 2.3550 KLOC 100) Hourly Rate

(LOC 05.4436 + 3.9450 KLOC 100) Hourly Rate

(LOC 21.2374 + 1.7972 KLOC 100) Hourly Rate

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

134

A major principle of Agile Methods is creating value ROI is the measure of value within Agile Methods There are seven closely related ROI measures

Agile Business Value

Type

Costs

Benefits

Breakeven

B/CR

ROI

NPV

Real Options

Example

Total amount of money spent on agile methods

Total amount of money gained from using agile methods

Point when the benefits of using agile methods exceed the costs

Ratio of agile methods benefits to costs of using agile methods

Ratio of adjusted agile methods benefits to costs of using them

Present value of agile methods benefits that result from their use

Value gained from incremental investments in high-risk projects

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

135

EVM has been adapted to Agile Methods EVM based on notion that total scope is known EVM may “not” be well-suited for large agile projects

Agile EVM

Sulaiman, T., Barton, B., & Blackburn, T. (2006). Agile EVM: Earned value management in scrum projects. Proceedings of the Agile 2006 Conference (Agile 2006), Minneapolis, Minnesota, USA, 7-16.

Type

PMB

SBL

BAC

PPC

APC

SPC

SPA

Example

Total number of story points planned for a release

Total number of iterations multiplied by iteration length

The planned budget for the release

Number of current iterations divided by planned iterations

Total story points completed divided by story points planned

Story points of work completed from backlog during iteration

Story points added/subtracted from backlog during iteration

136

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & Models

Agile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

137

Costs based on avg. productivity and quality Productivity ranged from 3.5 to 43 LOC an hour Costs were $136,551, benefits were $4,373,446

Extreme Programming

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

Formula

(10,000 16.1575 0.7466 10 30) 100

$4,373,446 $136,551

($4,373,446 – $136,551) $136,551 100%

($4,373,446 5) 1.055) – $136,551

$136,551 ($4,509,997 $136,551 – 1)

NORMSDIST (8.07) $4,373,446 –NORMSDIST (7.59) $136,551 EXP (–5% 5)

(10,000 .51 – 6,666.7 ) 100 – $136,551

Value

$136,551

32:1

3,103%

$3,650,396

$4,263

$4,267,100

$4,373,446

Metric

Costs

B/CR

ROI

NPV

BEP

ROA

Benefits

5

1i(

138

Costs based on avg. productivity and quality Productivity ranged from 12 to 46 LOC an hour Costs were $249,653, benefits were $4,260,344

Test-Driven Development

Formula

(10,000 29.2800 + 2.1550 10 100) 100

$4,260,344 $249,653

($4,260,344 – $249,653) $249,653 100%

($4,260,344 5) 1.055) – $249,653

$249,653 ($4,509,997 $249,653 – 1)

NORMSDIST(2.79) $4,260,344 –NORMSDIST(1.27) $249,653 EXP(–5% 5)

(10,000 10.51 – 6,666.67 9) 100 – $249,653

Value

$249,653

17:1

1,607%

$3,439,359

$14,629

$4,074,506

$4,260,344

Metric

Costs

B/CR

ROI

NPV

BEP

ROA

Benefits

5

1i(

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

139

Costs based on avg. productivity and quality Productivity ranged from 15 to 86 LOC an hour Costs were $265,436, benefits were $4,244,561

Pair Programming

Formula

(10,000 33.4044 + 2.3550 10 100) 100

$4,244,561 $265,436

($4,244,561 – $265,436) $265,436 100%

($4,244,561 5) 1.055) – $265,436

$265,436 ($4,509,997 $265,436 – 1)

NORMSDIST(2.69) $4,244,561 –NORMSDIST(1.10) $265,436 EXP(–5% 5)

(10,000 10.51 – 6,666.67 9) 100 – $265,436

Value

$265,436

16:1

1,499%

$3,409,909

$16,599

$4,050,919

$4,244,561

Metric

Costs

B/CR

ROI

NPV

BEP

ROA

Benefits

5

1i(

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

140

Costs based on avg. productivity and quality Productivity ranged from 4.7 to 5.9 LOC an hour Costs were $578,202, benefits were $3,931,795

Scrum

Formula

(10,000 5.4436 + 3.9450 10 100) 100

$3,931,795 $578,202

($3,931,795 – $578,202) $578,202 100%

($3,931,795 5) 1.055) – $578,202

$578,202 ($4,509,997 $578,202 – 1)

NORMSDIST(2.08) $3,931,795 –NORMSDIST(-0.15) $578,202 EXP(–5% 5)

(10,000 10.51 – 6,666.67 9) 100 – $578,202

Value

$578,202

7:1

580%

$2,826,321

$85,029

$3,660,805

$3,931,795

Metric

Costs

B/CR

ROI

NPV

BEP

ROA

Benefits

5

1i(

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

141

Costs based on avg. productivity and quality Productivity ranged from 3.5 to 86 LOC an hour Costs were $226,807, benefits were $4,283,190

Agile Methods

Formula

(10,000 21.2374 + 1.7972 10 100) 100

$4,283,190 $226,807

($4,283,190 – $226,807) $226,807 100%

($4,283,190 5) 1.055) – $226,807

$226,807 ($4,509,997 $226,807 – 1)

NORMSDIST(2.99) $4,283,190 –NORMSDIST(1.59) $226,807 EXP(–5% 5)

(10,000 10.51 – 6,666.67 9) 100 – $226,807

Value

$226,807

19:1

1,788%

$3,481,988

$12,010

$4,110,305

$4,283,190

Metric

Costs

B/CR

ROI

NPV

BEP

ROA

Benefits

5

1i(

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

142

XP ROI 18X more than traditional methods Scrum ROI 3.4X more than traditional methods Agile methods ROI 10X more than trad. methods

ROI of Agile Methods

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

3,103%

1,788%1,607% 1,499%

580%

173%

0%

925%

1,850%

2,775%

3,700%

XP Agile TDD PP Scrum CMMI®

Software Method

Ret

urn

on I

nves

tmen

t

143

Productivity is accelerated with light weight processes Quality goals are obtained with disciplined processes Agile Methods have up to 20 times lower total costs

Business Value of Agile Methods

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross.

144

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & Benefits

Agile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

145

Most basic tracking chart for agile projects Tracks number of work or time units completed Commonly used to track no. story points completed

Burndown

Rawsthorne, D. (2009). Agile metrics. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA.

Burndown Chart

Wor

k (S

tory

, Poi

nt, T

ask)

or E

ffor

t (W

eek,

Day

, Hou

r)

Planning (Roadmap, Release, Iteration) or Time Unit (Month, Week, Day)

146

Popular tracking chart for agile projects Tracks number of work or time units completed Basic form of cumulative workflow & overall progress

Burnup

Nicolette, D. (2009). Agile metrics. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA.

Wor

k (S

tory

, Poi

nt, T

ask)

or E

ffor

t (W

eek,

Day

, Hou

r)

Planning (Roadmap, Release, Iteration) or Time Unit (Month, Week, Day)

Burnup Chart

147

High work-in-process leads to longest lead times Low work-in-process greatly reduces lead times Results in better customer trust and satisfaction

Cumulative Flow

Anderson, D. J. (2004). Agile management for software engineering: Applying the theory ofconstraints for business results. Upper Saddle River, NJ: Pearson Education.

Traditional vs. Agile Cumulative Flow

Wor

k (S

tory

, Poi

nt, T

ask)

or E

ffor

t (W

eek,

Day

, Hou

r)

Time Unit (Roadmap, Release, Iteration, Month, Week, Day, Hour, etc.)

Wor

k (S

tory

, Poi

nt, T

ask)

or E

ffor

t (W

eek,

Day

, Hou

r)

Time Unit (Roadmap, Release, Iteration, Month, Week, Day, Hour, etc.)

Traditional Cumulative Flow Agile Cumulative Flow

148

Adaptation of EVM for agile projects Mapping between traditional and agile projects Work completed is more authoritative in agile projects

Agile EVM

Sulaiman, T., Barton, B., & Blackburn, T. (2006). Agile EVM: Earned value management in scrum projects.Proceedings of the Agile 2006 Conference (Agile 2006), Minneapolis, Minnesota, USA, 7-16.

Agile EVM

CPI

SPI

PPC

APC

Wor

k (S

tory

, Poi

nt, T

ask)

or E

ffor

t (W

eek,

Day

, Hou

r)

Planning (Roadmap, Release, Iteration) or Time Unit (Month, Week, Day)

149

ROI is estimated for user stories in agile projects Value accrues with each completed user story Value of completed tasks is more meaningful

Earned Business Value

Rawsthorne, D. (2010). Monitoring scrum projects with agile evm and earned business value metrics. Brisbane, CA: Collab.Net.

Earned Business Value

Wor

k (S

tory

, Poi

nt, T

ask)

or E

ffor

t (W

eek,

Day

, Hou

r)

Planning (Roadmap, Release, Iteration) or Time Unit (Month, Week, Day)

150

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.

Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

151

Myth that voluminous documentation is needed Myth that agile methods do not use documentation Right-sized, just-in-time processes and documentation

Agile Documentation

Rueping, A. (2003). Agile documentation: A pattern guide to producing lightweight documents for software projects. West Sussex, England: John Wiley & Sons.

Contracts

Document Type

Project Plans

Requirements

Architecture

Design

Coding

Tests

User guides

Quality Assurance

Agile Documentation

Performance-based, time-and-materials, level-of-effort

Release plans, iteration plans, story boards, agile repositories

User stories, wire frames, use cases, paper prototypes

Metaphors, spikes, system modeling language, DoDAF

Wire frames, design patterns, unified modeling language

Code patterns, program design language, coding comments

Unit, component, integration, system, and acceptance tests

XML documents, online help, Wikis, FAQs, video and audio clips

Performance, reliability, code structure analysis, and test reports

152

Fluid, informal roadmap for planning releases Includes dates for releases, iterations, and stories Must prioritize, split, estimate, and order user stories

Release Plan

Release Plan

Release PlanReleaseIteration

Release PlanRelease Iteration

1234n

1122n

Story01 thru 0607 thru 1213 thru 1819 thru 2425 thru nn

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

153

Plan that divides iterations into development tasks Each iteration is one to three weeks in duration Iteration plans updated using daily standups

Iteration Plan

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

154

A function or feature of value to a customer An estimable and testable software requirement Six user stories should be implemented per iteration

User Story

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

155

Simple story about how the whole system works Overarching 10,000 foot view of system architecture Pushes the system into a sense of coherent cohesion

System Metaphor

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

156

Black-box, functional tests to be performed Specified by customers during iteration planning Run when user stories and unit tests are completed

Acceptance Tests

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.

157

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile Documentation

Agile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

158

Agile tools exist to support the entire lifecycle Key tools exist as free and open source software Maximize flexibility, efficiency, reporting, and quality

Agile Tools & Automation

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

159

Range from project management to communications Includes information sharing/knowledge management Workflow tools are helpful for large, distributed projects

Agile Workflow Tools

Schiel, J. (2010). Enterprise-scale agile software development. Boca Raton, FL: CRC Press.

Project Management

Version OneRally Scrum Works Xplanner Ice ScrumMingle

Collaboration

WebEx SkypeMeetMeWimba SameTimeNetMeeting

Wiki

MediaWiki TracWiki PhpWiki MoinMoin TikiWiki WakkaWiki

Chat

ICQ AOL MSN Cahoots Yahoo PowWow

160

Range from requirements to unit testing automation Includes design automation such as screen mockups Agile engineering tools are good for distributed projects

Agile Engineering Tools

Ambler, S. W. (2002). Agile modeling: Effective practices for extreme programming and the unified process. New York, NY: John Wiley & Sons.Ambler, S. W. (2004). The object primer: Agile model-driven development with UML 2.0. New York, NY: Cambridge University Press.

Requirements

DOORSRequisiteProSLATERDD-100CoreRTM

Design

Rhapsody Telelogic SARational SAArtisan Papyrus Statemate

Coding

Notepad++ JEdit Notepad2 Prog. Notepad Crimson Editor ConTEXT

Testing

JUnit NUnit Xunit CPPUnit Gtest Fit

161

Range from code analysis to continuous integration Includes one-touch system-level regression analysis Agile support tools are scalable to large-scale projects

Agile Support Tools

Mason, M. (2006). Pragmatic version control: Using subversion. Raleigh, NC: Pragmatic Bookshelf.Clark, M. (2004). Pragmatic project automation: How to build, deploy, and monitor jave apps. Raleigh, NC: Pragmatic Bookshelf.Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration: Improving software quality and reducing risk. Boston, MA: Addison-Wesley.

Quality Assurance

CheckStylePMDEMMA JdependCoberturaGcov

Configuration Mgt

Subversion CVSClearCaseMKS Perforce VSS

Build Automation

Ant NAnt Maven Make Rake Jar

Continuous Integ

Cruise Control Hudson BuildBot Continuum TeamCity AntHill

162

Range from IDEs to middleware frameworks Includes Web mashup application composition Agile middleware tools are useful for all projects

Agile Middleware Tools

Hemrajani, A. (2006). Agile java development with spring, hibernate, and eclipse. Indianapolis, IN: Sams Publishing.Klocker, C. (2008). Mashups: A new concept in web application programming. Saarbrucken, Germany: VDM Verlag.

Environments

Eclipse Visual Studio Sun StudioNetBeansGNAT Prog StudioOpenWatson

Frameworks

SpringHibernate StrutsAJAXGoogle GuiceHiveMind

Mashups

Google Maps Google Search Google Docs Amazon Web Flickr Twitter

Documentation

NDoc Javadoc Doxygen iText SoDa ROBODoc

163

Range from Web graphics to turnkey e-commerce Includes full-service Web hosting and shopping carts Agile e-commerce tools are ideal for very large projects

Agile E-Commerce Tools

Elad, J. (2008). Web stores: Do it yourself for dummies. Hoboken, NJ: Wiley Publishing.Kaye, D. (2002). Strategies for web hosting and managed services. New York, NY: John Wiley.

Web Graphics

PhotoShop Illustrator PainterMangaArtweaverOpencanvas

Website Design

Flash FireworksColdFusionDreamweaver FrontPage Freehand

Website Hosting

Inmotion iPage JustHost WebHostingPad FatCow WebHostingHub

Web Stores

Shopsite Pro Merchandizer Pro Network Solutions SunShop StoreFront Mercantec

164

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated Tools

Agile Contract ModelsAgile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

165

New contract models emerged for agile contracts Goals, objectives, and visions are established early Buyers and suppliers collaborate throughout contract

Agile Contracting Models

Rico, D. F. (2011). The necessity of new contract models for agile project management. Fairfax, VA: Gantthead.Com.

Contract Type Description

Dynamic Value

Performance Based

Target Cost

Optional Scope

Collaborative

Lean

Specify initial scope and needs (with iterative enhancements)

Establish performance objectives (but not technical solutions)

Broad boundaries for time, cost, and quality (but not scope)

Set minimum and maximum costs (based on initial scope)

Outline initial scope (with fixed no. of releases and iterations)

Lean tools such as small batches, Kanban, WIP constraints, etc.

166

Developed by U.S. DoD in the 2000 timeframe Born out of radical acquisition reforms of 1990s Focuses on objectives and outcomes vs. process

Performance-Based Acquisition

Gansler, J. S. (2000). Guidebook for performance based services acquisition in the U.S. DoD. Washington, DC: Author.Sade, M. (2009). Seven steps to performance based services acquisition. Washington, DC: General Services Administration.

Performance Based Services Acquisition

Integrated Solutions Team

Ensure management involvement Tap multi disciplinary expertise Define roles and responsibilities Develop rules of conduct Empower and incentivize team Identify stakeholders

Problem Statement

Link acquisition to strategic roadmap Link acquisition to mission objectives Link acquisition to performance goals Define desired results at a high level Decide what constitutes success Determine current performance level

Private and Public Solutions

Team approach to market research Learn from public sector Consult with private sector firms One on one industry meetings Look for existing contracts Document market research

Statement of Objectives

Elevator message Describe the scope Performance objectives Share objectives Identify the constraints Develop the background

Measure Performance

Success determinants Quality standards Proposed metrics Meaningful measures Contractual language Order of precedence

Select Contract

Compete the solution Oral presentations Past performance Best value evaluation Final source selection Conflict of interest

Manage Performance

Keep the team together Roles and responsibilities Assign accountability Formal kick off meeting Performance based mgt Review performance

167

Concept attributed to Toyota Production System Adapted for agile project management in 2005 Good balance of structure, flexibility, & trust

Target Cost

Eckfeldt, B., Madden, R., & Horowitz, J. (2005). Selling agile: Target cost contracts. Proceedings of the Agile Conference (Agile 2005), Denver, Colorado, USA, 160-166.

Target Cost Contract

Scope Statement

Business vision System metaphor User stories Effort estimate Priorities Roadmap

Statement of Work

Development days Support estimate Contingency Cost estimate Fixed profit Total cost estimate

Master Agreement

Non-disclosure terms Product ownership Indemnification terms Non-compete terms Administration Termination terms

Release Plan

Feature priorities Wireframes Development tasks Task effort Iteration plan Workflow tool

Closeout

Acceptance test Final documentation Document handover Deployment testing Joint evaluation Administrative close

Development

Iterations, Sprints, or Increments

Perform daily standup meetings Develop acceptance and unit tests Create or refactor software code in pairs Check-in code and perform unit testing Perform continuous integration Hold iteration retrospective

Change Management

Perform customer demonstration Solicit feedback from client Classify and categorize feedback Negotiate scope changes with client Update letter of agreement (LOA) Update release and iteration plans

Support Processes

Security engineering, user experience design, software certification testing, quality assurance, configuration management, etc.

168

Developed by Norwegian Computer Society Adapted for IT, incremental, and agile methods Upfront scoping similar to Feature Driven Design

PS2000 for Agile

Norwegian Computer Society. (2010). PS2000 standard contract for software development. Oslo, Norway: Author.

PS2000 Agile Contract

Needs Phase

Perform needs analysis Develop uncertainty matrix Analyze top level risks areas Identify development environment Prepare milestones and schedules

Solution Description Phase

Develop high level prototypes Develop architecture and design Establish development priorities Prepare description of solution Verify solution description

Approval and Completion Phase

Perform acceptance testing Perform quality certification Deliver final documentation Perform joint project evaluation Perform limited maintenance

Iterative Construction

SignContract

ApproveSolution

PrepareDelivery

Detailed Planning

Analyze needs and solution description Develop detailed iteration plan Develop detailed specifications Develop detailed design models Verify detailed design

Product Development and Verification

Document development methods and tools Develop prototypes and components Demonstrate prototypes and components Gather customer or end user feedback Perform verification and quality assurance

Testing and Debugging

Prepare test plans and specifications Perform detailed component testing Perform integration and system testing Monitor, log, and remediate defects Perform quality and reliability modeling

Checkpoints and Other Services

Configuration management, iteration retrospectives, checkpoint progress reviews, re-planning and mid-course corrections, training, etc.

, Beta Testing,

169

Idea originated from Barry Boehm in 1985 Adapted to U.S. DoD acquisitions in 1999/2000 Incrementally insert emerging technology into acq.

Evolutionary Acquisition

Ford, D. N., & Dillard, J. (2009). Modeling the performance an risks of evolutionary acquisition. Defense Acquisition Review Journal, 16(2), 143-158.

Evolutionary Acquisition

Technology Development

Engineering &Manufacturing

Production &Deployment

Operations &Support

6 Months 12 Months 18 Months 24 Months 30 Months

Increment 1Spiral 1 Spiral 2 Spiral 3

Technology Strategy

Increment 2Spiral 1 Spiral 2 Spiral 3

Technology Strategy

Increment 3Spiral 1 Spiral 2 Spiral 3

Technology Strategy

Increment 4Spiral 1 Spiral 2 Spiral 3

Technology Strategy

Increment 5Spiral 1 Spiral 2 Spiral 3

Technology Strategy

Increment 1Spiral 1 Spiral 2 Spiral 3

System Prototype

Increment 2Spiral 1 Spiral 2 Spiral 3

System Prototype

Increment 3Spiral 1 Spiral 2 Spiral 3

System Prototype

Increment 4Spiral 1 Spiral 2 Spiral 3

System Prototype

Increment 1Spiral 1 Spiral 2 Spiral 3

Finished System

Increment 2Spiral 1 Spiral 2 Spiral 3

Finished System

Increment 3Spiral 1 Spiral 2 Spiral 3

Finished System

Increment 1Spiral 1 Spiral 2 Spiral 3

LRIP

Increment 2Spiral 1 Spiral 2 Spiral 3

LRIP

Increment 1Spiral 1 Spiral 2 Spiral 3

FRPS

CDR CDRCDR

FDR FDR

Material Solution Analysis

MDD

A1

MDD

A2

B1

MDD

A3

B2

C1

MDD

A4

B3

C2

MDD

IOC

FOC

170

Originated from agile methods popularity in 2002 Gained foothold in U.S. DoD with scrum popularity Frontloads systems engineering with early systems

Lean & Agile Acquisition

Reagan, R. B., & Rico, D. F. (2010). Lean and agile acquisition and systems engineering: A paradigm whose time has come. Defense AT&L Magazine, 39(6), 48-52.

Lean & Agile Acquisition

Program 1

Program 2

Program n

6 months 12 months 18 months 24 months 30 months

A1 B1 C1 FRP FOCMDD

Release 1Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 2Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 3Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 4Sprint 0 Sprint 3 Sprint 6

Operational Capability

FDR IOC

Material Solution Analysis

Technology Development

Engineering & Manufacturing

Production &Deployment

Operations &Support

Release 5Sprint 0 Sprint 3 Sprint 6

Operational Capability

CDR

A2 B2 C2 FRP FOCMDD

Release 1Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 2Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 3Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 4Sprint 0 Sprint 3 Sprint 6

Operational Capability

FDR IOC

Release 5Sprint 0 Sprint 3 Sprint 6

Operational Capability

CDR

A3 B3 C3 FRP FOCMDD

Release 1Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 2Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 3Sprint 0 Sprint 3 Sprint 6

Operational Capability

Release 4Sprint 0 Sprint 3 Sprint 6

Operational Capability

FDR IOC

Release 5Sprint 0 Sprint 3 Sprint 6

Operational Capability

CDR

171

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract Models

Agile Change ModelsAgile Case StudiesAgile SummaryAgile Resources

172

Idea originated with Everett Rogers in 1962 A few early adopters will embrace a new idea The majority will resist change for a longer time

Diffusion of Innovations

Rogers, E. (2003). Diffusion of innovations. New York, NY: Free Press.

Diffusion of Innovations

Dif

fusi

on

Innovators EarlyAdopters

EarlyMajority

LateMajority Laggards

173

Idea originated with Geoffrey Moore in 1991 Time between adoption phases is not uniform Large gap between early adopters and majority

Crossing the Chasm

Moore, G. A. (2002). Crossing the chasm: Marketing and selling high tech products to mainstream customers. New York, NY: HarperCollins..

Crossing the Chasm

Dif

fusi

on

Innovators EarlyAdopters

EarlyMajority

LateMajority Laggards

174

Idea originated with Virginia Satir in 1980s Large changes plunge organizations into chaos Depth and length of chaos is related to its magnitude

Virginia Satir Model

Satir, V., Banmen, J., Gerber, J., & Gomori, M. (1991). The satir model: Family therapy and beyond. Palo Alto, CA: Science and Behavior Books.

Virginia Satir Model

StatusQuo Resistance Chaos Recovery New

State

Pro

duct

ivit

y

175

Large change, no matter how good, often fails Goal is to break changes into smaller increments Smaller and imperceptible change is more successful

Incremental Change

Smith, G., & Sidky, A. (2009). Becoming agile: In an imperfect world. Greenwich, CT: Manning Publications.

Incremental Change

StatusQuo

Resist-stance Chaos Reco-

veryNewState

StatusQuo

Resist-ance Chaos Reco-

veryNewState

StatusQuo

Resist-ance Chaos Reco-

veryNewState

Pro

duct

ivit

y

176

Top down big bang change is most often tried Punctuated equilibrium is most well known form Project champions and coaching are very effective

Organization Change Methods

Holman, P., Devane, T., & Cady, S. (2007). The change handbook: The definitive resource on today’s best methods for emerging whole systems. Berrett-Koehler.

Organization Change Methods

One time radical organizational change often motivated by a severe crisis, i.e., crisis is a catalyst for changePunctuated Equilibrium

Personal Influence

Business Case

Executive Coaching

Executive Commitment

Adequate Resources

Top Down Change

Model Driven Change

Manager Involvement

Employee Involvement

Training & Education

Evolutionary Change

Project Champion

Coaching & Mentoring

Just Do It

Informal appeal for authority to change based on personal trust or relationships, i.e., elevator speech

Compelling qualitative and quantitative business value analysis, i.e., return on investment analysis

Formal or informal mentoring or tutoring of organizational executives and senior leaders

A personal endorsement for change from an organizational executive or senior leader

Formal allocation of resources to execute a large organizational change initiative

One time organization change initiative based on a formal strategic plan, i.e., big bang organization change

Isolated change initiatives based on step by step frameworks, i.e., PDCA, DMAIC, DMADV, etc.

Psychological involvement and commitment of middle managers to avoid bureaucratic obfuscation

Psychological involvement and commitment of lower level workforce to avoid operational resistance

Formal classroom instruction and education to impart the skills necessary for successful change

The implementation of numerous smaller scale changes to prevent long term psychological resistance and chaos

Formal appointment of an individual to take personal responsibility for success of change, i.e., heavyweight PM

Formal or informal mentoring or tutoring of employees or team members to help them overcome hidden obstacles

Assuming personal responsibility for change with or without formal authorization, i.e., forgiveness vs. permission

177

Change, no matter how small or large, is difficult Smaller focused changes help to cross the chasm Shrinking, simplifying, and motivation are key factors

How to Cross the Chasm

Heath, C., & Heath, D. (2010). Switch: How to change things when change is hard. New York, NY: Random House.Patterson, K., et al. (2008). Influencer: The power to change anything: New York, NY: McGraw-Hill.

How to Cross the Chasm

Switch How to Change Things When Change is Hard Influencer The Power to Change Anything

Direct the Rider

Follow the bright spots - Clone what works Script the critical moves - Use prescriptive behaviors Point to the destination - Focus on the end game

Motivate the Elephant

Find the feeling - Appeal to emotion Shrink the change - Use incremental change Grow your people - Invest in training and education

Shape the Path

Tweak the environment - Simplify the change Build habits - Create simple recipes for action Rally the herd - Get everyone involved

Make the Undesirable Desirable Create new experiences - Make it interesting Create new motives - Appeal to sensibility

Surpass your Limits Perfect complex skills - Establish milestones Build emotional skills - Build maturity and people skills

Harness Peer Pressure Recruit public personalities - Involve public figures Recruit influential leaders - Involve recognized figures

Find Strength in Numbers Utilize teamwork - Enlist others to help out Enlist the power of social capital - Scale up and out

Design Rewards and Demand Accountability Use incentives wisely - Reward vital behaviors Use punishment sparingly - Warn before taking action

Change the Environment Make it easy - Simplify the change Make it unavoidable - Build change into daily routine

178

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change Models

Agile Case StudiesAgile SummaryAgile Resources

179

80% of worldwide IT projects use agile methods Includes highly-regulated industries like U.S. DoD Even split between top-down and bottom-up adoption

Agile Case Studies

Rico, D. F. (2010). Lean and agile project management: For large programs and projects. Proceedings of the First International Conference on Lean Enterprise Software and Systems, Helsinki, Finland, 37-43.

Industry

ShrinkWrapped

ElectronicCommerce

HealthCare

LawEnforcement

Org 20 teams 140 people 5 countries

Size

15 teams 90 people Collocated 4 teams 20 people Collocated 10 teams 50 people Collocated 3 teams 12 people Collocated

U.S.DoD

Primavera

Google

Stratcom

FBI

FDA

Project

Primavera

Adwords

SKIweb

Sentinel

m2000

Purpose

ProjectManagement

Advertising

KnowledgeManagement

Case FileWorkflow

BloodAnalysis

1,838 User Stories 6,250 Function Points 500,000 Lines of Code

Metrics

26,809 User Stories 91,146 Function Points 7,291,666 Lines of Code 1,659 User Stories 5,640 Function Points 451,235 Lines of Code 3,947 User Stories 13,419 Function Points 1,073,529 Lines of Code 390 User Stories 1,324 Function Points 105,958 Lines of Code

180

Google started using agile methods in 2005 Used it on one of their most profitable products Incrementally adopted agile one practice at a time

E-Commerce—Google

Striebeck, M. (2006). Ssh: We are adding a process. Proceedings of the Agile 2006 Conference (Agile 2006), Minneapolis, Minnesota, USA, 193-201.

Project Name

Project Type

Project Size

Product Size

Environment

Before APM

APM Practices

After APM

Lessons Learned

AdWords

Pay-per-Click (PPC) Internet Advertising Mechanism

20 teams of 140 people distributed over 5 countries

1,838 user stories, 6,250 function points, 500,000 lines of code

Entrepreneurial, egalitarian, dynamic, unpredictable, informal, unstructured

Chronic schedule delays, poor quality, unpredictability, poor estimation

Release planning, wikis for APM support, early testing and continuous integration

Better planning and estimates, earlier testing, better quality, large-scale adoption

Agile fit like a hand-in-glove, introduce agile methods slowly and then scale-up

181

Primavera started using agile methods in 2004 Used it on their flagship project management tools Adopted agile all-at-once with top-down mgt. support

Shrink-Wrapped—Primavera

Schatz, B., & Abdelshafi, I. (2005). Primavera gets agile: A successful transition to agile development. IEEE Software, 22(3), 36-42.

Project Name

Project Type

Project Size

Product Size

Environment

APM Practices

After APM

Lessons Learned

Primavera

Enterprise Project Management Tool

15 teams of 90 people collocated at one site

26,809 user stories, 91,146 function points, 7,291,666 lines of code

Top-down, hierarchical, command and control, traditional, waterfall approach

Release planning, agile project management tools, automated testing tools

75% quality and 40% cycle time improvement, 40-hour work week, 0% attrition

Agile results in better communication, motivation, and empowerment

Before APM Poor relationships, quality, usability, and customer satisfaction, functional silos,18-hour days, 7-day work weeks, frustration, disappointment, apathy, exhaustion

182

FDA suppliers started using agile methods in 2008 Used it on most stringent Class 3 certified products Used to modernize 1990s era products & processes

Healthcare—FDA

Rasmussen, R., Hughes, T., Jenks, J. R., & Skach, J. (2009). Adopting agile in an FDA regulated environment. Proceedings of the Agile 2009 Conference (Agile 2009), Chicago, Illinois, USA, 151-155.

Project Name

Project Type

Project Size

Product Size

Environment

APM Practices

After APM

Lessons Learned

m2000 Real-time PCR Diagnostics System

Human Blood Analysis Tool (i.e., HIV-1, HBV, HCV, CT, NG, etc.)

4 teams of 20 people collocated at one site

1,659 user stories, 5,640 function points, 451,235 lines of code

FDA-regulated medical devices, real-time, safety-critical, Class III–most stringent

Release planning, lighter-weight agile testing techniques, continuous integration

25% cycle time and staff-size reduction, 43% cost reduction, fewer defects

Agile enables the ability to balance fast cycle time with high-quality safety-critical solutions

Before APMCumbersome process, poor quality, long cycle time, slow big-bang integration, obsolete, hard-to-staff tools and methods, inability to keep pace with changing requirements,Intense market competition, exponential rate of technological change, fewer resources

183

IC started using agile methods following 9/11 Used it on billion dollar transformation initiatives Goal is to catch bad guys better, faster, and cheaper

Law Enforcement—FBI

Babuscio, J. (2009). How the FBI learned to catch bad guys one iteration at a time. Proceedings of the Agile 2009 Conference (Agile 2009), Chicago, Illinois, USA, 96-100.

Project Name

Project Type

Project Size

Product Size

Environment

Before APM

APM Practices

After APM

Lessons Learned

Inter-Agency Intelligence Sharing System

Domestic Terrorist Database/Data Warehouse

3 teams of 12 people collocated at one site

643 user stories, 2,188 function points, 175,000 lines of code

CMMI Level 3, ISO 9001, government-mandated document-driven waterfall life cycle, emerging federal directives for more information sharing and integration amongintelligence community partners, rapidly changing customer requirements

Unresponsive waterfall life cycles, chronic schedule delays, anxious customers, unhappy developers, resource focus on becoming CMMI Level 3 certified caused everyone to lose track of the real goal, which was to “catch bad guys”

Release planning, user stories, test-driven development, continuous integration

50% quality improvement, 200% productivity increase, FBI created policy for agile methods

Agile enables fast response times, customer satisfaction, and ability to "catch bad guys"

184

U.S. DoD started using agile methods following 9/11 Used it on billion-dollar software-intensive systems Goals are to respond to rapidly emerging threats

U.S. DoD—STRATCOM

Fruhling, A., McDonald, P, & Dunbar, C. (2008). A case study: Introducing extreme programming in a U.S. government system development project. Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008), Waikaloa, Big Island, Hawaii, USA, 464-473.

Project Name

Project Type

Project Size

Product Size

Before APM

APM Practices

After APM

Lessons Learned

Strategic Knowledge Integration Website (SKIweb)

Knowledge Management System (KMS)—Advanced Search Capability

3 teams of 12 people collocated at one site

390 user stories, 1,324 function points, 105,958 lines of code

Long cycle times, dissatisfied customers, unresponsive life cycles, poor quality

Release planning, frequent customer collaboration, continuous integration

Good teamwork, 200% productivity increase, improved quality, fewer defects

Agile improves customer satisfaction/communication, and overall product quality

EnvironmentTraditional linear documentation-based development, contract-oriented, hierarchical communication, rapidly changing operational requirements, need for leaner U.S. military force, seeking better and faster ways of getting critical information to decision makers, decentralization, migration to net-centric service oriented architectures, egalitarian decisions

185

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case Studies

Agile SummaryAgile Resources

186

Common myths still abound, although agile methods have been around for ~20 years Agile methods are only good for rapid prototypes Agile methods are only for software development Agile methods are only for small co-located teams Agile methods have no requirements or documents Agile methods need traditional system architectures Agile methods have no project management model Agile methods are undisciplined and unmeasurable Agile methods create unmaintainable systems Agile methods result in security vulnerabilities Agile methods mean deliver it fast and fix it later

Agile Myths

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

187

Agile Methods are a fundamentally new paradigm Agile Methods are “not” lighter Traditional Methods They should not be viewed through a traditional lens

Advanced Agile Measures

Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.

Customer Collaboration

Working Software

Individuals & Interactions

Responding to Change

valuedmore than

valuedmore than

valuedmore than

valuedmore than

Agile

Met

rics

Traditional Metrics

Contracts

Documentation

Processes

Project Plans

Frequent comm. Close proximity Regular meetings

Multiple comm. channels Frequent feedback Relationship strength

Leadership Boundaries Empowerment

Competence Structure Manageability/Motivation

Clear objectives Small/feasible scope Acceptance criteria

Short/timeboxed durations Valid operational results Regular cadence/intervals

Org. flexibility Mgt. flexibility Process flexibility

System flexibility Technology flexibility Infrastructure flexibility

Contract compliance Contract deliverables Contract change orders

Lifecycle compliance Process Maturity Level Regulatory compliance

Document deliveries Document comments Document compliance

Cost Compliance Scope Compliance Schedule Compliance

188

User experience is key ingredient to success UX should be included throughout agile life cycle UX involves end to end product & service experience

Agile User Experience Design

Johnson, J. D. (2010). Agile UX retreat: We should value competencies over roles. Retrieved April 22, 2011 from http://www.jeremydjohnson.com/index.php/2010/03Kollmann, J., Sharp, H., & Blandford, A. (2009). The importance of identity and vision to user experience designers on agile projects. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA, 11-18.

Product Owner Agile UX Development

Define Product Vision & Strategy

DefineUser Needs

BuildUser Experience

BuildProduct

Competitive Analysis

Define Feature Set

Quantify Business Value

Prioritization

Define Business Rules

Pricing & Budgeting

Project Accountability

Partnerships & Licensing

User Interviews

Contextual Inquiry

User Flows

Wireframes & Mockups

Prototyping

Usability Testing

Web Metrics Analysis

User Feedback

GUI Implementation

Core Capabilities

Core Services

Value Adding Capabilities

Value Adding Services

Distributed Framework

Central Framework

Support Services

Front End Code

Back End Code

Database Schema

Technology Selection

Usability Testing

User Experience Testing

Market Testing

Overall Product Evaluation

189

Agility is the evolution of management thought Confluence of traditional and non-traditional ideas Improve performance by over an order-of-magnitude

Conclusion

“The world of traditional methods belongs to yesterday”“Don’t waste your time using traditional methods on 21st century projects”

Agile methods are …

Systems development approachesNew product development approachesExpertly designed to be fast and efficientIntentionally lean and free of waste (muda) Systematic highly-disciplined approachesCapable of producing high quality systemsRight-sized, just-enough, and just-in-time tools

Scalable to large, complex mission-critical systems Designed to maximize business value for customers

Wysocki, R.F. (2010). Adaptive project framework: Managing complexity in the face of uncertainty. Boston, MA: Pearson Education.

190

AgendaAgile BackgroundAgile IntroductionAgile Business CaseAgile Life CyclesAgile PracticesAgile RequirementsAgile Project Mgt. ModelsAgile Project Mgt. PhasesAgile Release PlanningAgile Iteration PlanningAgile EstimatingAgile Risk AnalysisAgile Automated TestingAgile Security Engineering

Agile TeamworkAgile ScalabilityAgile Lean/KanbanAgile ScrumAgile Metrics & ModelsAgile Costs & BenefitsAgile Earned Value Mgt.Agile DocumentationAgile Automated ToolsAgile Contract ModelsAgile Change ModelsAgile Case StudiesAgile Summary

Agile Resources

191

Term agile methods coined around 2001 Earliest holistic text books emerged in 2002 Highsmith, Shore, & Cockburn most complete

Intros to Agile Methods

Highsmith, J. A. (2002). Agile software development ecosystems. Boston, MA: Addison-Wesley.Shore, J., & Warden, S. (2008). The art of agile development. Sebastopol, CA: O'Reilly.Subramaniam, V., & Hunt, A. (2006). Practices of an agile developer. Raleigh, NC: Pragmatic Bookshelf.Cockburn, A. (2007). Agile software development: The cooperative game. Boston, MA: Pearson Education.Martin, R. C. (3003). Agile software development: Principles, patterns, and practices. Upper Saddle River, NJ: Pearson.

192

Over 15 text books for agile project management Many of them stem from Planning XP by Kent Beck Agile Project Mgt. by Jim Highsmith is most complete

Agile Project Management

Beck, K., & Fowler, M. (2001). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.Schwaber, K. (2004). Agile project management with scrum. Redmond, WA: Microsoft Press.Highsmith, J. A. (2010). Agile project management: Creating innovative products. Boston, MA: Pearson Education.Leffingwell, D. (2011). Agile software requirements: Lean requirements practices for teams, programs, and the enterprise. Boston, MA: Pearson Education.Wysocki, R.F. (2010). Adaptive project framework: Managing complexity in the face of uncertainty. Boston, MA: Pearson Education.

193

100s of agile methods books exist for all disciplines Range from requirements through documentation Thwart notion that agile methods have big gaps

Agile Development

Cohn, M. (2004). User stories applied: For agile software development. Boston, MA: Addison-Wesley.Coplien, J. O., & Bjornvig, G. (2010). Lean architecture: For agile software development. West Sussex, UK: John Wiley & Sons.Martin, R. C. (2008). Clean code: A handbook of agile software craftsmanship. Upper Saddle River, NJ: Prentice-Hall.Crispin, L., & Gregory, J. (2009). Agile testing: A practical guide for testers and agile teams. Boston, MA: Addison-Wesley.Ruping, A. (2003). Agile documentation: A pattern guide to producing lightweight documents for software projects. West Sussex, UK: John Wiley & Sons.

194

Scaling is the last frontier in agile methods research Many of them stem from Planning XP by Kent Beck Meta models of agile project mgt. address scaling

Scaling Agile Methods

Eckstein, J. (2004). Agile software development in the large: Diving into the deep. New York, NY: Dorset House..Leffingwell, D. (2007). Scaling software agility: Best practices for large enterprises. Boston, MA: Pearson Education.Schiel, J. (2010). Enterprise-scale agile software development. Boca Raton, FL: CRC Press.Larman, C., & Vodde, B. (2008). Scaling lean and agile development: Thinking and organizational tools for large-scale scrum. Boston, MA: Addison-Wesley.Larman, C., & Vodde, B. (2010). Practices for scaling lean and agile development. Boston, MA: Addison-Wesley.

195

Agile Methods are applied to many domains Include CMMI, CM, QA, Offshoring, Games Dev. Agile-CMMI textbooks are the newest phenomenon

Agile Specialty Topics

McMahon, P. E. (2010). Integrating CMMI and agile development: Case studies and proven techniques for faster performance improvement. Boston, MA: Addison-Wesley.Moreira, M. E. (2009). Adapting configuration management for agile teams: Balancing sustainability and speed. New York, NY: John Wiley.Stamelos, J. G., & Sfetsos, P. (2007). Agile software development quality assurance. Hershey, PA: Idea Group.Woodward, E., Surdek, S., & Ganis, M. (2010). A practical guide to distributed scrum. Indianapolis, IN: IBM Press.Clinton, K. (2010). Agile game development with scrum. Boston, MA: Addison-Wesley.