Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects



Similar documents
Capability Maturity Model Integration (CMMI SM ) Fundamentals

Leveraging CMMI framework for Engineering Services

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Rapidly Defining a Lean CMMI Maturity Level 3 Process

CMMI for Development Introduction & Implementation Roadmap

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

MKS Integrity & CMMI. July, 2007

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Key Benefits of Microsoft Visual Studio Team System

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Steve Masters (SEI) SEPG North America March Carnegie Mellon University

A Capability Maturity Model (CMM)

Applying CMMI SM In Information Technology Organizations SEPG 2003

Software Development Life Cycle (SDLC)

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Certified Software Quality Engineer (CSQE) Body of Knowledge

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Building Software in an Agile Manner

Aligning CMMI & ITIL. Where Am I and Which Way Do I Go? cognence, inc.

NEOXEN MODUS METHODOLOGY

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

Agile-Enabled High Maturity

What is a life cycle model?

TeamCompanion Solution Overview. Visual Studio

Agile Projects 7. Agile Project Management 21

Developing CMMI in IT Projects with Considering other Development Models

Mature Agile with a twist of CMMI

When is Agile the Best Project Management Method? Lana Tylka

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

Call for Tender for Application Development and Maintenance Services

Software Development Process

Quality Assurance in an Agile Environment

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

Towards a new approach of continuous process improvement based on CMMI and PMBOK

Realizing CMMI using Enterprise Architect and UML for Process Improvement

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

Using Rational Software Solutions to Achieve CMMI Level 2

Plan-Driven Methodologies

White Paper IT Methodology Overview & Context

Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation

Agile SW Siemens

Integrating CMMI, TSP and Change Management Principles to Accelerate Process Improvement

EASPI EASPI. The Integrated CMMI-based Improvement Framework for Test and Evaluation. Jeffrey L. Dutton Principal Consultant

Agile SW Siemens

Cost effective methods of test environment management. Prabhu Meruga Director - Solution Engineering 16 th July SCQAA Irvine, CA

CMMI with Digité Universal Process Framework

Capability Maturity Model Integration (CMMI ) Overview

Interpreting Capability Maturity Model Integration (CMMI ) for Service Organizations a Systems Engineering and Integration Services Example

0. INTRODUCTION 1. SCRUM OVERVIEW

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

LUXOFT ADVANTAGES. International Quality Standards

Hybrid-Agile Software Development

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Enhancing The ALM Experience

Driving Your Business Forward with Application Life-cycle Management (ALM)

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

Basic Unified Process: A Process for Small and Agile Projects

Process Improvement. From the Software Engineering Institute:

MNLARS Project Audit Checklist

Manager Domain Experts. Delivery Team. C h ic a g o

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Business Analysis Capability Assessment

Project Lifecycle Management (PLM)

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

The Design and Improvement of a Software Project Management System Based on CMMI

JOB DESCRIPTION APPLICATION LEAD

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

A Report on The Capability Maturity Model

RUP for Software Development Projects

Essential Metrics for Agile Project Management

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Capstone Agile Model (CAM)

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

Project Management and Scrum A Side by Side Comparison by Anne Loeser, October 2006

Requirements Engineering in Healthcare: Challenges, Solution Approaches and Best Practices

<name of project> Software Project Management Plan

NEOXEN MODUS METHODOLOGY

CMMI KEY PROCESS AREAS

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Comparing Scrum And CMMI

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

Manage the acquisition of products from suppliers for which there exists a formal agreement.

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

ORACLE NAIO Excellence combined with Quality A CMMI Case study

The IT Infrastructure Library (ITIL)

Engineering Standards in Support of

Truly Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Draft Documents RFP 3.2.4

Capability Maturity Model Integration (CMMI ) Version 1.2 Overview

PMP Examination Tasks Puzzle game

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH

Transcription:

Transdyne Corporation CMMI Implementations in Small & Medium Organizations Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Dana Roberson Quality Software Engineer NNSA Service Center And Dr. Mary Anne Herndon Transdyne Corporation SM CMM, CMMI, SCAMPI, SCAMPI Lead Assessor, SCAMPI Lead Appraiser, and SEI are service marks of Carnegie Mellon University. CMM and CMMI are registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.

Agenda: Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Risks in Highly Adaptive Projects Typical Management Scenarios Agile CMMI Agile Software Development Methodology Steps for Implementing CMMI-DEV Practices in Agile Projects Strategy Map for Using Agile Practices Today Benefits Lessons Learned 2

