Trayix

Thought Leadership

The anatomy of a software project

If we think of a software project as a living organism, with a beginning and an end, we can describe its anatomy. Anatomy is the study of the structure of organisms and their parts. In Greek, the word literally means “cutting open.” Let’s cut open a software project.

Every project, software or not, starts with a problem statement, which eventually becomes the requirements document. The problem is the reason the project exists. If the customer or organization has no problem to solve, the project is meaningless and the effort is wasted.

A problem can have several solutions, but a project implements only one of them. It might be the best solution, the most efficient one, or even the cheapest. Either way, the project should address a single solution. One of the challenges of managing a project is the constant tension between competing solutions. The chosen solution becomes the project’s objective and defines the activities it contains. In other words, it becomes the scope of work.

After you define the requirements and the scope of work, the rest falls into place. You can describe a project as a series of tasks that take you from a problem to a solution, or as modules that fit together to achieve the final objective. You can picture it as a living organism whose parts grow progressively, or as an assembly of well-designed machinery.

Recently, especially with the Agile philosophy, people tend to see a project as a progression from a proof of concept to a finished product. However, we can’t ignore the assembly aspect, especially in rapid application development (RAD), where many well-designed, finished components are readily available on the market.

Either way, after you nail down the problem and the solution, the routine challenges of project management come down to two things: nurturing the project through its growth phases, and making sure the process shapes it into the desired output.

In future articles, we’ll look more closely at these routine challenges. In the meantime, think of your project as a living organism. It helps you appreciate all the effort that goes into running a project.