agile and cmmi: yes, they can work together

20
AW11 Session 6/5/2013 3:45 PM "Agile and CMMI: Friend or Foe? A Lead Appraiser's View" Presented by: Ed Weller Integrated Productivity Solutions, LLC Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 8882688770 9042780524 [email protected] www.sqe.com

Upload: techwellpresentations

Post on 17-Jan-2015

321 views

Category:

Technology


2 download

DESCRIPTION

There is a common misconception that agile and CMMI cannot work together. CMMI is viewed as a documentation heavy, slow, process-driven model—the polar opposite of agile principles. The cost of documentation for an appraisal is viewed as another drawback. Join Ed Weller to see why a large organization chose to use the practices in the CMMI to complement agile, and a formal appraisal to improve and evaluate their performance. When mixing approaches that seem contradictory, the first step is to understand the benefits, drawbacks, and cost of each approach and then identify complementary additions. This includes myth busting the misperceptions about both agile and CMMI. The second step, using a formal CMMI appraisal to evaluate organizational performance, requires an understanding of the CMMI model that goes beyond a “checklist approach” requiring extensive documentation. Using lean principles, the appraisal team minimized “appraisal documentation” by using the day-to-day team output. Ed shows that agile and CMMI can be complementary due to executive leadership, lean implementation, and organization training, as demonstrated by a formal appraisal and business results.

TRANSCRIPT

Page 1: Agile and CMMI: Yes, They Can Work Together

 

 

AW11 Session 6/5/2013 3:45 PM 

      

"Agile and CMMI: Friend or Foe?

A Lead Appraiser's View"    

Presented by:

Ed Weller Integrated Productivity Solutions, LLC

       

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Agile and CMMI: Yes, They Can Work Together

Ed Weller Integrated Productivity Solutions, LLC

Ed Weller is the principal in Integrated Productivity Solutions, providing solutions to companies seeking to improve productivity. Ed is internationally recognized as an expert in software engineering and in particular software measurement. His focus on quality started with his work on the Apollo program with General Electric; was reinforced during his work as a hardware, test, software, and systems engineer and manager on mainframe systems at Honeywell and Groupe Bull; and continued as the process group manager on the Motorola Iridium Project. For the past fourteen years, Ed has worked to improve the quality and productivity in small to very large companies that develop engineering and IT applications.

 

Page 3: Agile and CMMI: Yes, They Can Work Together

Agile and CMMI: Agile and CMMI: Friend of Foe? Friend of Foe? A Lead Appraiser’s ViewA Lead Appraiser’s View

Ed WellerIntegrated Productivity Solutions

© 2013, E. Weller

AgendaAgenda

Cultural bias?Misunderstandings?Misunderstandings?EducationApplication and examples

2

OR

Page 4: Agile and CMMI: Yes, They Can Work Together

AgendaAgenda

Cultural bias?Misunderstandings?Misunderstandings?EducationAppraisals

3

OR

My Biases My Biases Large Systems◦ Mainframe Hardware and OSMainframe Hardware and OS◦ Iridium ProjectCMM®/CMMI® Lead Appraiser since 1994Client organizations vary from 15 to 140,000 peopleStrong proponent of software engineeringStrong proponent of software engineeringPragmatic view◦ “If it works, something was done right”

4

® CMM and CMMI are registered trademarks of Carnegie Mellon UniversitySM SCAMPI is a service mark of Carnegie Mellon University

Page 5: Agile and CMMI: Yes, They Can Work Together

Agilistas’ Biases or Misunderstanding?Agilistas’ Biases or Misunderstanding?

CMMI means heavy documentationCMMI means rigid control or constraining CMMI means rigid control or constraining processesCMMI has no value

5

AgendaAgenda

Cultural bias?Misunderstandings?Misunderstandings?EducationAppraisals

6

OR

Page 6: Agile and CMMI: Yes, They Can Work Together

DemographicsDemographicsHow many of you ◦ Have a recognizable Life Cycle Processg y

Agile/Scrum?Waterfall or other life-cycle?ScrumBut?

◦ Are project managers/Scrum Masters?◦ Are testers?◦ Are developers?◦ Are developers?◦ Are managers (one or more levels above project

managers/Scrum Masters)?◦ Measurement analysts?

7

Is There CMMI Overhead?Is There CMMI Overhead?

Are you using the CMMI to improve or to obtain a level rating via an appraisal?obtain a level rating via an appraisal?◦ The CMMI can provide valuable insight to

activities or processes that can be useful◦ The CMMI appraisal process – SCAMPISM

