1st Edition

Software Engineering Quality Practices

By Ronald Kirk Kandt Copyright 2006
    280 Pages 18 B/W Illustrations
    by Auerbach Publications

    Learn how to attract and keep successful software professionals
    Software Engineering Quality Practices describes how software engineers and the managers that supervise them can develop quality software in an effective, efficient, and professional manner. This volume conveys practical advice quickly and clearly while avoiding the dogma that surrounds the software profession. It concentrates on what the real requirements of a system are, what constitutes an appropriate solution, and how you can ensure that the realized solution fulfills the desired qualities of relevant stakeholders. The book also discusses how successful organizations attract and keep people who are capable of building high-quality systems.

    The author succinctly describes the nature and fundamental principles of design and incorporates them into an architectural framework, enabling you to apply the framework to the development of quality software for most applications. The text also analyzes engineering requirements, identifies poor requirements, and demonstrates how bad requirements can be transformed via several important quality practices.

    Introduction
    Qualities
    Quality Drivers
    Common Approaches to Developing Quality Software
    An Integrated Approach for Developing Quality Software

    Organizational Change Management
    Practices to be Followed by Management Personnel
    Practices to be Followed by Software Engineering Process
    Groups
    A Procedure for Making Change Happen

    Personnel Management
    Practices for Staffing an Organization
    Practices for Developing Individual Skills
    Practices for Rewarding Performance
    Practices for Providing a Suitable Workplace
    A Procedure for Hiring and Keeping Good People

    Project Management
    Practices for Planning a Project
    Practices for Managing a Project
    A Procedure for Planning a Project

    Configuration Management
    Practices for Managing Versions of Software Artifacts
    Practices for Controlling Changes to Software Artifacts
    Practices for Building Software Systems
    Practices for Releasing Software Systems
    Practices for Maintaining the Integrity of Software
    Artifacts
    A Procedure for Creating a Configuration Management
    System
    A Baseline Procedure for Managing Software
    Configurations

    Requirements Engineering
    Practices for Eliciting Requirements
    Practices for Analyzing the Problem Domain and
    Application Needs
    Practices for Specifying Requirements
    Practices for Validating Requirements
    Practices for Managing the Definition of Requirements
    A Procedure for Engineering Requirements

    Design
    Fundamental Principles of Design
    Practices for Designing Architectures
    Practices for Adding Detailed Design Information
    Practices Affecting the Design Process
    A Unified Framework for System Architectures
    A Procedure for Designing Software

    Programming
    Practices for General-Purpose Programming

    Verification
    Inspections
    Testing
    A Procedure for Planning the Verification Procedure
    A Baseline Procedure for Verifying Software Systems

    Remaining Quality Practices and Issues
    Practices for Writing Useful User Documentation
    Reusability
    Defect Estimation Techniques

    Competing Approaches
    Extreme Programming
    The Rational Unified Process
    Cleanroom Software Engineering
    Capability Maturity Model - Integrated

    Summary
    Comparison to Competing Approaches
    Early Thoughts of the Software Pioneers
    My Final Thoughts

    Biography

    Ronald Kirk Kandt