Over the years I have worked on or with many software development projects. Some have been smooth and some seem like they never wanted to end. Recently I Googled SDLC (software development life cycle) and one of the top links was a funny video on YouTube:
After this I found Timothy Trimble's Blog post on the SDLC process where he lays out what he thinks are some of the inital client questions to ask:
* Is this a new application need or a migration from an old application?
* What are the target platforms? (Mac, Win, Web, etc.)
* Will it be single or multi-user?
* Does it require a server based application/database?
* Is it to be a local or enterprise wide application? (Local site or multiple sites.)
* How soon does the client need the application delivered?
* Do you realistically have the resources for providing the application in the desired time frame?
* Does the application need to interface with other systems? (AS/400, Unix, etc.)
* Is there legacy data that has to be migrated to the new application, and what format is it in?
* Is the client interested in being involved with the testing of the application?
* Is training needed?
* Is documentation needed?
* Does the client require on-site development?
As with all projects, gathering the requirements is the most important thing, because we use this information to help set the timeline, budget and scope. Add more requirements later on and it may effect the timeline, budget and scope of the project.
Quote from Edward V. Berard:
"Walking on water and developing software from a specification are easy if both are frozen."