You are previewing Improving Software Development Productivity: Effective Leadership and Quantitative Methods in Software Management.
O'Reilly logo
Improving Software Development Productivity: Effective Leadership and Quantitative Methods in Software Management

Book Description

Superior software productivity requires a relentless focus on people, motivation, and communication. In Improving Software Development Productivity,  world-renowned software engineering expert Dr. Randall W. Jensen introduces a proven, quantitative approach to achieving this focus. Jensen helps you measure your organization’s capacity and productivity, and then use that information to improve multiple facets of developer and team performance, and to build more accurate estimates and schedules.

Focusing on management as the principal cost and schedule driver in software projects, he demonstrates a powerful tool based on his Jensen II (Seer) model: the model that underlies many leading software estimation tools. Through real case studies, you’ll learn how to predict the productivity impact of any major management decision, and quantitatively support a transition to “extreme” or “agile” software development environments.

For decades, Jensen has been the industry’s go-to expert on improving software project productivity. This book distills his insights and gives you the tools and knowledge to apply them.

This book will help you

  • Recognize the centrality of communication and culture, and translate this awareness into quantitative improvements

  • Predict the impact of changes in personnel, management style, development environments, product constraints, and technologies

  • Optimize decision making throughout a project’s lifecycle, and avoid counterproductive changes

  • Understand modern estimating models and parameters, so you can apply them more effectively

  • Formulate more accurate and useful estimates with leading tools such as Sage, REVIC, COCOMO II, and SEER-SEM

  • Maintain firmer control over costs and timeframes in agile or extreme project environments

  • Register your book for access to the Capability Calculator, a Microsoft Excel tool created by the author and based on the Jensen II (Seer) model. Go to informit.com/title/9780133562675.

    Table of Contents

    1. Contents
    2. Preface
    3. 1. Software Development Issues
      1. 1.1. Software Crisis
      2. 1.2. People Impact on Productivity
      3. 1.3. Agile Contributions to Development Productivity
      4. 1.4. Magic Bullets
      5. 1.5. Development Constraints
    4. 2. The Effectiveness Formula
      1. 2.1. The Formula
      2. 2.2. Mechanics of Communication
      3. 2.3. Culture Issues
    5. 3. Importance of Software Management
      1. 3.1. Historical Perspective
      2. 3.2. Hawthorne Effect
      3. 3.3. Theory X/ Theory Y
      4. 3.4. Agile Software Development
      5. 3.5. More Real Productivity Improvers
    6. 4. What We Learn From History
      1. 4.1. Pandora and the Magic Vase
      2. 4.2. Productivity Gains from Technology
      3. 4.3. CMMI
      4. 4.4. Maximum/Minimum Schedule is Real
      5. 4.5. And so...
    7. 5. Software Development Teams
      1. 5.1. Software Development Teams
      2. 5.2. Team Examples
      3. 5.3. Team Positive Effects
      4. 5.4. Team Size
      5. 5.5. And then...
    8. 6. Measuring Organization Capability
      1. 6.1. The Evolving Concept of Developer Capability
      2. 6.2. The Effectiveness Formula Redux
      3. 6.3. Organization Capability Rating
      4. 6.4. Basic Technology Constant
    9. 7. Faultless Software Corporation Case Study
      1. 7.1. The Problem
      2. 7.2. Faultless Software, the Corporation
      3. 7.3. The Software Components
      4. 7.4. Faultless Software Capability Ratings
    10. 8. Product Complexity
      1. 8.1. A Quantitative Complexity Value
      2. 8.2. Faultless Software Complexity Example
    11. 9. Staffing Profiles
      1. 9.1. Effective Use of People
      2. 9.2. Brooks’ Law in Action
      3. 9.3. A Touch of Reality
    12. 10. Seer Software Model Introduction
      1. 10.1. Introduction
      2. 10.2. Software Equation
      3. 10.3. Schedule and Cost Estimates
    13. 11. Development Environment
      1. 11.1. Experience Factors
      2. 11.2. Volatility Factors
      3. 11.3. Management Factors
    14. 12. Product Characteristics
      1. 12.1. Product Characteristics Evaluation
      2. 12.2. Effective Technology Constant
      3. 12.3. Basic Technology Constant Projection
    15. 13. Development Schedule & Cost Estimates
      1. 13.1. Waterfall Development Model
      2. 13.2. Faultless Software Case Study
      3. 13.3. Summary
    16. 14. Effective Size Estimation
      1. 14.1. Source Code Elements
      2. 14.2. Size Uncertainty
      3. 14.3. Source Line of Code (SLOC)
      4. 14.4. Effective Source Lines of Code (ESLOC)
      5. 14.5. Effective Size Equation
      6. 14.6. Size Growth
      7. 14.7. Size Risk
      8. 14.8. Faultless Software Size Example
    17. 15. Function Point Sizing
      1. 15.1. Function Point Counting
      2. 15.2. Function Point Components
      3. 15.3. Unadjusted Function Point Counting
      4. 15.4. Adjusted Function Points
      5. 15.5. Backfiring
      6. 15.6. Function Points and Objects
      7. 15.7. Zero Function Point Problem
    18. 16. Maintenance Estimating
      1. 16.1. Introduction
      2. 16.2. Software Enhancement
      3. 16.3. Knowledge Retention
      4. 16.4. Steady State Maintenance Effort
      5. 16.5. Maintenance Example
    19. 17. Summary
      1. 17.1. The Effectiveness Formula Revisited
      2. 17.2. People-Process-Project Triad
      3. 17.3. The Value of Communications
      4. 17.4. Management and Motivation
      5. 17.5. Teams
      6. 17.6. Last thoughts
    20. A. Software Estimating Models
      1. A.1. Analogy Models
      2. A.2. Expert Judgment Models
      3. A.3. Bottom Up Estimating
      4. A.4. Parametric Models
      5. A.5. Evolution of Parametric Software Models
    21. B. Additional Reading
    22. C. Terminology