It’s the week between Christmas and New Year’s Day . . . time to clean out the files at work. Actually, this year at the office I’m going through all of my yellow notepads — about 17 of them. As I find something interesting, I’ll post them here.
Today, requirements. I honestly can’t remember if I’ve written here about defining requirements in software projects. Getting them defined right is so important, I would be surprised if I hadn’t. Here are just a few more notes.
Questions to ask about your requirments:
- Are they adequately motivated?
- Are any missing?
- Are there any included that aren’t really needed?
- Are any solutions masquerading as requirements?
- Are they testable?
These requirements are often overlooked:
- Localization (L10N)
- Performance (speed, memory)
- Backward compatibility
And remember, not all requirements have the same priority. Try to stage solutions to address different priority levels.
Update: It’s hilarious how many times I’ve already found names and telephone numbers for people who work at Medtronic Minimed.