Agile Methodology for Risk Management Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations Dynamic Requirements Aggressive Schedule Limited Resources Using the Agile Methodology to Manage Risks of Highly Adaptive Projects Dynamic Requirements Aggressive Schedule Limited Resources Impact of customer co-location on requirements management & tasking Immediate effect of changing customer priorities & direction Typical work performed on a fixed LOE or time & material basis 3

Risks In Technology & Support Projects The requirements are ALWAYS changing. Time and schedules are ALWAYS aggressive. Resources will ALWAYS be tight. To mitigate these risks you need processes that address these risks to allow rapid adaptation.

Scenario for Risk Management Practices in Small Businesses Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations Small businesses often function in focused markets as: Suppliers of specialized on-site technical services, key personnel, applications or products Domain specialists Staff augmentation These focused markets may not provide needed revenue or market share growth to readily prosper in today s economy. Costs of improving project and risk management practices are considered key investments in these vulnerable cash flow environments. Both near and long term cash flow analysis typically includes factors such as: Customer base stability & revenue cycles Projected revenue growth Costs of acquiring appropriate resources to improve management practices, such as training, process engineers and collaborative software and hardware. 5

Scenario for Implementing Risk Management Practices in Small Businesses (continued) Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations $$$ Understanding and improving project management and risk management practices is a key factor in revenue growth. Planning improvements typically includes assessment of critical factors such as: Required resources (available staff, feasible schedule, platforms, facilities, collaborative tools) Past performance data (costs, schedules, lessons learned) Training in the domain and software development method (Agile) Risk identification and impact assessment Risk mitigation A practical knowledge base useful for improving management practices can be provided by process models, such as CMMI and ISO 9000. Obtaining CMMI benchmarks and ISO 9000 certifications are often stepping stones to expand government and commercial customers. Selecting and implementing any process and life cycle models is both costly and can be risky as there are no guarantees of success on-site with the customer. 6

Scenario for Implementing Risk Management in Small Medium Businesses (continued) Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations Planning a process improvement strategy typically includes identifying problematic projects with typical issues such as: Limited resources and ambitious schedules Lack of experience and staff training Excessive staff turnover rate Stability of current customer base Projection of market growth Over commitment of key staff Inaccurate planning data for costs and schedule Implementing a process improvement strategy, small businesses should customize a path of small, adjustable steps. An example of a path of small steps is a hybrid approach of improving project and risk management practices in CMMI-DEV first. The next step is a selection of a life cycle model that is suitable for the work requirements, location and level of customer participation.

Building Bridges Using CMMI-DEV and Agile to Manage Risk Continuous Improvement Measurement & Analysis CMMI-DEV Resource Management Process Approach Customer Focused CMMI Is Designed to Be Tailored to Your Business Environment. Fully align process improvement with your business goals Look at what you are actually doing, If a good fit document and follow Leverage off existing activities e.g. Agile Promote maximum flexibility and efficiency in your process improvement approach Emphasize measurement and analysis Agile life cycle model 8

Key Process Improvement Factors & Sources of Risks All KEY process improvement factors introduce sources of risks to developers! Resources Training Business Case Contract Type Communication Life Cycle Models Project Planning Domain Experience Processes Choosing an incompatible life cycle development model impacts all other key process improvement factors.

Sources of Risks in Life Cycle Models spiral waterfall Waterfall cycle times impact of changing requirements direct end user involvement Spiral cycle times impact of changing requirements direct end user involvement Agile inadequate training customer awareness management advocacy 10

Practice Implementation Across Small Organizations Process Engineer Organization CMMI Process Management CMMI Engineering Framework of the CMMI-DEV model provides: 1. Increases in implementation efficiency due to redundancy in model functions, such as Project Management & Support Process Areas and generic practices. 2. Minimal opportunities for conflicts with customer, staff and resources with adequate model understanding CMMI Support CMMI Project Management 11 11

Steps for Implementing Risk Management with CMMI-DEV & Agile Understand the Risks Key growth Investments: Process & Agile training Collaborative H/W & S/W Process engineer support Lessons Learned What did we do well? Where were we lucky? What do we need to improve? Cost Schedule Technical Impact Metrics Status risks market area revenue/profit projected growth Identify risks: project specific technical impacts mitigation plans customer involvement High Medium Low Risk Template Develop Agile project plan Evaluate mitigation plans Evaluate business opportunity Risk of winning Contract type New customer Technical complexity Staff 12

