Software Development s Low Hanging Fruit. www.construx.com



Similar documents
Software Development Life Cycle (SDLC)

A Capability Maturity Model (CMM)

10 Keys to Successful Software Projects: An Executive Guide

Business Case for Better Software Practices

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Introducing Agility into a Phase Gate Process

Software Development Processes. Software Life-Cycle Models

The 10 Most Important Ideas in Software Development

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

10x Engineering Principles

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Professional Software Development

Five Things Every Software Executive Should Know About Scrum

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Unit 1 Learning Objectives

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

Three Things I Wish I Learned in School

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

Managing Technical Debt

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

SOFTWARE DEVELOPMENT PLAN

Successful companies trust us to improve the way they develop software. Read their real-life, results-oriented stories inside.

Certified Software Quality Engineer (CSQE) Body of Knowledge

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

(Refer Slide Time: 01:52)

How To Calculate The Roi Of Application Performance Management

Applying CMMI SM In Information Technology Organizations SEPG 2003

Software Development Methodology Development Process Aress

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Certified Software Quality Assurance Professional VS-1085

What you can find in the ISBSG Development & Enhancement Repository Release 13

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

IV. Software Lifecycles

Professional Development Ladder

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

LECTURE 1. SYSTEMS DEVELOPMENT

Karunya University Dept. of Information Technology

Supporting Workflow Overview. CSC532 Fall06

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

To introduce software process models To describe three generic process models and when they may be used

TDWI Project Management for Business Intelligence

System development lifecycle waterfall model

Lecture 3 Software Development Processes

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

How To Understand The Software Process

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Quality Assurance Software Development Processes

10 Keys to Successful Scrum Adoption

Software Engineering. An Introduction. Fakhar Lodhi

Introduction to Agile Software Development

Software Development Methodologies

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Unit I. Introduction

HOW TO MAKE YOUR EMPLOYEE ONBOARDING PROGRAM STRATEGIC AND EFFECTIVE FOR BETTER NEW HIRE ENGAGEMENT, PRODUCTIVITY, AND RETENTION

Classical Software Life Cycle Models

Verification and Validation of Software Components and Component Based Software Systems

Capability Maturity Model Integration (CMMI ) Overview

Engineering Process Software Qualities Software Architectural Design

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

10 Killer Salesforce Reports

After the Gold Rush: Prospects for a True Profession of Software Engineering

A Closer Look at BPM. January 2005

Software Development Process

SWEBOK Certification Program. Software Engineering Management

5 Common MYTHS about Applicant Tracking Software

THE ROI OF CLOUD-BASED FINANCIAL APPLICATIONS

Software Process Improvement. Overview

Process Models and Metrics

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Iterative Project Management 1

PROJECT SCOPE STATEMENT

By Paula Rome, Senior TestTrack Product Manager

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

The 10 Best Ideas in Software Development

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

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

10 Deadly Sins of Software Estimation.

An Assessment between Software Development Life Cycle Models of Software Engineering

COMP 354 Introduction to Software Engineering

IT3205: Fundamentals of Software Engineering (Compulsory)

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Chapter 1 The Systems Development Environment

Software Requirements, Third Edition

CMMI 100 Success Secrets

SOFTWARE PROCESS MODELS

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Using Rational Software Solutions to Achieve CMMI Level 2

Measuring the benefits of verification. Jan Jaap Cannegieter. SYSQA B.V. Almere

An introduction to the benefits of Application Lifecycle Management

Prototyping and Rapid. Contents. Application Development (RAD) What is RAD. RAD - Background. Definitions Anecdotal advantages! Anecdotal problems!

Developing CMMI in IT Projects with Considering other Development Models

Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM

Interpreting the Management Process in IEEE/EIA with the Help of PMBOK

Three simple steps to effective service catalog and request management

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

CPSC 491 Lecture Notes Fall 2013

Agile Techniques for Object Databases

How to Choose the Right Accounting Software for Your Business

Transcription:

Software Development s Low Hanging Fruit www.construx.com

