Software hypothetical question 1: Given a situation of perfect specification/requirements, how should one go about creating the piece of software?

Consider the following hypothetical situation:

A set of perfect requirements/specifications exist for a piece of software. They completely describe what it is the customer wants/requires. They also communicate everything that the developers need to know about the software to be written and no matter how deep the developer delves into the problem at hand, there is also information on the specification to answer the developer/designers questions. The specification is complete and will never change!

The piece of software is sufficiently complex but certainly not impossible. The customer would like the finished product within a specified time frame (say 9-12 months). You have people available to work on the project and they have sufficient skills to complete the software.

So given the current situation, what should be the approach to building this software?

In particular I am wondering about the following given that the specification is perfectly complete and will never change:

  1. What is the involvement of the customer in the software project if any?
  2. What approach should be taken with respect to design of the software?
    1. Should a Big Design Up Front approach be taken?
    2. Should we take an evolutionary design approach and grow the software?
  3. Is there any impact on the way the software is implemented?
  4. Is there any impact on the way the software is tested?
  5. Is there any impact on the way the documentation is created?
  6. What now are the risks in the project?

I am of course going to write a response to my own question but would be interested in hearing/reading the thoughts of others.

Advertisements

Tags: , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: