Musa's Book


SRE Orientation

Training Services

Consulting Services


Click Here for A Special Announcement!

Deploying Software Reliability Engineering

My colleagues and I have tried several approaches to deploying software reliability engineering and have found marked differences in their cost effectiveness (listed in approximate decreasing order). Note that a software reliability engineering course generally requires two days, and a software reliability engineering tutorial (commonly offered at conferences) generally requires one. I hope this experience will be helpful to you:

· Software reliability engineering course with a workshop: Probably the most cost-effective approach, because it lets participants try out what they've learned about software reliability engineering, get feedback, and ask questions. It's best when done on site, organized by project teams. Each team brings its project documents. Each should leave with the initial outline of a plan for deploying software reliability engineering. Follow-up consulting for questions and reviews with feedback can be very helpful. For maximum cost-effectiveness, select a member of the project team, preferably the one with the most interest in and knowledge of software reliability engineering, to work with the consultant. This representative translates project issues into questions that relate to software reliability engineering practices and poses them to the consultant, substantially reducing costs.

· Jump starts: Jump starts work but cost much more than a software reliability engineering course with a workshop. In a jump start, a consultant teaches software reliability engineering by example by working in the project. It is costly for the consultant to learn and follow the project in detail, since he/she cannot hope to have background equivalent to the project members.

· Software reliability engineering course without a workshop: Participants acquire software reliability engineering knowledge, but they don't get the opportunity to try what they have learned or to receive feedback.

· Software reliability engineering tutorial: Participants acquire software reliability engineering knowledge that is sufficient to give them a reasonably detailed feel for the nature of software reliability engineering, but it is not sufficient for deploying the practice.

· Self-teaching: Usually poor because project personnel have no one to answer their questions or give them feedback on what they are doing. Consequently, there is a high risk that they are not applying software reliability engineering correctly.

· Consultant does all: Hiring a consultant to do everything is the most expensive and probably the worst approach; true commitment of development projects and their personnel is often lacking and company personnel do not gain skills in software reliability engineering.

Software Reliability Engineering and Testing Courses