As with any evaluation, audit, or appraisal process there will be overhead The question is:there will be overhead. The question is:

How much?What is the value

8

Page 7: Agile and CMMI: Yes, They Can Work Together

Key Concepts of CMMIKey Concepts of CMMIDescriptive, not prescriptiveNot a process description - a model with Not a process description a model with sets of practices grouped by process areas – developed from experience Four “groupings” of process areas◦ Project Management◦ Engineering◦ Engineering◦ Support◦ Process ManagementVersion 1.3 acknowledged Agile

9

How Big Is Your Organization?How Big Is Your Organization?

How many teams do you have in your organization?organization?◦ One to thirty+ ??◦ Do multiple teams contribute to software

releases?

As your organization gets larger, the benefits from the Support and Process Management Process Areas increaseLet’s briefly explore this theme …

10

Page 8: Agile and CMMI: Yes, They Can Work Together

High Level MappingHigh Level MappingCMMI Process Categories

Project ManagementCovered by

ScrumProject ManagementEngineeringSupportProcess Management

ScrumAgile/XP??

A lot more complex than suggested by the above,

11

A lot more complex than suggested by the above, but let’s look how CMMI can support Agile/Scrum

The intent is not to cover or explain the CMMI modeltoday. For more information and mapping, see the works of Neil Potter, Hillel Glazer, Jeff Dalton, etc,

The “No Way” ViewThe “No Way” View

CMMI Agile/Scrum

12

Page 9: Agile and CMMI: Yes, They Can Work Together

Another View Another View –– Some OverlapSome Overlap

CMMI and Agile/Scrum

CMMI

13

How much overlap do we have?

What Experience Is ShowingWhat Experience Is Showing

The degree of overlap “depends” – What are your needs?are your needs?

CMMI

14

Agile/Scrum

Page 10: Agile and CMMI: Yes, They Can Work Together

Why Is the Last Picture Accurate?Why Is the Last Picture Accurate?

CMMI is a model◦ CMMI is not a process or methodologyCMMI is not a process or methodology◦ Many ways to implement practicesAgile initially was a philosophy◦ Moving towards an development method –

see Scott Ambler’s Disciplined Agile Delivery◦ Scrum is a project management methodScrum is a project management methodBoth Agile and Scrum (referred to a Agile hereafter) include a significant number of CMMI Practices

15

AgendaAgenda

Cultural bias?Misunderstandings?Misunderstandings?EducationAppraisals

16

OR

Page 11: Agile and CMMI: Yes, They Can Work Together

Specifics at 50,000 Feet (1)Specifics at 50,000 Feet (1)Project Management◦ Project planning – do youProject planning do you

Establish requirements?Agree on the work to be done in a sprint?Base the work on past history?Define your life cycle?Estimate effort and cost?Pl St k h ld i l t?Plan Stakeholder involvement?Obtain commitment?

◦ Would you do any significant software development without these activities ?

17

Specifics at 50,000 Feet (2)Specifics at 50,000 Feet (2)

Project Monitoring and Control – do you◦ Monitor progress?◦ Monitor progress?◦ Monitor risks?◦ Conduct progress reviews?◦ Identify and analyze issues?◦ Manage corrective action?

Do you do most of these actions in the daily standup? Or as a normal part of the sprint?

18

Page 12: Agile and CMMI: Yes, They Can Work Together

A Few (More) QuestionsA Few (More) Questions

How many of you have a set iteration or sprint length?sprint length?What do you do on Day 1 of the iteration?Day 2…NHow many have a backlog?y gHow many estimate story points and manage an iteration with planned velocity?

19

Engineering/ AgileEngineering/ Agile--XP (1)XP (1)Requirements “Elicitation”◦ Product Owner co-locatedProduct Owner co located◦ User StoriesTechnical Solution◦ Design

Pairing, Test Driven Design◦ CodingCoding

Pairing

Product Integration◦ How do you get your code into production?

20

Page 13: Agile and CMMI: Yes, They Can Work Together

Engineering/ AgileEngineering/ Agile--XP (2)XP (2)

Testing◦ Testers part of team◦ Testers part of team◦ Test Driven Design◦ CI, automated testing

Validation◦ Demos at the end of sprints◦ Working software rather than simulations,

analysis, or arm-waving

21

Is It Really That Straightforward?Is It Really That Straightforward?Yes and No ☺Yes because the methods developed over Yes, because the methods developed over the last 10+ years have matured◦ Do you know what you do in each day of your

sprint cycle?◦ Do you have expectations for all the

stakeholders?stakeholders?

No, because there is actually more discipline in functioning Agile teams than in many waterfall projects, and discipline isn’t free

