Understanding The Software Development Life Cycle



As a software project manager, I am continually called to explain the process to my clients. From the outside, the software development life cycle can seem like a very confusing, impenetrable beast, with team members working independently in their own disciplines to produce, at the end of the phase, something evaluatable. But it is in the best interests of every project manager to clearly communicate the procedures and deliverables to your client, and with this guide I hope to give you a clear, step-by-step outline of what you should know to understand how software development works from the inside.

The first phase in the software development life cycle is preproduction. At this point, the team is assembled usually composed of designers, programmers, artists, and testers, with some sound and support staff depending on the project. This team prepares, in association with the client, a plan for the softwares functionality called a design document. In addition, a technical specification is written that clearly states what hardware platforms and operating systems the software will support. These documents are presented to the client for review and act as the bible for the final product. Ideally, no features that are not present in this document will be present in the final build of the software, but sometimes things happen.

Some software companies next move to a prototyping phase, but more commonly the second step in the software development life cycle is the production of an Alpha build. This build is designed to demonstrate the core functionality of the program without any graphical or audio assets present. It is important to prepare the client for this delivery by drilling in that there are no bells and whistles here its just for them to get their hands on the software and see that it does what the preproduction documents promised.

Once the client signs off on the Alpha delivery, the team moves on to Beta. This is often the longest part of the software development life cycle, as it is the period in which all of the necessary assets for the program are built and integrated. The artists work overtime to make sure that every element is consistent and works as designed. Programmers typically correct outstanding bugs and work to ensure that features are complete before the delivery.

The final step is the Gold Master delivery. After any last bugs are excised from the Beta, the team prepares a final distributable build of the software. No matter how it will be propagated on a CD-ROM, downloaded from a Web server, or on a USB drive the program should be a perfect working copy of what was described at the very beginning of the development cycle. Then it is released out into the world, to fend for itself.

The last step in the software development life cycle, which many developers neglect to plan for, is support. Users will often find errors in your program that you didnt see internally, and a staff will have to remain in-house to resolve those errors and distribute patches for the software to ensure that other users dont encounter the same problems. And then its on to the next project, where we start all over from the top.

0 Response to "Understanding The Software Development Life Cycle"

Post a Comment