Oscar Papel's Web Log

Thursday, November 11, 2004

How to write Software... (part 2)

I guess I should mention that I'm talking here about writing imaging software. In other words, the software that I write creates, enhances, processes, analyzes and extracts and captures images. If I were a database programmer then this thread would be very different.

The first step in writing any software is gathering your requirements.

The "What's"
What should the software do?
What O/S does it need to run on?
What software does it need to interact with?
What hardware does it need to interact with?
What are the time constraints?

The "Who's"
Who is the end user/operator?
Who is paying for the software?
Who will maintain the software?

The "Where's"
Where does the software need to be developed?
Where will training/installation take place?

The "When's"
When does the software need to be done?
When is the software finished?
When are updates needed?

The "How's"
How will feedback take place?
How will upgrades occur?

There are a lot of questions. And I haven't asked them all.
Since software is never really done, the more questions you ask now, the better off you will be later in the product life cycle.
Note that these questions assume that you are being paid to write software. When you write software for free, most of these questions can be answered by "whenever I get to it" or "next time I'm doing something with that". There is a lot of freedom in NOT getting paid.

0 Comments:

Post a Comment

<< Home