Software development is not just about writing computer programs - much as some of us would like it to be, because that's the fun part! It's often a complex process that can involve a number of distinct phases, and may employ the skills of a significant number of people over an extended period of time.
Of course, software projects come in all shapes and sizes; some projects are relatively trivial affairs that can be completed relatively quickly by a single developer working alone, while other projects may require months or even years of work, and involve hundreds of developers and support staff, perhaps even spanning multiple geographical locations.
Most software projects will fall somewhere between these two extremes. Nevertheless, a software project of any size will require a number of people to work together if the project is to be completed successfully. The process usually begins with the identification of a problem to be solved, and ends with the deployment of a working software solution.
In these pages, we will be looking at different aspects of the software development process, including the work of the systems analyst in identifying a problem and formulating a set of system requirements, the design of an appropriate software solution together with suitable test schedules to ensure that all requirements have been met, the implementation of the solution in code, the deployment of the completed software package in its target environment, and the ongoing process of software maintenance.
We have also included a section that covers some of the basics of project management, since a software project of any size will almost certainly require a significant number of people with expertise in a number of different disciplines to work together. The aim of good project management is to ensure that all of these people work together in an organised and productive fashion - and, of course, to ensure that the customer gets the solution they need, on time, and within budget.