Sunday, June 13, 2010

The Software Development Life-Cycle (SDLC)

There's much already shared on the Internet and in books regarding the software development lifecycle (SDLC), but the term still frightens even some seasoned I.T. professionals.  Really, it's very simple.  About the only scary part of it for the average Jane/Joe is the part where you have to sit down and actually write.

Any successful software project must be first well thought-out and planned on paper (or some other electronic means, if you'd rather.)  You've already begun following some crude sort of software development lifecycle process at this point.  Beyond this, there's researchers at Carnegie Mellon who've already written up volumes of theory and educational material to guide you to create the most fabulous and most perfect software product ever.  If you'd rather get on with your project, read on.

My simple (and more so fabulous) SDLC process would have you write the following documents (document titles are in bold; proposed contents are bulleted):

Business Requirements
  • Problem Description
  • Organizational Impact
  • Solution Requested

Project Proposal
  • Solution Proposed
  • Technical Details
  • Product Deliverables
  • Additional Features
  • Cost Analysis
  • Project Plan

Functional Specifications
  • Workflow Model
  • User Interface
  • Object Model
  • State Diagram
  • Database Design
  • Flowchart Diagram
  • Glossary

Implementation Plan
  • Algorithm Design
  • Code Samples

Maintenance Plan
  • Tune-up Schedule
  • Change Control
  • Upgrade Plan
  • Disaster Recovery

Verification Testing
  • Acceptance Criteria
  • Integration Testing
  • System Testing
  • Acceptance Testing

User Manual

Validation Plan
  • Standard Operating Procedures
  • Documentation Plan
  • Verification Plan
  • Acceptance Qualification

These last two documents really ought to be among the first to get drafted, though I list them last because they generally get edited or even rewritten after the code has been developed.  However, it's the documents themselves that will drive the entire SDLC process.  They are of utmost importance.  I will provide some guidelines on fleshing these out later.

No comments:

Post a Comment