Copyright Notice These class materials are 2007-2008 Construx Software Builders, Inc. All Rights Reserved. No part of the contents of this seminar may be reproduced or transmitted in any form or by any means without the written permission of Construx Software Builders, Inc.

Why Talk About Low Hanging Fruit?

Why Talk About Low Hanging Fruit? Numerous Good Practices Have Existed for Decades

Best Practices (year first available) Project planning and management practices Automated estimation tools (1973) Evolutionary delivery (1988) Measurement (1977) Productivity environments (1984) Risk-management planning (1981) Requirements engineering practices Change board (1978) Throwaway user interface prototyping (1975) JAD sessions (1985) 5

Best Practices (year first available, cont.) Design practices Information hiding (1972) Design for change (1979) Construction practices Source code control (1980) Incremental integration (1979) Quality assurance practices Branch-coverage testing (1979) Inspections (1976) Process improvement SW-CMM (1987) Software Engineering Process Groups (1988) 6

Why Talk About Low Hanging Fruit? ROI of Good Software Practices is Well Established

ROI for Selected Practices Practice Formal code inspections Formal design inspections Cost and quality estimation tools JAD Workshops Process assessments Management training Technical staff training Prototyping (full) 12-month ROI 2.5 3.5 2.5 2.3 1.5 1.2 0.9 2.0 36-month ROI 12 10 12 7.5 6.0 5.5 5.0 5.0 Source: Capers Jones, Assessment and Control of Software Risks, Prentice Hall, 1994. 8

ROI Improved software practices pay an average ROI of 5-to-1 (including false starts), and continued improvement is sustainable for many years The best organizations have sustained ROIs of 9-to-1 on software improvement initiatives for many years Source: James Herbsleb, et al, Benefits of CMM Based Software Process Improvement: Initial Results, Pittsburgh: Software Engineering Institute, Document CMU/SEI-94-TR-13, August 1994. 9

Why Talk About Low Hanging Fruit? These Practices Should Have Been Adopted Long Ago

Cycle for Diffusion of Innovations Early Majority Late Majority Early Adopters Innovators Laggards The Chasm Adoption Sequence 11

Normal Risk/Reward Structure Moderate-low risk / moderate payoff Low risk / moderate payoff Moderate-high risk / moderate-high payoff High risk / high payoff Low risk / low payoff Decreasing Risk Decreasing Reward 12

Software s Unusual Risk/Reward Structure Low risk / high payoff Moderate risk / low payoff Moderate risk / high payoff High risk / high payoff High risk / low payoff Decreasing Risk Increasing Risk Decreasing Reward 13

Why Talk About Low Hanging Fruit? but Many Good Practices Have Not Been Commonly Adopted

Some Software Examples New practices (not mentioned in this talk) Most Low Hanging Fruit SW-CMM Waterfall lifecycle model Code-and-fix development Decreasing Risk Increasing Risk Decreasing Reward 15

State of the Practice Lots of proven practices are available Risk of not using these practices is substantially higher than of using them Many of these tried-and-true practices are readily available, easy to adopt, and provide immediate returns 16

Why Talk About Low Hanging Fruit? Does It Seem Like We re Always Talking About Long Term Improvements?

Schedule Required to Move Up One CMM Level 75 Number of months to move to the next CMM Level 50 30 18 26 19 Largest observed value that is not an outlier 75th Percentile Median 25th Percentile 0 Smallest observed value that is not an outlier Level 1 to 2 76 Orgs Level 2 to 3 56 Orgs 18

Example Process Improvement Results Median Results (13 organizations) Duration: 3.5 years Productivity gain per year: 35% (185% total) Schedule reduction per year: 19% (52% total) Reduction in post-release defect reports per year: 39% (82% total) Business Value of the Investment: 5.0 to 1 19

Why Talk About Low Hanging Fruit? A Low Hanging Fruit Hypothesis

Hypothesis: The industry focus on long term improvements has created the impression that improvements are attainable only in the long term. In fact, many significant improvements are attainable in the short term! 21

Low Hanging Fruit (LHF)

Criteria for LHF Low cost of adoption Good or very good chance of first-time success Excellent chance of long term success Short time to positive ROI 23

