Get to CMMI ML3 Using Agile Development Processes for Large ProjectsCatherine Clark, Business Solutions Architect
2
Manifesto for Agile Software Development
We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
3
Manifesto for Agile Software Development
We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
4
Manifesto for Agile Software Development
We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
5
Manifesto for Agile Software Development
We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
6
Can CMMI and Agile complement each other?
7
Plan & Analyze Design Build Test Correction DeployTest
Project Lifecycle
Waterfall Method
8
Plan & Analyze Design Build Test Correction DeployTest
Req’t
Docs
Design
DocsCode
Comments
Test
CasesBug
Reports
Test
Cases
Release
Notes
Requirements
Traceability
Matrix
Project Lifecycle
Waterfall Method
9
Agile Method
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Project Lifecycle
10
Agile Method
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Req’t
DocsReq’t
Docs
Req’t
Docs
Project Lifecycle
11
Agile Method
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Req’t
DocsReq’t
Docs
Design
DocsDesign
Docs
Test
Cases
Code
CommentsCode
Comments
Test
Cases
Code
Comments
Test
Cases
Bug
Reports
Bug
Reports
Bug
Reports
Req’t
DocsDesign
Docs
Project Lifecycle
12
Agile Method
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Req’t
DocsReq’t
Docs
Release
NotesRelease
NotesRelease
Notes
Design
DocsDesign
Docs
Test
Cases
Code
CommentsCode
Comments
Test
Cases
Code
Comments
Test
Cases
Bug
Reports
Bug
Reports
Bug
Reports
Req’t
DocsDesign
Docs
Project Lifecycle
13
Agile Method
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Plan & Analyze
Design
Build
Test
Deploy
Req’t
DocsReq’t
Docs
Release
NotesRelease
NotesRelease
Notes
Design
DocsDesign
Docs
Test
Cases
Code
CommentsCode
Comments
Test
Cases
Code
Comments
Test
Cases
Bug
Reports
Bug
Reports
Bug
Reports
Requirements
Traceability
Matrix
Req’t
DocsDesign
Docs
Project Lifecycle
14
Can CMMI and Agile complement each other? How can this be achieved while still being Agile and
keeping the developers focused on:
Individuals and interactions
Working software
Customer collaboration
Responding to change
15
Two parts of the CMMI appraisal process
Evidence
Affirmations/Interviews
16
Two parts of the CMMI appraisal process
Evidence
Affirmations/Interviews
17
Affirmations/Interviews
Interviews are fashioned to fill in any blanks that the evidence didn’t show, or was unclear
Daily scrums are critical in ensuring all of the teams are aware of the process
18
Two parts of the appraisal process
Evidence
Interviews
19
How do you generate evidence while keeping the team actively engaged in producing working software?
Use the tools they are already using every day…
20
How do you generate evidence while keeping the team actively engaged in producing working software?
Use the tools they are already using every day and adjust and integrate them to maintain the documentation required for CMMI evidence
21
Agile/CMMI Process
Req’t
Docs User Stories and Tasks are kept in Rally.
22
Agile/CMMI Process
Req’t
Docs
Code
Comments
User Stories and Tasks are kept in Rally.
Code and Comments are written in Eclipse and stored
via Subversion. When committing, Rally will store a link to the
Code.
23
Agile/CMMI Process
Req’t
Docs
Test
Cases
Code
Comments
User Stories and Tasks are kept in Rally.
Code and Comments are written in Eclipse and stored
via Subversion. When committing, Rally will store a link to the
Code.
Automated Test Cases reside in Jenkins, Rally can
integrate and correlate them to the User Stories
24
Agile/CMMI Process
Req’t
Docs
Bug
Reports
Test
Cases
Code
Comments
User Stories and Tasks are kept in Rally.
Code and Comments are written in Eclipse and stored
via Subversion. When committing, Rally will store a link to the
Code.
Automated Test Cases reside in Jenkins, Rally can
integrate and correlate them to the User Stories
Defects are kept in Rally, and can point back to Test Cases
in Jenkins.
25
Agile/CMMI Process
Req’t
Docs
Release
Notes
Bug
Reports
Test
Cases
Code
Comments
User Stories and Tasks are kept in Rally.
Code and Comments are written in Eclipse and stored
via Subversion. When committing, Rally will store a link to the
Code.
Automated Test Cases reside in Jenkins, Rally can
integrate and correlate them to the User Stories
Release notes are stored within the Release in Rally.
Each User Story points to the code affected, as well
as the Defects.
Defects are kept in Rally, and can point back to Test Cases
in Jenkins.
26
Agile/CMMI Process
Req’t
Docs
Requirements
Traceability
Matrix
Release
Notes
Bug
Reports
Test
Cases
Code
Comments
User Stories and Tasks are kept in Rally.
Code and Comments are written in Eclipse and stored
via Subversion. When committing, Rally will store a link to the
Code.
Automated Test Cases reside in Jenkins, Rally can
integrate and correlate them to the User Stories
Release notes are stored within the Release in Rally.
Each User Story points to the code affected, as well
as the Defects.
The integration of these four tools allow a quick and easy way
to trace from Requirement (User Story) to Code and
Comments, to Defects and Test Cases, and to the Release.
Defects are kept in Rally, and can point back to Test Cases
in Jenkins.
27
Agile/CMMI Process
Req’t
Docs
Design
Docs
Requirements
Traceability
Matrix
Release
Notes
Bug
Reports
Test
Cases
Code
Comments
User Stories and Tasks are kept in Rally.
Code and Comments are written in Eclipse and stored
via Subversion. When committing, Rally will store a link to the
Code.
Automated Test Cases reside in Jenkins, Rally can
integrate and correlate them to the User Stories
Release notes are stored within the Release in Rally.
Each User Story points to the code affected, as well
as the Defects.
The integration of these four tools allow a quick and easy way
to trace from Requirement (User Story) to Code and
Comments, to Defects and Test Cases, and to the Release.
Defects are kept in Rally, and can point back to Test Cases
in Jenkins.
?