22

Page 14: Agile and CMMI: Yes, They Can Work Together

Support Process Areas (1)Support Process Areas (1)This is a mixed bagSome are a natural part of an Agile Some are a natural part of an Agile development approach◦ Configuration management – would anyone in

their right mind try to deliver code without a CM system?◦ Change control is built in to sprint

management (if done smartly)◦ Consider Agile without Continuous

Integration (CI), and CI without tool support

23

Support Process Areas(2)Support Process Areas(2)Measurement◦ Velocity – don’t you need history of Velocity?y y y y◦ Size (work) estimates – Fibonacci sequence or ? ◦ Defects (?) – many heated discussions about

“What is a defect”Working backwards from what your users see is a good way to start defining “defect”Ultimately, if you think you did it right and the test fails, y y y gor production fails, there is a defect

◦ The larger the organization, the more outside “pressure” on performance and skepticism (NIH) regarding Agile (e.g., pairing)

24

Page 15: Agile and CMMI: Yes, They Can Work Together

Support Process Areas(3)Support Process Areas(3)

Process Assurance◦ With 1 2 teams probably a nuisance◦ With 1-2 teams, probably a nuisance◦ But with 10-30 teams, how do you maintain

convergence of process (the way work gets done)?◦ How do you identify useful “deviations” from

the norm and propagate them across the the norm, and propagate them across the organization?◦ Even with the best of intentions, objective

analysis can be lost

25

Support Process Areas(4)Support Process Areas(4)Trade Studies (DAR)◦ When there are multiple possible solutions, When there are multiple possible solutions,

how else would you decide?The value of formal trade studies may be at the organization or business level◦ How many “big” decisions are made at the

team level – few and far between?◦ How about method/process change based on

retrospectives?◦ Tailoring or deviations?

26

Page 16: Agile and CMMI: Yes, They Can Work Together

Process Management(1)Process Management(1)

This may be the sticky point – how much process management do you need? process management do you need? These process areas are intended to be “organizational”◦ How big is your organization – 1, 5, 10, 20,

20+ teams?◦ How much should be relative to the number

of teams

27

Process Management(2)Process Management(2)

Who is responsible for coordinating and leading improvement efforts?leading improvement efforts?Who collects, analyzes, and communicates metrics?Who maintains the organization process assets?Responsibility and resources need to be committed to these tasks

28

Page 17: Agile and CMMI: Yes, They Can Work Together

Organization TrainingOrganization Training

How do you organize training for new tools technologies and processes?tools, technologies, and processes?How do you ensure mentoring effectively conveys skills and knowledge?Who identifies training needs?Who organizes trainers, brown bag g , glunches, etc?

29

What the Answers MeanWhat the Answers Mean

Every time your answer was “Yes, we do that” you have a process (“the way you that , you have a process ( the way you get work done”)The CMMI can provide a framework for identifying needs and guidance for implementation

30

Page 18: Agile and CMMI: Yes, They Can Work Together

AgendaAgenda

Cultural bias?Misunderstandings?Misunderstandings?EducationAppraisals

31

OR

How About Appraisals?How About Appraisals?

If your organization decides it needs or wants a CMMI Level rating a “SCAMPI-A” wants a CMMI Level rating, a SCAMPI-A is required◦ Not cheap or easy and there are built in costs

that do not scale down to small organizations easily◦ There are si nificant trainin c sts◦ There are significant training costs

Typically 5 days for each team memberLead Appraiser cost

32

Page 19: Agile and CMMI: Yes, They Can Work Together

Appraisal Cost(1)Appraisal Cost(1)Significant misunderstanding of what “documentation” is requiredq◦ In Agile, where are many of the “project

management” artifacts kept?Wall charts/Visual Management boards

Velocity per iterationBurn downTest statusEtc

◦ All of these are “documentation” – the difficulty is getting this information to the appraisal team and showing a history of use

33

Appraisal Cost(2)Appraisal Cost(2)

“A picture is worth a thousand words”◦ Tool screenshots/tool access◦ Tool screenshots/tool access◦ Pictures of wall charts

Appraisals of organizations using Agile can rely on pictures as a primary source or project documentation /historyThere will be additional overhead if team members and the Lead Appraiser are not co-located with the teams being appraised

34

Page 20: Agile and CMMI: Yes, They Can Work Together

SummarySummary

When used properly, the CMMI can be used to effectively address areas of used to effectively address areas of software development and organizational structure that neither Agile nor Scrum handleAppraising for a level is another story – it will be costly and should be tied to business needs

35