Candidates for LHF Software Best Practices Software Fundamentals that aren t currently being used 24

LHF Candidates, part 1 4GLs Architectural design Buy vs. build planning Change board Cleanroom development Coding standards Customer orientation Daily build and smoke test Defect tracking, full lifecycle Designing for change Education, management Education, technical staff Error-prone modules, identification of Estimating tools, use of automated Estimation and scheduling, accurate Evolutionary-delivery lifecycle model Evolutionary-prototyping lifecycle model Feature-set control 25

LHF Candidates, part 2 Goal setting Hiring top talent Inspections Incremental Planning Incremental Integration Joint Application Design (JAD) Lifecycle model selection Measurement Milestones, miniature Minimal specification Motivation Outsourcing Planning tools, automated Principled negotiation Productivity environments Productivity tools Rapid-development languages (RDLs) 26

LHF Candidates, part 3 Requirements scrubbing Reuse Risk management, active Signing up Software configuration management, full Software engineering process group (SEPG) Source code control Spiral lifecycle model Staff specialization Staged-delivery lifecycle model Team structure, matching to project type Test-first coding Theory-W management Throwaway prototyping Timebox development Tools group Top-10 risks list Project Tracking, Active Up-front Design Up-front Planning Up-front Requirements User-interface prototyping 27

Is Everything Low Hanging Fruit? There are many good candidates for LHF (58!) What will constitute LHF from one organization to the next will vary Low cost of adoption Good or very good chance of first-time success Excellent chance of long term success Short time to positive ROI 28

Examples of Fruit That Isn t Low Hanging Practice RUP Spiral Lifecycle Model Why Not LHF? More like a whole tree than individual fruit Not low cost to adopt Not high chance of first-time success Not a high chance of first-time success Developing Code for Reuse Pair Programming Not a short time to positive ROI Not a high chance of first-time success or long-term success No evidence of positive ROI Not a high chance of long-term success 29

Examples of Fruit That Isn t Low Hanging (cont.) Practice Why Not LHF? CASE Tools Not low cost to adopt Not a high chance of first-time success or long-term success Statistical Process Control Major Milestones Use Cases It s great fruit, just not low hanging, i.e., not a short time to positive ROI Not a high chance of first-time success or long-term success Not a high chance of first-time success or long-term success 30

Where Do You Start?

Where Do You Start? Depends on who you are: Developer Technical Lead Manager Organization (Executive) 32

A Developer s LHF Assumptions LHF cannot require more than one contributor LHF doesn t create any direct expense LHF must not create atomic work that would show up on a task list LHF is minimally visible to management 33

A Developer s LHF Can Own: Coding Standards Test-First Coding Designing for Change Incremental Integration Throwaway Prototyping Up-Front Design Can Contribute to: Error-Prone Modules, Identification of Defect Tracking, full lifecycle Daily Build and Smoke Test Architectural Design User-Interface Prototyping Evolutionary Delivery Source Code Control Tool 34

A Developer s LHF Observations ROI of developer-level LHF is relatively low, but lots of LHF is easily within reach Lots of LHF is partially reachable Construx has found violent agreement in upper management that developers should be using LHF Most of these practices are invisible to upper management 35

A Technical Lead s LHF Assumptions LHF is primarily technical in nature LHF doesn t create any direct expense LHF may require more than one contributor LHF may affect detailed task assignments, task ordering, etc. LHF is minimally visible to upper management, the customer, or other project stakeholders 36

A Technical Lead s LHF Can Own: Coding Standards Test-First Coding Designing for Change Incremental Integration Throwaway Prototyping Up-Front Design Error-Prone Modules, Identification of Daily Build and Smoke Test Defect Tracking, full lifecycle Architectural Design User-Interface Prototyping Evolutionary Delivery Lifecycle Model Selection Inspections Requirements Scrubbing Planning, Incremental Change Control, Formal Top-10 Risks List 37

A Technical Lead s LHF (cont.) Can Contribute to: Source Code Control Tool Miniature Milestones Timebox Development Up-Front Requirements Planning, Up-Front 38

