Best Practices

Software process is just speculation unless we are actually able to apply these ideas to practice. This section discusses which practices we will adopt from the previous chapter, and how we will integrate them into our SDLC. In industry, these could be considered “best practices” - that is, something that is commonly held to be beneficial to a team, and almost universally adopted (in one form or another).


It’s tricky to position these as “best practices”, since it implies that (a) every team should or will do them, and (b) they are somehow the best of what we have available. Neither of these is strictly true. You’ll find that teams will gravitate towards the practices that benefit their particular situation and context. e.g. a team of experienced developers may prefer pair programming over code reviews. The term itself, “best practices” is just the common way that we refer to processes that teams generally agree are helpful.

As a reminder, our lifecycle diagram from the previous chapter suggests an iterative development sequence that we will follow when designing and building our project:


We’re more concerned about development practices, so we’ll focus on the interative part of that model. Here are the practices that we’ll discuss in this course. They will be introduced slowly, but by the end of the term, you should be doing all of them routinely.