One of the most upcoming and important part of modern lives is the Personal Computer. We connect to the world using a computer, and the Internet. But is it widely known that the Internet Browser, Email Client or Instant Messenger you are using actually underwent a structured and standardized system known as a Software Development Process before they were launched unto the world? It sounds like something you would hear from a Software Company MD or an Internet Nerd, and that is basically what it is, but that is also how the world of technology works. Without these standards and processes, you wouldn’t be reading this online right now, you wouldn’t enjoy being up to date with the football scores as they happen and Internet Browsing wouldn’t be as enjoyable as it is now. If there were no standards then there would be far too many bugs and lots of software that no one would use.
This process is far more easily said than done! For all of us taking our first steps into the complex yet interesting world of software development, we can start by looking at the basic activities, steps if you will in an easy to understand way.
Step One is the requirements analysis stage. In this stage, the software developer (programmer) determines the need of a client and itemizes each feature that the client will require. Naturally the programmer should do this with the client in mind, and therefore must only list those features that the client will understand. Making sure the client is fully aware of the software being developed, will mean that the end result is intuitive and user friendly once at the final stage.
Step Two is the creation of the “Specification”. The programmer will take all the features the client has requested and define them in mathematical terms. It is this second stage that the programmer will reason if or not the feature in question is feasible for this stage of development, or whether it should be introduced in a later version of the software. If that is the case, then the programmer will go back to the client with a revised list of features for approval.
Once this specification is created, it will be handed down to a software architect to create what is commonly known as an abstract representation. This stage is where the nitty gritty of the planning is done. The compatibility of operating systems must be carefully thought out, target audience will determine the direction that takes. Whether or not it is best for a “Desktop” application, i.e. one that will be installed on a computer, or if it is best suited to be published on the Internet. All these types of decision must be properly made before the next stage.
Step 3 is Coding and Integration and happens once the specification and abstract representation are finalized. Once all the coding is complete it will be passed to Testers to thoroughly test the software, this is Step 4.
We are getting to the end of our process now, and Step 5 is the Documentation of the software. Easily readable manuals and guides must be produced to help the end user actually get on with the software.
We now get to the ongoing parts of Software Development, training, technical support and maintenance. This could be classed as the final step, but for software to be successful, it will always need to be tweaked. Things may go wrong, new technologies may be introduced which need to be embraced. The life of a programmer is never a dull one!