Chapter 3. Modern Software Development

In This Chapter

  • Understanding the professional approach to software development

  • Building a software development toolbox

  • Seeing why component-based software is superior

  • Peeking at how programs are executed in .NET

  • Discovering automatic memory management

This chapter offers an abbreviated history of software development by discussing where the process now stands and how it got there. You also find out about some of the inner workings of .NET as it relates to modern development approaches.

Examining the Software Development Process

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. I discuss several approaches in more detail in the upcoming section "Have process, will repeat." However, some of these approaches can be categorized in one of these two main approaches, although most real-life situations 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 ...

Get Visual Studio® 2010 All-in-One For Dummies® now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.