Strategy Map for Implementing Risk Management Using Agile and CMMI-DEV Aggressive schedule Risk management tools Dynamic requirements Scrums Burn Down (MS Excel) Limited resources White Boards Peer Reviews Impromptu & Team Programming Agile Method Engineering Techniques CMMI-DEV Engineering Management Support Quality Assurance Configuration Management Measurement Structured Decisions 13 13

Risk Reduction Solution - Process Improvement Risk reduction is NOT fighting fires or just in time solutions. Reduce variation. Recognize and document best practices. It is simply a way of looking at how we can do our work better. A series of actions taken to identify, analyze and improve existing processes. These actions often follow a specific methodology or strategy to create successful results. Remove activities that have no value to the organization. Improve customer satisfaction. Process improvement is important as it has often been said that process accounts for 80% of all problems while people account for the remaining 20%. Provide lessons learned. Encourage staff members to contribute!

What are Best Practices and Benefits? Best practices are effective, high-leverage technical and management PROCESSES that have been implemented and proven on successful projects. Examples of Best Practices Proven Models i.e. CMMI-DEV, ISO 9001 Project Planning Measurement and Control Peer Reviews Risk Management Quality Assurance Status Reporting Benefits Risks are reduced & mitigated Repeatability is achieved Clarity and understanding are increased Common terminologies and consistent styles are developed and followed Configuration Management Agile Software Development

Typical Roadblocks and Hurdles to Process Improvement Resistance to Change Lack of Commitment and Resources We tried process improvement before, and it didn t buy us anything. CMMI /TQM/Agile/Lean Six Sigma/ and best practices are just another fad. Who s paying for it? If it isn t paid for, we re not doing it. I m retiring/transferring from this job soon, I don t have to get involved. Developers don t have the time because there is so much rework.

AGILE Software Development Methodology Activities are known as 'timeboxes. Each iteration passes through a full software development cycle, including: planning, requirements analysis, design, unit tests, Quality Assurance testing, coding until the unit tests pass and a working product is finally demonstrated to stakeholders. Documentation is no different than software design and coding for assuring repeatability and re-generation. Strong team discipline is required to code for agility. At the end of each iteration, stakeholders re-evaluate project priorities with a view to optimizing their return on investment. Agile emphasizes face to face communication with all stakeholders!

Agile Navigating Class IV Rapids (AKA Risk Reduction) CMMI-DEV CMMI-DEV provides process discipline Scrum enhances adaptability and commitment Agile Quality Product Agile means being able to quickly change direction Agile development methods minimize risk by developing software in multiple 'iterations' of short time frames Each iteration passes through a full software development cycle In our Agile projects, SCRUM Boards, Burndown charts and other project and working artifacts were defined and identified as CMMI artifacts. Face to face communication & EA reviews ensure peer review. At the end of each iteration, stakeholders reevaluate project priorities and risks.

Agilizing CMMI SCRUM and CMMI Incorporating CMMI Processes Tailoring processes to incorporate Agile iterations Mapping CMMI SPs to Agile iterations and artifacts Monitoring and controlling projects requirements and changes testing defects Using Agile at our shop Software Tools Visual Source Safe Configuration Management Source Control Visual Studio Development Environment SQL Management Studio Development environment Enterprise Architect Requirements management Requirements traceability Axosoft OnTime Defect Management Agile & CMMI-DEV Processes (Process Asset Library) Defined processes Scrums Scrum Boards Sprints Burn Down (MS Excel) White Boards Peer Reviews Team programming Performance metrics

Where to Start? Look at what you have in place What are you doing well - right now Establish your SEPG Tailor the CMMI process descriptions to map to current processes By-in by Software Engineering and Management PAL Develop processes for things you are not doing now Discuss with Software Engineering Team Train the Team! Follow up on how processes are being implemented and Modify if necessary to get a best fit!

Process Asset Library Processes and Standards

Process Descriptions Based on how We Do Business

Process Area Description Standards Developed by TWG within the SEPG available to all developers on SharePoint Site Work Environment Standards Web Design and Usability Guidelines Coding Standards

Development Initial Planning Cycle Project Backlog EA Management Tracked in EA through testing Process Descriptions Diagrams

Development Initial Planning Cycle Project Backlog EA Management Tracked in EA through testing Process Descriptions Mapping

Agile Focus on Quality Built-In Agile Resources to Develop Quality Products Sprint Plan Testing is built into each sprint Sprint Planning Requirements Available resources Development & QA Scrum Assign tasks to resources Reassign based on burndown Defect Workflow Maintenance resources QA assignment

