Ok, a wiki is cool. But a project requires a few extras.
- Requirements - these should be basic functional requirements that indicate what needs to be done. It shouldn’t include design specs and I believe it shouldn’t include performance guidelines either (I believe these should be expected to be realistic - i.e. if the customer expects massive documents processed, then these should be processed in a reasonable time).
- Architectural Design - these should provide an overview of the environment requirements.
- I also believe in development projects detailed descriptions of how the application should communicate within itself and with other components should be developed using various UML diagrams. This typically will force exploration of the API before development commences, which would disclose any assumptions that might be made - i.e. is the component transaction friendly or not?
- Application design documents should be considered work in progress and evolve with the application.
- Unit Testing and in House Testing should be carried out throughout application design and build. I find many test teams develop an us vs them mentality with the development team - which is often understandable and probably makes their job more rewarding(?) But I don’t think this assists building a top-class product, where the test team has worked with the development team, I have found the process more rewarding and streamlined.









