HomePractices Page 7 - The Art Of Software Development (part 2): Designing For Simplicity
Different Strokes, Different Folks - Practices
In the first part of this article, you got a crash course inrequirements analysis. Now that you've figured out what your customerneeds, it's time to design it - easily the most challenging and creativephase of the project cycle. Find out more, inside.
And that's about it. At this point, you, the developer, have enoughinformation to actually get down to writing the code, secure in theknowledge that you've successfully reduced the scope for changes ordeviations. This does not mean that changes or deviations will notoccur; however, as you'll see in the subsequent parts of this tutorial,you can reduce their impact on the overall development plan by managingthem carefully.
After reading the material above, you might be tempted to think thatthere's way too much paperwork involved in the pre-implementation phaseof a project. You're right - there is - but much of it is aimed atprotecting both you and your customer from creeping changes, andensuring that the final product is delivered in an efficient andcost-effective manner.
It should be clearly understood, also, that the processes outlined abovemay not work for every Web project. For smaller projects or teams, itmay not be practical to develop extensive documentation in the earlystages of pitching a project. However, an effort should be made toensure that requirements are formally captured and signed off on priorto development, and that there exists clear communication on thedeliverables between customer and vendor, so as to avoid problems at alater stage. Time should also be taken to have a clear process ofmanaging change requests, so that the overall development of the programis not unduly affected.
If you're interested in improving your design skills, here are a fewarticles you might find interesting:
I hope you enjoyed this article, and that it gave you some insights andideas on how to manage your software development projects moreefficiently. In the next part of this article, I'll be spending time onthe third part of the development cycle - actual code development - andoffering some general tips and tricks on how you can simplify andstreamline the process to account for changes at a later date. See youthen!
Note: Examples are illustrative only, and are not meant for a productionenvironment. Melonfire provides no warranties or support for the sourcecode described in this article. YMMV!