“A Rational Design Process: How and Why to Fake It”- Summary

          David Parnas and Paul Clemens paper “A Rational Design Process: How and Why We Should Fake It” is a how-to for computer programmers to design successful software despite their irrational methods. They begin by discussing the idealized rational design process. This perfectly linear and rational method for designing, though widely taught and shared, is never how programmers actually design. In fact, not only is this far from the intuitive, iterative, and erratic method that most programmers start with, it is by definition unachievable. Parnas and Clemens describe seven reasons why this true ranging from clients who do not know what they want, to human errors, to personal bias. Just because a perfectly rational method is impossible, though, does not mean it is useless. By trying to closely follow the rational design process and writing the documentation that they would have produced rationally, programmers can “fake it.” Even if faking it means imposing the rational process onto already complete software, it is worth the effort because it allows for future maintenance and understanding to be carried out quickly and painlessly. This is not an uncommon practice for many professionals. Even mathematicians go back and refine their proofs, cleaning them up and simplifying them later until the reach a more ideal and easily understood form.