I have a project for university which I won't be starting immediately, but have been thinking about for a reasonably long amoung of time. I understand that University project development isn't like industry (I'm currently an intern myself) so the situation that I'll be pointing out at the moment will probably seem somewhat ridiculous to actual software developers. ^^'
The project itself requires that we document a lot of our work. So, besides delivering code, which counts toward some of the marks, we have to deliver documents including:
- A Requirements Analysis Document
- A Project Plan
- A planned list of Use Cases, Object and Dynamic Models and Acceptance Tests
- Documentation of the testing process and how successful the tests were
- Some other discussions and analyses of time usage, etc.
These deliverables are to be delivered in the following manner:
- RAD first
- Followed by Project Plan, Use Cases, Models and Tests (approximately 3 weeks later)
- Lastly, the documentation of the actual program, the testing process, etc. + the actual programming itself (approximately 5 weeks later)
So, from what I understand, this is really geared towards a Waterfall-style approach to the project. The only problem (in my opinion) is that this is a University project, and students already have enough pressure as it is with trying to develop projects at the end of semester during project week. I don't really want to be coding/developing/testing everything at the end of semester, when I'll be panicking with however many other assessments I have to deal with.
I'd like to at least try and do some sort of iterative development cycle that means we can start coding/prototyping early, have a continuous development cycle that isn't focused on doing everything at the last minute and not have so much pressure at the end of the semester to finish this project. And now comes my actual question(s):
- Can I somehow reconcile having to deliver all that documentation with a fast, iterative/prototyping development cycle?
- Are there strategies for generating documentation in an iterative manner?
- Am I being entirely unreasonable asking this and expecting it to be do-able in University?
Also, I understand that this question is extremely localised, so I'd like to ask the same questions that I asked above in terms of industry, and whether or not a lot of these kind of problems that agile processes face are different for each team or company.
Anyway, sorry about how long this is, and if you have finished reading all the way down, thank you! If you could take the time to answer, I'd be very grateful! Thank you!