views:

1031

answers:

5

Does anybody have some good templates (or links to) that they use for software lifecycle documents (feasibility, concept, requirements, architecture)?

I've taken some old ones I've had from school and slimmed them down a bit since none of the current projects that I work on are to that scale, but they always feel somewhat clugey. Sadly enough there isn't any kind of lifecycle support here at my current job, so I don't have anything here to base mine on.

A: 

I just somewhat cheated and looked up 'Software Development Lifecycle' in Wikipedia (yeah, I know, not always the greatest source). There are a lot of different types of lifecycles so I just chose the one that worked best for our development style (modified Waterfall).

From there I looked up each of the different sections for that lifecycle and cobbled together my own. It's worked pretty well for about a year and if something just isn't working I modify it. Stuff life an SDLC should be a living document, in my opinion.

dragonmantank
+1  A: 

I've used a few, but they're all proprietary. I've found an open source template called readySET which I intend to use on my current project.

Here's the presentation blurb:

Software development projects require a lot of "paperwork" in the form of requirements documents, design documents, test plans, schedules, checklists, release notes, etc. It seems that everyone creates the documents from a blank page, from the documents used on their last project, or from one of a handful of high-priced proprietary software engineering template libraries. For those of us who start from a blank page, it can be a lot of work and it is easy to forget important parts. That is not a very reliable basis for professional engineering projects.

Christian Lescuyer
A: 

@dragonmantank

I definitely agree about the "living document" approach. Up to this point, I've use MBASE/Risk oriented which tends to work the documentation in a spiral, where realizing a new requirement needs to be added while working on the design doesn't turn into a massive hassle.

@Christian

I went to the site and all the templates I can find are in HTML format, is there any way to get a Word template for them?

Dillie-O
+2  A: 

I have a couple sites that give a good basis for much of the documentation you are looking for. I would recommend modifying anything you see within these sites to your own needs.

  1. Check out The Software Requirements Memory Jogger by Ellen Gottesdiener <link>. She gives a great overview of what's needed and when.

  2. Karl Weigers is highly respected in the requirements field. He has free templates on his website in the "Goodies" section. <link>

  3. Volere is also respected in the field, though I have never found their templates to be quite what I wanted (probably because I am used to other formats). <link>

  4. Use the "filetype:" modifier (doc / pdf / ...) in a google search, such as "filetype:doc software architecture template"

What you don't ask about, but needs to be addressed, is the need for some standard documents within your company.

While this is a standalone question and answer all by itself let me recommend that you take what you like above and modify it just a bit for your own needs. Then run it by two or three respected peers within your company. Ask for their feedback on what they like and would like to see modified in your template. This process of socialization and feedback will help you succeed with introducing your lifecycle documentation.

(Last tip: Depending on what you think they will respond to best, you may want to get feedback on a solid draft rather than a blank template. Some people visualize better than others and you should take this into account too. )

Jeffrey Davidson
A: 

You used to be able to find templates on the web by David Parnas for the full SDLC. You used to also be able to find templates by HP for architecture, detailed design and functional specs. They were generally adequate but assumed a waterfall and not necessarily object-oriented development paradigm.

The kind of documentation needed should complement your development methodology; structured vs. object-oriented vs. agile. (One of the nice things about agile is that no documentation is needed.)

Considerable thought has been given to architecture documentation, and various agencies have defined best-practice and standards, usually around the idea of architectural views. There's the RUP 4+1 style, IEEE 1471 and many others.

hWorks