class Scrum Process - Logical View Sprint Planning/Scrum Scrum Lifecycle (Iterative) Product Backlog Dependent On Sprint Planning Dependent On Sprint Planning/Plan Determine sprint timeline Determine available resources risks Scrum What done What Planned Obstacles - Risks Daily Scrum Meeting Updates Sprint Backlog Who, what, how Requirements Coding Testing Baselines Documentation Updates Scrum Board Dependent On Deliverable Demonstration to stake holders/ccb Deployment to User Acceptance Testing

Sprint Planning Sprint Planning/Plan Determine sprint timeline Determine available resources - Who, what how Requirements Coding Testing Baselines Documentation Deliverable Demonstration to stake holders/ccb Deployment to User Acceptance Testing

Design Process Project Plan Overall Design Sprint Planning Daily Scrum Developer review (Peer)

Gathering, Reviewing and Testing the Requirements Enterprise Architect Requirements Definition (Enterprise Architect) Requirements Review (EA export to web interface) Peer Review Developer review CCB review Requirements tied to activities and tests for traceability

Gathering and Managing Requirements - BA & QA

Requirements Management and Tracking SE and Customer

Coding/Unit Testing & Documentation Development Development of Functional unit on DEV environment Get latest of all code, unit test Check in Code to Visual Source Safe At prescribed interval, build full project, deploy to internal testing environment Automated Baseline Capture developed by team Well commented code Document changes to other developers code Context sensitive help in development environment and customer environment Notes and resolutions in Axosoft OnTime

Developer Interaction with QA reduces Risk Testing is built into the development cycle Early and frequent delivery ensures adequate time for feedback and reduces risk Agile benefits the IT department assisting in quicker better quality and reduced work Stressing repeatable processes for project management Internal Testing (DEV/QA) Developer notifies QA of functionality ready for testing Defect found by QA entered into Axosoft Ontime Developer fixes defect rebuilds- workflow in Ontime Ready for testing on TEST Defect Fixed or Failed Retest User Acceptance Testing (STAGE) Production (PROD)

Show screen from Axosoft

Acceptance Testing and Traceability

Monitoring and Controlling by Establishing Measurement Objectives MAP The NNSA SC ITD Apps Team maintains the Measurement and Analysis Plan (MAP). MAP defines the process performance measurement foundation established by applying the Goal Question Metrics (GQM) to the Applications Mission Statement The Apps Team leverages higher maturity level process performance management tools to: Build process performance databases using statistical process control (SPC). Track variance analyses (control charts with standard deviations) Analyze defects, accuracy of resource estimation, development and maintenance productivity and customer satisfaction

Measurement Objectives Low-cost of high-quality software applications and services, delivered rapidly, which supports high levels of customer satisfaction. (Mission Statement)

Monitoring and Controlling via Sprint Burndown Charts

Tracking Progress Across Sprints

Maintaining QA Assessments

Tracking Quality Corrective Actions

Lessons Learned in Managing Risks Using CMMI-DEV and Agile Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations Management of complexity requires process discipline WHILE Management of change requires rapid adaptability. CMMI provides process discipline. SCRUM (Agile) enhances adaptability and commitment. 43

Lessons Learned in Managing Risks Using CMMI-DEV and Agile Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations Understand that all process improvement opportunities, as with all investments, have costs and risks. Introducing Agile, as with any new technology, needs the advocacy of all project stakeholders. Participation of key staff members in planning practice implementation is needed to understand the continuity and costs and identify the key risks, such as customer culture. The CMMI Risk Management Process Area practices are easily tailored and implemented via a suitable template for Agile based projects. The Agile method emphasizes on-going requirements & design verification, daily SCRUMS with customer participation and team espirit de corp. The Agile emphasis on these activities provides engineering practices that reduce risks in software engineering tasks. 44

Remember CMMI-DEV is a process model, NOT a process description. CMMI-DEV only defines WHAT to do, not HOW to do it. Plan the process implementation so that you are taking advantage of the CMMI-DEV practices AND Use the Agile Methodology for rapid turn around for low cost quality product.

The End Transdyne Corporation http://transdynecorp.com CMMI Implementations in Small & Medium Organizations You have just seen key benefits of using CMMI-DEV and Agile to reduce risks in software engineering from the 30,000 feet level. Questions or Comments? 46

Examples of Mapped CMMI Specific Practices to Agile Life Cycle Steps