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.