A Robust Software Development Model: DFTS Process in Practice


Software, compared to other engineered products, is a case of pure design. As we have stated, software unreliability is always the result of design faults and human intellectual failures.[16] Therefore, it is even more critical that that is where the quality issues are addressed. The philosophy and systems proposed in this book provide an upstream methodology for software developers to identify optimal features and settings for robust (trustworthy) software. The elements of the system just discussed are depicted in our proposed Robust Software Development Model (RSDM) created to help develop trustworthy software (see Figure 2.6). It meets the seven key requirements of the Robust Software Development Process that we discussed in Chapter 1. It is based on sound management principles and proven tools, techniques, and methodologies characterized by the following key elements:

  • An infrastructure providing required leadership and a communication, training, and reward system across the organization that is unambiguously supportive of the DFTS process (see Chapter 5).

  • A reliable data collection system that can correctly identify user requirements (the VOC) on an iterative basis throughout the various phases of the software development cycle (see Chapter 11).

  • Deployment of Taguchi Methods to optimize software design and addresses various customer requirements, such as reliability, cost, and cycle time at the same time (see Chapters 16 and 17).

  • Establishing a concurrent coding and testing practice and providing for adequate debugging time. This strategy provides a cost- and time-efficient debugging process because information about software failure intensity or failure rate is more readily available at this time (see Chapter 18).

  • Using N-version programming[17] in case redundant software is required. This makes the failures of redundant copies statistically as independent as possible by applying different computer languages, development tools, development methodologies, and testing strategies to different redundant programs (see Chapter 14).

  • Benchmarking best practices and deploying appropriate quality and planning tools such as QFD, TRIZ, Pugh, and FMEA, which have been used widely in manufacturing (see Chapters 11, 12, and 13, respectively).

  • Using innovative software development tools such as Object-Oriented Design (OOD), Extreme Programming (XP), and appropriate CASE tools.

We will refer to the RSDM and DFTS process interchangeably: The model depicts the process, and the process is illustrated by the model. A number of software development models have evolved over the last few decades. Many of these, such as the Waterfall Model, Phased Life-Cycle Models, the Spiral Model, and the V-Model, have their origins in aerospace and other manufacturing industries and do not always reflect the realities of the software development process. RSDM is an iterative model and provides for interaction with internal as well as external customers and capturing VOC throughout the development process. Furthermore, it is robust and flexible and can be tailored for any software development process. The following chapters discuss the application of this model and its various elements, particularly in an enterprise software development context.

We would like to reiterate that in a software development organization or any enterprise where software technology is an important activity, software development is too important to be left to software engineers alone. It is ultimately the responsibility of the CEO and the top executive team. They must provide the required leadership, create the right management infrastructure, and foster the enabling environment for developing trustworthy software.




Design for Trustworthy Software. Tools, Techniques, and Methodology of Developing Robust Software
Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software
ISBN: 0131872508
EAN: 2147483647
Year: 2006
Pages: 394

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