Chapter 11: Some Software Best Practices to Consider

 < Day Day Up > 



Overview

Material in this section was graciously contributed by Thomas J. Beltz of Integrated Computer Engineering (ICE), is adapted with their permission from an original paper[18] that outlines their recommended 16 Critical Software Practices™ that serve as the basis for implementing effective performance-based management of software-intensive projects. ICE is recognized in the IT marketplace for its expansive knowledge and execution of risk management services in support of more than 250 federal, Department of Defense, state, and commercial software acquisition and development programs. As a cofounder and administrator of the Tri-Services Software Program Managers Network, ICE’s dominance in project risk management is firmly established. The 16 Critical Software Practices™ are intended to be used to implement effective high-leverage practices to improve bottomline measures: time to fielding, quality, cost, predictability, and customer satisfaction, to name a few, and they are for use by CIOs, Project Managers, sponsoring agencies, software Project Managers, and others involved in software engineering.

These practices (nine best practices and seven sustaining practices) are the key to avoiding significant problems for software development projects. These practices have been gathered from the crucible of real-world, largescale software development and maintenance projects. Together they constitute a set of high-leverage disciplines that are focused on improving a project’s bottom line. These practices are the starting point for structuring and deploying an effective process for managing large-scale software development and maintenance. They may be tailored to the particular culture, environment, and phases of a program. Of course, these practices cannot help death march programs that are expected to deliver under impossible schedule deadlines with inadequate funding and without the required staffing with essential skills. They are broken into three main areas, outlined as follows:

Project Integrity

  1. Adopt continuous risk management.

  2. Estimate cost and schedule empirically.

  3. Use metrics to manage.

  4. Track earned value.

  5. Track defects against quality targets.

  6. Treat people as the most valuable resource.

Construction Integrity

  1. Adopt life cycle configuration management.

  2. Manage and trace requirements.

  3. Use system-based software design.

  4. Ensure data and database interoperability.

  5. Define and control interfaces.

  6. Design twice, code once.

  7. Assess reuse risks and costs

Product Stability and Integrity

  1. Inspect requirements and design.

  2. Manage testing as a continuous process.

  3. Compile and smoke test frequently.



 < Day Day Up > 



Managing Software Deliverables. A Software Development Management Methodology
Managing Software Deliverables: A Software Development Management Methodology
ISBN: 155558313X
EAN: 2147483647
Year: 2003
Pages: 226

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net