The Art Of Software Development (part 1): Understanding Need (
Page 1 of 6 )
Wondering why your software projects are always late, buggy
and over budget? Well, this might come as a surprise to you, but
professional software development involves a lot more than just writing
code. Over the course of this five-part tutorial on software development
processes and practices, find out what you've been missing, and how you
can streamline your development to be more efficient and effective. This
introductory article discusses the analysis and documentation of
customer requirements.They say that ignorance is bliss.
This may be true when you're in love.
However, if you're a novice developer who's just been told to implement a
complicated Web application, ignorance is most definitely not bliss. Ignorance,
in fact, can seem like a particularly long day in hell...with the heat turned up
high.
When you're just starting out with a career in Web development, the
number of things you *don't* know about the subject can seem mind-boggling.
There are so many techniques to learn, so many languages to master, and so many
hidden pitfalls waiting to trip you up. Add to that aggressive deadlines and
demanding customers, and you'll soon wonder if the stress is really worth the
pay and the free coffee (neither of which are usually all that great
anyway).
Well, fear not - help is at hand.
In this
creatively-titled five-part series, I'll be looking at some rules you can follow
to make your chosen profession a little simpler. Each section of this tutorial
discusses a specific part of the application development timeline, and shows you
some basic tips and rules you can follow before, during and after the code
implementation phase of a Web project, in the hope that it will streamline your
workflow and get you up to speed on the processes and practices needed to
effectively handle a small- to medium-sized project.
This introductory
piece focuses on the first part of the application development cycle, explaining
some of the things you need to do before you sit down to write your first line
of code. In the subsequent parts, I'll be discussing a few techniques you can
use to improve your code and build a more robust application, together with what
happens once you've finished coding the application and are ready to release it
to a customer.
Let me tell you right away that I don't claim to be an
expert on this topic - most of the ideas and techniques outlined over the course
of this article are based on common sense and the distilled wisdom of others,
and have worked well for me in the past. They may not be appropriate for your
specific situation or project; however, you should still find them useful and
(hopefully!) fun to read, and should have no trouble adapting them to your
needs.
With that caveat out of the way, let's get started!