Fog Creek Software
Discussion Board

Outline of a project

I guess since I'm such a beginner I didn't give enough information for a more acurate answer.

I'm creating a personnel program that will import a large amount of data from different sources in different formats .csv and just plain txt from generic prints.

I will need to create reports, memorandumes, calculate dates for appointments, test for qualifications.

I will need to analyse information and create reports that will show potentiol problems based on data analasys.

will need to creat paper forms that are filled out using data from data base. will need to input missing data.

I was hopeing for maybe a MS word or Excell project outline to get me started in the identification of the project or....definition of the project.

To figure out the different modules, and separate parts that will make up the whole.

I've been told by many programers that this is the most important step in programing and if this is not done well the code will be bloated and not very easy to update later on.

Hope this helps you (Guru's) in helping this novice start out right. <:)

Michael Zuilkowski
Sunday, March 9, 2003


The answer to your question is that no, there isn't a template out there to help you solve this problem.  The reason being, is that there are several formal approaches to developing software: extreme programming (XP), agile development and more traditional approaches.  I would suggest most companies/developers use a hybrid of formal methodologies combined with (hopefully!), common sense.

There are basically three steps in developing the type of software you have described above:
1.  Gathering requirements
2.  Design
3.  Development

1.  Gathering requirements
In the requirements gathering phase, you are trying to identify what the software is supposed to do.  I might suggest looking into 'Managing Software Requirements' by Ed Yourdon.  Its really in depth and detailed, so don't attempt to use all of the things he suggests.  Pick out the ideas that suit you.  There are several (gulp!), templates to use in this book, *BUT* they only make sense in the context of his framework.  Basically, I would suggest developing your own tailored approach, based on his ideas.  This has worked quite well for our group.

2.  Design
If you have effectively gathered requirements, you should be able to break the application into distinct modules or units of work at a high level.  At this point I use pen and paper for UML design, followed by templates/class defenitions to get a handle on how I will implement the solution.  Once everything looks like it will fit together, I start developing.

3.  Development
Write the damn thing.  Re-evalutating some of your design might be necessary.  Developing a schedule is helpful.  Check out Joel's article on this:
Note that unit testing, prototyping, and promotion are included at this stage.

Keep in mind that these are the basic stages of development, and there are many schools of thought as to how to they should be implemented.  Size, scope, team competency, technologies used, etc., all define how they are implemented.  If you want a more indepth of analysis of what I am describing you might want to look at 'Software Project Management' by Walker Royce.

You might want to check out some of Joel's articles older articles, as there may be information that might be of use to you:

Since it sounds like you are starting at square one, I have attempted to push you in the right direction.  Keep in mind that there are volumes of literature and entire methodologies devoted to what you are asking.  Its difficult to encapsulate all of these ideas into a response.  I have attempted to introduce you to the *BASIC* concepts, and hopefully others here can offer useful resources/suggestions to get you going.

Good Luck!

Monday, March 10, 2003

*  Recent Topics

*  Fog Creek Home