A Technical Lead s LHF Observations Most LHF is reachable by the technical lead Again, most LHF is invisible to executive management, and implicitly supported by executive management Most of it will work better with project management and executive support Problem at this level is really choosing which of numerous options is best that s what expert help is for! 39

A Manager s LHF Assumptions LHF is not highly technical in nature LHF may create direct expenses LHF may affect more than one contributor LHF may affect detailed task assignments, task ordering, etc. LHF may be visible to upper management, the customer, or other project stakeholders LHF does not require multiple-project span of control 40

A Manager s LHF Can Own: Inspections Requirements Scrubbing Planning, Incremental Change Control, Formal Top-10 Risks List Feature-Set Control Source Code Control Tool Miniature Milestones Timebox Development Up-Front Requirements Theory-W Management Planning, Up-Front Buy Vs. Build Planning Joint Application Design (JAD) 41

A Manager s LHF (cont.) Can Contribute to: Throwaway Prototyping Defect Tracking, full lifecycle Up-Front Design User-Interface Prototyping Evolutionary Delivery Lifecycle Model Selection Staff Specialization Education, Technical Staff Education, Management 42

A Manager s LHF Observations Most LHF is reachable by the manager Most of the detailed work on the LHF will need to be done by technical staff Main problem here again is too many choices 43

An Organization s LHF Assumptions LHF is not highly technical in nature LHF may create direct expense LHF may affect more than one project LHF may degrade single-project performance to boost overall organization performance 44

An Organization s LHF Can Own: Staff Specialization Education, Technical Staff Education, Management Planning, Up-Front Buy Vs. Build Planning Change Control, Formal Top-10 Risks List Joint Application Design (JAD) Can Contribute to: Planning, Incremental Defect Tracking, full lifecycle Timebox Development Up-Front Requirements Theory-W Management 45

An Organization s LHF Observations Most organization-level LHF has high ROI, but longer lead times (opposite of developer-level LHF) Most detailed work still needs to be done by technical staff Bottom Line Most of the work to harvest LHF occurs at the technical lead levels, but that work significantly benefits from support at the manager, organization, and developer level 46

A Low Hanging Fruit Basket

LHF that are the Fastest to Adopt Coding Standards Daily Build and Smoke Test Source Code Control Tool Top 10 Risks List User Interface Prototyping 48

LHF that are the Lowest Risk to Adopt Daily Build and Smoke Test Defect Tracking Education, Technical Staff Inspections Planning, Incremental Source Code Control Tool Top 10 Risks List 49

LHF that will Not be Resisted by Individual Contributors Change Control, Formal Planning, Incremental Source Code Control Tool Top 10 Risks List Up-front Design Up-front Requirements 50

LHF that will Not be Resisted by Upper Management Coding Standards Incremental Integration User Interface Prototyping Defect Tracking Up-Front Design Architectural Design Inspections Test-First Coding Designing for Change Error-Prone Modules, Identification of Daily Build and Smoke Test Evolutionary Delivery Lifecycle Model Selection Planning, incremental Planning, up-front Executives can t resist LHF they can t see! 51

Summary

Good News Practically everything in software development is fundamentals. There are no advanced practices. (This isn t quite true, but it s pretty close) The worse off your organization is now, the higher the ROI of good practices will be! If you re not currently making substantial use of good practices, focus on doing anything; don t let the best become the enemy of the good 53

More Good News Low hanging fruit is just the beginning. Once you harvest that, there is still more fruit higher up LHF can help an organization learn how to change which is one of the hardest aspects of longer-term process improvement Construx specializes in helping organizations identify which LHF is best for them 54

Construx Consulting Support Audits, Benchmarks, and Recommendations (we identify your LHF) Improvement Roadmaps Project Chartering Workshops Project Planning Workshops Requirements Workshops Project Scoping & Estimation Workshops Best-Practice Deployment Workshops Project Recovery www.construx.com 55

Construx Software is committed to helping individuals and organizations improve their software development practices. For information about our training and consulting services, contact stevemcc@construx.com. Seminar Schedule: www.construx.com/calendar 10900 NE 8th Street, Suite 1350 Bellevue, WA 98004 +1 (866) 296-6300 www.construx.com