Fusing the Agile and Waterfall Methodologies
In the second year of the foundation degree the author evaluated Object Orientated Modelling (OOM) using Unified Modelling Language (UML) and Agile approaches to software development (please see short attached paper).
The approach to this development will be the idea of combining both Agile and Waterfall methodologies based on the complexity of development and the clarity of the requirements.
To achieve both a Waterfall and Agile development path the project will be split with an initial Object Orientated Model for a PoC (Proof of Concept) phase, with a switch to Agile for the web based development. This could be seen as two separate projects however I believe the outcomes of the PoC and lessons learnt will benefit the clarity and planning of the Agile sprint phases making these more efficient for producing the final product.
Rationale for the Waterfall Phase
The project idea is fairly complex and would benefit from testing that the idea will technically work and produce useful access management reports before commencing with the more time consuming web based part of the development.
UML will be used to map out the database and user interactions for use in a prototype back end database. This will provide a detailed understanding in how feasibly, reports could be created using typical data extracts documents types (XLS, CSV's or XML's).
UML will predetermine objects such as the database tables, field names and these will work with sample data to produce functioning report tests to prove the concept. Once the concept is proven the project can progress to the Agile development phase.
Rationale for the Agile Phase
The application will be coded by the author alone based on their limited programming skills and time to produce a working online application of this nature.
The Agile model with the information gathered from the PoC phase should make it possible to start out by building a very basic working application that can then be evolved through development iteration cycles.
The benefits of this approach will support the authors learning of a programming language whilst still producing a basic working system. If the initial learning and programming goes well, additional Agile sprints can be included in the project plan to pick and choose the next parts of the system to improve.
References
Please see the word document below "Compare Object-Oriented to Agile Programming and how they enhance the development process". This contains the background information to the methodologies discussed in this page.