Here's a rough overview of the future software development process for AIM.
It's important that we start doing things right even if it slows the process down a little so that we can write software that will have a 5-7 year "life expectancy". We also want to make sure that the user-interfaces that we develop are as simple as possible. This requires that we look at the whole picture first and then develop mocked-up screens of functionality before we start adding logic.
People write books on this stuff, so I'm going to stop here and present the new process rough-draft overview:
----------------
Planning Phase
- Needs Assessment with the "Owners" of the application
- Discovery (Discussion of the scope, expectations, overview)
- Specifications (Iteration 1)
- Storyboard drawings created
- Specifications (Iteration 2)
- Storyboard drawings revised and reviewed
- Specifications confirmed (Iteration 3)
Pre-Development Phase
- System architecture (user interface design, database design)
Development Phase (Reiterative - repeated until programming complete)
- Step 1: Development
- Step 2: Testing
- Step 3: Review with owner
- Return to Development Phase Step 1 (repeat process)
Deployment Phase
- Quick-reference user guide created and distributed
- Owner training completed
- End-user training completed
Support Phase
- Trouble ticket system utilized vs. ad-hoc requests for bug tracking and fixes
Upgrades: Return to Planning Phase
----------------