...
This will be an agile-flavored project, using several short iterations with visible results at the end of each. The order of iterations may change.
Iterations :
... in progress ...
1. Hello, World!
GOAL: set up environment, make sure all the pieces are in place ( dev environment, server, databases, apache configured correctly, svn)
DELIVERABLES: Deploy a simple Cake-generated page to server. Page should do something to confirm it can connect to database.
2. Models and simple controllers: the CRUDS
GOAL: create the building blocks so there's something to work with and see on the screen; get some momentum with Cake; rough out the UI and page flow
DELIVERABLES: plain, rough HTML pages for CRUD'ing keys, people, departments, locations. Unit tests.
User stories:
- CRUD a key
- CRUD room information
- CRUD key holder information
- CRUD department information
3. Assign key, transfer key, lost key
GOAL: Add non-CRUD business logic, change multiple objects with a single action
DELIVERABLES: a means to assign and transfer keys. Unit tests.
User stories:
- assign keys
- transfer keys from one holder to another
- keyoholder returns key
- keyholder loses key
4. UI work
GOAL: Make it look nice so the user WANTS to use it; develop a visual style to use through the application.
DELIVERABLES: a look that's not out-of-the-box plain Cake HTML; a start page that lets the user navigate functionality, with placeholders for upcoming functionality
?? We should visit the Keys Office for a test drive, get some feedback on the UI
5. Show inventory, etc.
GOAL: develop a search/select page
DELIVERABLES: all the "show X" pages. Unit tests.
- show key inventory
- show rooms and keys brief list
- show key inventory
- show key holders and their keys
- show keys assigned to key holders
6. Reports
GOAL: implement one report. Discover hidden requirements about formats, etc.
DELIVERABLES: run one report. Subsequent reports will use same code, different SQL, so it's not critical to implement all of them right now. Unit tests.
- select a report to run
- run a report
7. Test and Launch
GOAL: migrate application from old database to new database, go live!
DELIVERABLES: live, working website
8. Wrap-up
GOAL: Hand project back over to ZINC. Document anything needed for another developer to maintain the application.
DELIVERABLES: final updates to project notebook - anything we'll need to know to maintain the project. Required intern summary and tasks are broken down here .