Chapter I.3. Modern Software Development

In This Chapter

Even if you've never worked in software development, you've no doubt heard about many of the problems associated with software development projects, such as

  • Frequent schedule and budget overruns

  • Software that doesn't do what it's supposed to do

  • Software that's obsolete by the time it gets finished

  • Software that ships with security flaws

Over the years, the software development industry has created a number of approaches and tools to help better manage software development. Several of these approaches are discussed later in more detail in the section "Have process, will repeat." However, some of these approaches can be categorized in one of these two main approaches. Most real-life situations, though, are a hybrid of the two:

  • Ad hoc, or hotshot — In this approach, characterized by nonexistent development practices, no standard exists for how software is developed. Hotshot programmers often work all night and come in at noon the next day. You usually get no documentation, and only the programmer understands how the code works.

  • Rigorous and slow — As a rejection of the other approach, this one takes an engineering view of software development. The argument is that dotting all your i's and crossing all your t's, and then getting proper sign-off at each step along the way, gives software development a process that's repeatable and — most importantly — accountable.

    Unfortunately, the engineering approach adeptly creates mountains of documentation ...

Get Visual Studio® 2008 ALL-IN-ONE DESK REFERENCE FOR DUMMIES® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.