EPRI: Electric Power Research Institute

Software Development


Best Practices (Suggested Readings)

Software Project Management

  • DeMarco, Tom (1999),"Peopleware: Productive Projects and Teams" (2nd Edition). This book demonstrates that the major issues of software development are human, not technical. The answers aren't easy—just incredibly successful
  • Roetzheim, W. & Beasley, R.(1997),"Software Project Cost & Schedule Estimating--Best Practices." A book/CD-ROM package offering techniques for producing and defending accurate software development estimates and schedules. Methods are applicable to large and small projects
  • McConnell, Steve (1996), "Rapid Development: Taming Wild Software Schedules." A highly acclaimed book on effective scheduling for software development, including a section on classic mistakes to avoid
  • Brooks, Frederick (1995), "The Mythical Man-Month: Essays on Software Engineering." A classic collection of essays on software program management and managing complex software development projects

Software Requirements

  • Wiegers, Karl E. (1999) "Software Requirements." Practical techniques for gathering and managing requirements throughout the product development cycle

Project Plan Content

  • ANSI/ IEEE Standard 829-1998 (or latest revision), "IEEE Standard for Software Test Documentation"
  • Musa, J.D., and Ackerman, A.F. (1989) "Quantifying Software Validation: When to Stop Testing?" IEEE Software, 6(3): 19-27. Relevant for anyone involved in testing

Development Process

  • Rosenberg, Scott (2008) "Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software". Our civilization runs on software. Yet the art of creating it continues to be a dark mystery, even to the experts. To find out why it's so hard to bend computers to our will, Scott Rosenberg spent three years following a team of maverick software developers
  • Ayer, S., and Patrinostro, F. (1992) "Documenting the Software Development Process." New York: McGraw-Hill. If you are looking for technical detail on how to document processes, together with a comprehensive list of CASE vendors with process documentation tools, this book is for you
  • Russell, G. (1991) "Inspection in Ultralarge-Scale Development ," IEEE Software, 8(1):25-31. Practical introduction to code inspections from an author with lots of hands-on experience at Bell-Northern research
  • Fagan, M.E. (1976) "Design and Code Inspections to Reduce Errors in Program Development" IBM Systems Journal, 15(3):182-211. One of the original papers on software code inspections; useful for historical content

ISO 9000

  • Kehoe, Raymond and Alka Jarvis (1996), "ISO 9000-3: A Tool for Software Product and Process Improvement"
  • Schmauch, Charles H. (1995), "ISO 9000 for Software Developers, Revised Edition". Offers insights into what is required to achieve ISO conformance and registration for software development
  • "ISO 9000 Translated Into Plain English" - Summary of ISO 9000-3 Guidelines for Applying the ISO 9000 Standard to software: http://www.praxiom.com/iso-9000-3.htm
  • American Society for Quality Control - ANSI/ISO/ASQC Q9001,
    American National Standard, Quality Systems. "Model for Quality Assurance in Design, Development, Production, Installation, and Servicing"
  • American Society for Quality Control - ANSI/ISO/ASQC Q9000-3
  • American National Standard, Quality Management and Quality Assurance Standards. "Guidelines for the Application of ANSI/ISO/ASQC Q9001 to the Development, Supply, and Maintenance of Software"
  • Software on ISO 9000: IQ Company's "Easy ISO 9001 Assessment Module"
  • Other resources on ISO 9000 are available at: http://www.asq.org

Test Coverage

  • ANSI/ IEEE Standard 829-1998 (or latest revision), "IEEE Standard for Software Test Documentation"
  • Musa, J.D., and Ackerman, A.F. (1989) "Quantifying Software Validation: When to Stop Testing?" IEEE Software, 6(3): 19-27. Relevant for anyone involved in testing