IIS Approach to Process Right-Sizing Lawrence Goldstein Southern California SPIN February 6, 2004 Agenda • Northrop Grumman Internal Information Services – What is it? – Geographic scope – Some historic data on software process improvement at IIS • IIS Process Right-Sizing – General approach – Process size – Size-a-matic™ – Tailoring options – Waivers – Special cases – Maintenance – Web / RAD – Summary 2 Who is Northrop Grumman IT IIS? • Northrop Grumman is a $25 billion global defense company – – – • Operating in 50 states and 25 countries Approximately 120,000 employees Defense product focus – – – – Advanced aircraft, shipbuilding and space technology Systems integration Defense electronics Information technology Northrop Grumman’s Internal Information Services (IIS) is the business unit responsible for providing the IT infrastructure to the rest of the corporation – Our only customer is the rest of Northrop – Grumman Our mission is to provide strategic information solutions and technologies which contribute to Northrop Grumman’s competitiveness 3 IIS Geographic Scope IIS Locations – North America Enfield, NS Toronto, ON Amherst, NY Reading, MA Norwalk, CT Bethpage, NY Troy, MI Salt Lake City, UT Clearfield, UT Rolling Meadows, IL Aurora, CO Baltimore, MD Greenbelt, MD Bellevue, NE Kettering, OH Sunnyvale, CA Palmdale, CA Pt. Mugu, CA Century City, CA El Segundo, CA Hawthorne, CA Redondo Beach Torrance, CA San Pedro, CA Carson, CA Azusa, CA San Bernardino, CA San Diego, CA San Jose, CA Gaithersburg, MD Columbia, MD Bethesda, MD Colorado Springs, CO College Park, MD Goleta, CA Woodland Hills, CA Northridge, CA GA Huntsville, AL Tempe, AZ Albuquerque Sierra Vista, AZ Herndon, VA Newport News, VA Reston, VA Fairfax, VA Chantilly, VA Charlottesville, VA Wheeling, WV San Angelo, TX Garland, TX Dallas, TX Fort Hood, TX Austin, TX San Antonio, TX Pascagoula, MS Avondale, LA Ocean Springs, MS Lake Charles, LA St. Augustine, FL Apopka, FL Melbourne, FL Stuart, FL Over 3,700 Employees 4 IIS Process Improvement Path 1992 1994 1996 1998 2000 2002 2004 2006 TRW* Vought* Litton* Grumman* NISC* L2 L2 CBA-IPI L2 CBA-IPICBA-IPI L3 CBA-IPI CMMI L3 Westinghouse* Rolling Meadows* Newport News* * heritage organizations IIS Infrastructure (Operations, N/W, hardware, etc.) 5 IIS Process Right-Sizing General Approach 6 Number of Projects The Problem 0 0 Project Labor hours 100,000+ 7 Number of Projects The Problem New Development Lawson SAP PeopleSoft Web PC 0 0 Project Labor hours 100,000+ 8 Number of Projects The Problem New Development Lawson SAP PeopleSoft Web PC 0 0 Project Labor hours 100,000+ 9 IIS Process Tailoring Philosophy • The main purpose behind the process is to protect the project from failure – Deliver the product on-time, agreed to cost, agreed to quality • If less work is needed to create the product, then less process should be needed to protect the project – Less to go wrong – Consequences of failure are lower – High dollar value projects with little labor are treated as special cases But … • The process also is needed for organizational purposes – Some process is always required regardless of amount of work to create the product 10 The Devil is in the Details 11 IIS General Approach The project team determines whether the project is Minor, Small, Medium, or Large. Minor: <151 Small: 151-1800 Medium: 1801-7200 Large: >7200 Adjust Size Size 12 Determine Project Size 1 of 2 • Determine and describe the effort estimating approach and data to be used and how it will be used – Others should be able to recreate estimate from data provided • Estimate size of software work products • Calculate estimated effort – Convert work product size to labor hours to produce the products – Size any other project activities and convert them into labor hours 13 Determine Project Size 2 of 2 • Use Size-a-matic™ – Effort Estimate – Key-in total project effort estimate (hours) – Size Adjustments – Evaluate risk levels for 6 key areas – Describe rationale for levels selected – Resolves the issue of a “large Minor” vs. a “small Medium” 14 Tailoring Building Blocks • Regardless of development lifecycle chosen by a project, • • • • the same general sets of activities always have to be done The differences usually revolve around the ORDERING of those activities and the scale of those activities All lifecycles have to – Define requirements – Design solutions – Construct code – Discover defects – Etc. So why not define plug-and-play processes , tailorable by size, for the different project lifecycles to use? Then lifecycle definition becomes a case of pre-defined process ordering with minimal process development required 15 Tailor, Tailor, Tailor Project size is used to identify the specific activities and deliverables required for each CMMISM Process Area involved in the project. RM Minor Small Medium Large PP PMC M&A PPQA CM •Do •Do •Do •Do •Do •Do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Do •Do •Do •Do •Do •Do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Do •Do •Do •Do •Do •Do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Do •Do •Do •Do •Do •Do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do •Don’t do … 16 And Then There Are Waivers • Waivers provide the option for tailoring “outside of process boundaries” – Waive compliance with required process – Based on a substantiated business case which requires deviation from the standard – Approved by someone high enough in the management chain to understand the implications • If you define your process set correctly, waivers should rarely be needed – All the common tailoring should be pre-defined, balanced, with the trade-offs well understood and accepted – Waivers should definitely be the exception rather than the rule 17 IIS Process Right-Sizing Special Cases 18 Special Cases • Special circumstances require special methods – Maintenance of production systems – Web / Rapid Application Development (RAD) • A separate lifecycle methodology is applied – Pre-tailored to address the special circumstances with just the right amount of process in all the right places – Project sizing is not used to determine tailoring because the lifecycle is pre-tailored – Less project-by-project options means simpler to plan Process Costs Risk of Failure 19 2003 Distribution by Project Size WADM 9% MINOR 7% SMALL 19% UMBRELLA 46% MEDIUM 9% LARGE 10% 20 Maintenance Umbrella Projects 1 of 4 • Covers “level of effort” maintenance work • • • efforts – Application systems in production – Supported by pre-allocated labor pool of experts – Budgeted on an annual basis Each new customer request is either – New or changed requirement – Reported system defect – Service request (data load, table change, etc.) Groups minor-sized work efforts occurring within a specified period of time, range of hours, and/or cost amount – Annual renewal – Pre-determined fixed cost (e.g. 500 hours) – No upper limit on aggregate work covered, only on each discrete work effort Special maintenance umbrella project plan template 21 Maintenance Umbrella Projects 2 of 4 • Addresses a collection of minor work efforts on production systems which are related in one or more ways – Common customer – Common system – Common hardware – Common support organization 22 Maintenance Umbrella Projects 3 of 4 • Allows for the one-time definition of a standard approach pertaining to all of the related work efforts – Common roles and responsibilities – Common PPQA approach – Common CM approach – Common RM approach – Common RSKM approach – Etc. • Requires more process than any single minor work effort, but less than if all work performed were treated as individual minor projects – Recognizes that more process is needed to protect production software than is required for minor work efforts – Better protection for less cost 23 Maintenance Umbrella Projects 4 of 4 • Work requests which size as larger than Minor are spun off as separate projects – Separate project plan – Separate funding – Separate QA – But can still use common CM, RSKM, etc. Not Minor Customer Request Minor Sizing Process 24 Eat at Joe’s Reg. Double 1/3 lb Hamburger $1.25 $1.75 $2.50 Soy-burger $1.05 $1.50 $2.00 Medium Large Small Soda (coke, orange, root beer, sprite) $ .75 $ 1.25 $ 1.85 Milkshake (chocolate, vanilla) $ 1.75 $ 2.25 $ 3.00 Malted (chocolate, vanilla, peanut butter) $ 2.25 $ 2.75 $ 3.50 25 Jo’s Estimating Table Simple Average Complex DB Segment Change 10 hrs 15 hrs 25 hrs DB Segment Add 15 hrs 20 hrs 30 hrs DB Segment Delete 10 hrs 12 hrs 15 hrs < 5 elmts < 10 elmts < 20 elmts Screen Change 20 hrs 30 hrs 50 hrs Screen Add 30 hrs 45 hrs 60 hrs Screen Delete 10 hrs 15 hrs 20 hrs 26 Umbrella Special Tailoring Example Standard process – Must perform a Post-Implementation Evaluation (PIE) n days following implementation Umbrella process – Allows for the “bundling” of multiple small changes into quarterly PIEs instead – Major changes are still be evaluated separately 27 Web Application Development Unique set of problems and opportunities Q: How do you marry structured process to the agile philosophy? A: Very carefully!! 28 Basic Terminology • WADM™ – Web Application Development Methodology – A lightweight, rapid application development process for use in SM • • • • web application development, which is SW CMM / CMMI level 3 compliant Lightweight – Minimal amount of intermediate “stuff” – Steps – Artifacts – Reviews Rapid application development – A series of short, incremental development cycles Web application – An application, possibly linked to one or more databases, which uses the web as the user interface SW CMM / CMMISM level 3 compliant software development methodology – A structured set of processes and procedures, which has the goal of reliably producing high quality software and other work products, on schedule, and within cost. 29 WADM™ Overview 1 of 2 • The WADM™ is a full lifecycle process for web development • • projects, and for non-web development projects having similar characteristics It calls for a high level of customer involvement, short development cycles, and rapid development. General criteria for using the lifecycle – A high degree of customer involvement – Sufficient size and work scope to allow functionality to be allocated to progressive production releases – Simple design – A requirement for rapid delivery of functioning releases (get something up and running quickly) – The overall program can be compartmentalized into stand-alone projects with small teams of developers 30 WADM™ Overview Read the label! 2 of 2 • The WADM™ is not appropriate if the project – Has high algorithmic complexity – Involves integrated database design – Is solely maintenance – Has low customer involvement – Involves conversion or platform migration – Must be implemented as a whole, at one time – Cannot be divided into coherent functional units that can be implemented in successive releases – Plans to subcontract all or a portion of the work 31 WADM™ Key Elements • • • • Customer Focus – Customer has ownership of, and a high degree of visibility into, the project. – High level of customer commitment and involvement in the development team. – Customer can add, delete, modify and/or reprioritize functions as the application is being developed. – Meets customer’s real demand due to the customer’s degree of influence and control over the development effort. Short Time Span – The development cycle is divided into successive, short-duration builds. – The first build and each successive build are usable. Low Cost – No unnecessary functions are allowed. Functions that are not required are not developed. – Project documentation and reviews are minimal. – Works with virtual teams. Produces High Quality Product – Product has minimum number of defects. – Testing and defect prevention are integral to the process. 32 WADM™ Structure Proposal Phase Startup Phase Proposal •SOW • XXX • XXX •Budget • XXX • XXX •Schedule • X----• X----- Kick Off Activities •Project Plan •Form Team Activities •Kick Off Meeting Startup Meeting • Elicit Initial Set of Use Cases and Constraints • Initial Release Plan Development Cycles 1 of 5 Releases of Usable Software Development Cycle 1 Release 1.0 Development Cycle 2 Release 2.0 Additional Development Cycles Development Cycle n-1 Release n-1 Development Cycle n Release n 33 WADM™ Structure Proposal Phase Startup Activities Development Cycle Design Completed Cycle Build Acceptance Testing 2 of 5 The Planning Game Standup Meeting Construction Cycle Acceptance Test Development Construction Design Cycle Planning Meeting 34 WADM™ Structure 3 of 5 • Three nested cycles of iterative activities: – The Development Cycle – The Design Cycle – Enclosed within the Development Cycle – The Construction Cycle Proposal Phase Startup Activities Development Cycle Design Completed Cycle Build Acceptance Testing – Enclosed within the Design Cycle • Every cycle in the WADM™ begins with a • • The Planning Game Standup Meeting Construction Cycle Acceptance Test Development Construction Design Cycle Planning Meeting planning / management meeting followed by the work activities of the cycle. WADM™ projects are typically composed of several sequential Development Cycles Project Management, Risk Management, Issue Management, Requirements Management, Configuration Management, and Measurements & Analysis activities occur throughout 35 WADM™ Structure • Development Cycle – Objectives – To ensure that the 1 Cycle ~Every Month – – customer needs are understood by all parties (identify customer requirements) To ensure that the customer needs are prioritized by the customer To ensure that the customer needs are met (validate and verify the requirements) • Design Cycle – Objectives 4 of 5 1 Cycle ~Every Week – To design an application capability to meet a selected subset of the customer requirements – Duration: ~1 Week – Made Up of: – 1 Design Cycle Planning – Meeting 4-5 Construction Cycles – Duration: ~ 1 Month – no Development Cycle should exceed six weeks in duration – Made Up of: – 1 Planning Game – 3-5 Design Cycles 36 WADM™ Structure 5 of 5 • Construction Cycle – Objective 1 Cycle Per Day – Code and Unit Test Modules of the Application of the Design Cycle – Duration: Daily – Made Up of: – Daily standup meetings – Daily construction activities – Continuous integration 37 Planning Game’s 5 Standard Moves Project Constraints Complexity 1 Project Goals Risks Identify Use Cases Estimate Use Cases 3 Prioritize Use Cases Business Team Members (The Customer) Development Team Members (The Developer) Loading Factor Business Needs 2 Business Team Members (The Customer) 4 Plan Iterations 5 Commit to Release Plan Release Plan Development Team Members (The Developer) 38 WADM™ Plow-Back Proposal Phase Startup Activities Development Cycle Design Completed Cycle Build Acceptance Testing The Planning Game Standup Meeting Construction Cycle Acceptance Test Development Construction New and Deferred Use Cases Design Cycle Planning Meeting 39 WADM™ QA QA Project Plan & Schedule Review QA Consultation Proposal Phase SQA SQAof End SQA End QAof Cycle End of Cycle End of Review Cycle Review Cycle Review Reviews Startup Activities Development Cycle Design Completed Build Cycle Acceptance Testing The Planning Game Standup Meeting Construction Cycle Acceptance Test Development Construction Design Cycle Planning Meeting 40 WADM™ CMMISM AGILE WADM™ Defect Management • defect avoidance – A practice where the focus is to minimize the number of defects created during the construction of a work product. – It avoids the creation of the defect in the first place. • defect detection and resolution – A post-construction activity to identify and disposition the defects which were created during construction. – It identifies and resolves defects that were created despite the project’s defect avoidance practices. • defect management approach – Defines both the defect avoidance and the detection & resolution processes to be followed by the project team. – It also defines the criteria for deciding which processes are to be applied for each work task. 41 WADM™ Minimum Deliverables Phase Minimum Required Deliverable/Work Product Feasibility (Proposal) High Level Statement of Work High Level Estimate Start Up Activities Project Plan*, including Statement of Work Estimated Cost High Level Schedule Design and Code Standards Team Operating Rules Initial Use Case-Based Requirements Document* Initial Use Cases Design Constraint Based Requirements Initial Release Plan (found in Use Case Based Requirements Document*) Detailed Loaded Schedule Committed to by Business Team Members and Developers Initial List of Risks* Initial List of Issues* 1 of 3 * WADM™ Template required 42 WADM™ Minimum Deliverables 2 of 3 Phase Minimum Required Deliverable/Work Product Development Cycle: Planning Game Updated Risks*, Issues*, Action Items* Use Case Based Requirements Document* Use Cases, Estimates, and Design Constraint Based Requirements Updated Release Plan Acceptance Test Scenarios (Inspection, Procedural, & Automated) Use Case Estimate and Rationale Document* Development Cycle: Design and Construction Sub-Cycles Updated Risks*, Issues*, Action Items* Design CRC Cards UML Graphics Unit Test Plans Unit Test results Configuration Management Code migrated from Working to Released to Submitted for Acceptance Testing * WADM™ Template required 43 WADM™ Minimum Deliverables Phase Minimum Required Deliverable/Work Product Development Cycle: Test Updated Risks*, Issues*, Action Items* Test Class Updates Test Procedure Document Updates Use Case Test Scenario Result Summary Log* End of Development Cycle Approved Software Configuration Management Code migrated from Submitted to Approved (in production) Updated Use Case Based Requirements Document*, if changed Updated Release Plan, if changed 3 of 3 * WADM™ Template required 44 WADM™ Process Tailoring 1 of 2 • WADM™ is a pre-tailored version of the IIS process set – Specific to the rapid development / agile environment – All team members need to be trained in this methodology • Normal processes apply . . . except where superceded • explicitly by WADM™ processes – Project planning checklist does not apply – Size-a-matic™ tool does not apply Prescribed templates – Boilerplate text must be followed as is – Required WADM™ Templates – Project Plan – Use Case Based Requirements Document – Risk Management Log – Issue Management Log – Use Case Estimate & Rationale Document – Use Case Test Scenario Results Summary Log – Action Tracking Log 45 WADM™ Process Tailoring 2 of 2 • There is very little additional tailoring that the individual • project can perform – Decision on the use of CRC cards, UML, or both – Choice of defect avoidance alternatives – Choice of defect detection approaches – Identification of any project specific standards and tools – Production implementation approach and deployment strategy The WADM™ is agile, but not flexible – Most flexibility has been tailored out of the WADM™ – To decrease documentation needs – To ensure SW-CMM / CMMISM conformance – The WADM™ must be used as is 46 IIS Process Right-Sizing Summary 47 Experiment 48 Summary 1 of 6 • One size does not fit all – It never has, and never will! – And even if it did, different situations call for different dress … 49 Summary 2 of 6 50 Summary 3 of 6 • Look for the Rosetta Stone to your environment – Analyze your project types – Maybe effort is not the driver for your process tailoring decisions, but something is … – Develop varied and flexible approaches that match your business needs 51 Summary 4 of 6 Tame that SW-CMM / CMMISM monster –Turn it into something that your programmers and engineers will relate to 52 Summary 5 of 6 • Apply the intelligence principle to your process definitions – What is the purpose of all this? – You don’t have to follow the SW-CMM or the CMMI slavishly at the sub-practice level … meet the intent – If you have families of projects, customize your process definitions to make planning them easier • Allow your projects to apply the intelligence principle as well – Keep your eyes on the prize: better run and more predictable projects that meet your customers needs – Avoid process for process sake 53 Summary 6 of 6 Trust in the Force … but make it easy to comply! 54