You are previewing Creating a Software Engineering Culture.
O'Reilly logo
Creating a Software Engineering Culture

Book Description

This is the digital version of the printed book (Copyright © 1996).

Written in a remarkably clear style, Creating a Software Engineering Culture presents a comprehensive approach to improving the quality and effectiveness of the software development process.

In twenty chapters spread over six parts, Wiegers promotes the tactical changes required to support process improvement and high-quality software development. Throughout the text, Wiegers identifies scores of culture builders and culture killers, and he offers a wealth of references to resources for the software engineer, including seminars, conferences, publications, videos, and on-line information.

With case studies on process improvement and software metrics programs and an entire part on action planning (called “What to Do on Monday”), this practical book guides the reader in applying the concepts to real life.

Topics include software culture concepts, team behaviors, the five dimensions of a software project, recognizing achievements, optimizing customer involvement, the project champion model, tools for sharing the vision, requirements traceability matrices, the capability maturity model, action planning, testing, inspections, metrics-based project estimation, the cost of quality, and much more!

Principles from Part 1

  • Never let your boss or your customer talk you into doing a bad job.

  • People need to feel the work they do is appreciated.

  • Ongoing education is every team member’s responsibility.

  • Customer involvement is the most critical factor in software quality.

  • Your greatest challenge is sharing the vision of the final product with the customer.

  • Continual improvement of your software development process is both possible and essential.

  • Written software development procedures can help build a shared culture of best practices.

  • Quality is the top priority; long-term productivity is a natural consequence of high quality.

  • Strive to have a peer, rather than a customer, find a defect.

  • A key to software quality is to iterate many times on all development steps except coding: Do this once.

  • Managing bug reports and change requests is essential to controlling quality and maintenance.

  • If you measure what you do, you can learn to do it better.

  • You can’t change everything at once. Identify those changes that will yield the greatest benefits, and begin to implement them next Monday.

  • Do what makes sense; don’t resort to dogma.

  • Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Also Available from DORSET HOUSE
    5. Dedication Page
    6. Acknowledgments
    7. Permissions Acknowledgments
    8. Contents
    9. Figures and Tables
    10. Preface
    11. Part I: A Software Engineering Culture
      1. Chapter 1. Software Culture Concepts
        1. Culture Defined
        2. Growing Your Own Culture
        3. A Healthy Software Culture
        4. A Less Healthy Software Culture
        5. Organizational Options
        6. The Management Challenge
        7. Summary
        8. Culture Builders and Killers
        9. References and Further Reading
      2. Chapter 2. Standing On Principle
        1. Integrity and Intelligence: With Customers
        2. Integrity and Intelligence: With Managers
        3. The Five Dimensions of a Software Project
        4. Summary
        5. Culture Builders and Killers
        6. References and Further Reading
      3. Chapter 3. Recognizing Achievements Great and Small
        1. The Importance of Being Visible
        2. The Importance of Management Attitude
        3. Rewards for a Job Well Done
        4. Summary
        5. Culture Builders and Killers
        6. References and Further Reading
      4. Chapter 4. So Much to Learn, So Little Time
        1. What to Learn
        2. Where to Learn
        3. Summary
        4. Culture Builders and Killers
        5. References and Further Reading
    12. Part II: In Search of Excellent Requirements
      1. Chapter 5. Optimizing Customer Involvement
        1. Software Requirements: The Foundation of Quality
        2. The Need for Customer Involvement
        3. The Project Champion Model
        4. Project Champion Expectations
        5. When the Project Champion Model Fails
        6. Summary
        7. Culture Builders and Killers
        8. References and Further Reading
      2. Chapter 6. Tools for Sharing the Vision
        1. Use Cases
        2. Software Requirements Specifications
        3. Dialog Maps
        4. Prototypes
        5. Requirements Traceability Matrices
        6. From Requirements to Code
        7. Summary
        8. Culture Builders and Killers
        9. References and Further Reading
    13. Part III: Improving Your Processes
      1. Chapter 7. Process Improvement Fundamentals
        1. Principles of Process Improvement
        2. Getting Started with Process Improvement
        3. Summary
        4. Culture Builders and Killers
        5. References and Further Reading
      2. Chapter 8. Process Improvement Case Study
        1. Making Change Happen
        2. Sustaining Momentum
        3. Summary
        4. Culture Builders and Killers
        5. References and Further Reading
      3. Chapter 9. Software Process Maturity
        1. The Capability Maturity Model
        2. Dissenting Opinions
        3. Process Assessments
        4. Process Maturity and Culture
        5. Summary
        6. Culture Builders and Killers
        7. References and Further Reading
      4. Chapter 10. Software Development Procedures
        1. Standards, Procedures, and Guidelines, Oh My!
        2. Local Development Guidelines
        3. Our Software Development Guidelines
        4. IEEE Standards
        5. Other Standards Sources
        6. Summary
        7. Culture Builders and Killers
        8. References and Further Reading
    14. Part IV: The Bug Stops Here
      1. Chapter 11. The Quality Culture
        1. The Cost of Quality
        2. Assuring Software Quality
        3. How Good Is Good Enough?
        4. An Assault on Defects
        5. Explicit SQA Responsibilities
        6. Why Do We Think Quality Practices Pay Off?
        7. Summary
        8. Culture Builders and Killers
        9. References and Further Reading
      2. Chapter 12. Improving Quality by Software Inspection
        1. Inspections and Culture
        2. Benefits of Inspections
        3. Inspections, Walkthroughs, and Reviews
        4. Guiding Principles for Reviews and Inspections
        5. Keeping Records
        6. Making Inspections Work in Your Culture
        7. Summary
        8. Culture Builders and Killers
        9. References and Further Reading
      3. Chapter 13. Structured Testing
        1. Testing and the Quality Culture
        2. A Unit Testing Strategy
        3. Cyclomatic Complexity and Testing
        4. Test Management and Automation
        5. Structured Testing Guidelines
        6. Summary
        7. Culture Builders and Killers
        8. References and Further Reading
    15. Part V: Methods, Measures, and Tools
      1. Chapter 14. The CASE for Iteration
        1. Types of CASE Tools
        2. Hypes of CASE Tools
        3. Lessons from Our CASE History
        4. Fitting CASE into Your Culture
        5. Other Benefits from CASE
        6. Culture Change for CASE
        7. Summary
        8. Culture Builders and Killers
        9. References and Further Reading
      2. Chapter 15. Control Change Before It Controls You
        1. Benefits of a Problem Tracking System
        2. A Software Change Management Case Study
        3. The Software Change Control Board
        4. How Change Control Can Simplify Your Life
        5. Learning from Bug Detection Trends
        6. Proactive Failure Reporting
        7. Making Change Management Work in Your Culture
        8. Summary
        9. Culture Builders and Killers
        10. References and Further Reading
      3. Chapter 16. Taking Measures to Stay on Track
        1. Why Measurement Programs Fail
        2. Metrics Programs Don’t Have to Fail
        3. What to Measure
        4. How to Design Your Metrics Program
        5. Summary
        6. Culture Builders and Killers
        7. References and Further Reading
      4. Chapter 17. Case Study: Measurement in a Small Software Group
        1. Software Work Effort Metrics
        2. Trends and Applications
        3. Metrics-Based Project Estimation
        4. Lessons from Work Effort Metrics
        5. Predicting Maintainability with Metrics
        6. Summary
        7. Culture Builders and Killers
        8. References and Further Reading
      5. Chapter 18. If It Makes Sense, Do It
        1. Summary
        2. Culture Builders and Killers
        3. References and Further Reading
    16. Part VI: What to Do on Monday
      1. Chapter 19. Action Planning for Software Managers
        1. Action Item Menu
        2. Summary
        3. References and Further Reading
      2. Chapter 20. Action Planning for Software Engineers
        1. Action Item Menu
        2. Building a Healthy Workplace
        3. Summary
        4. References and Further Reading
    17. Epilogue
    18. Appendix A. Sources for Continued Software Learning
    19. Appendix B. Contact Information for Selected Resources
    20. Bibliography
    21. Author Index
    22. Subject Index
    23. Reviewers’ Comments and Praise for CREATING A SOFTWARE ENGINEERING CULTURE by Karl E. Wiegers