A reflection on the effectiveness of the project management

In general, the approach to project management of using a timeline to guide the delivery of the solution has not been effective for this project. A large part of this has to do with the fact that the use of a Gantt chart directly contradicts the agile development methodology. Agile development believes in a non-sequential, iterative approach to development, however, Gantt charts are designed to guide a project to completion in a sequential manner with fixed timeframes for each deliverable task. Given that I had committed to the agile development model, the Gantt chart completed in section 1 was not helpful in aiding my project development. Instead, I determined tasks to work on each day without reference to the Gantt chart because the delivery of certain features was dependent on the status of other features. Additionally, the agile model encourages developers to go back to previous features and improve them to integrate better with newer features, which cannot be achieved if using a Gantt chart as it prescribes a linear timeline.

Prior to commencing development, the project plan was helpful in keeping on track to deliver the Unit 3 Outcome 2 tasks, but after two or three weeks of development, it was not possible to stick to the timeline outlined by the Gantt chart due to development circumstances impossible to foresee when creating the chart. At some point during development, I realised that my time should not be split between building some of the site and some of the textbook engine, and that I should get a functional textbook engine working first to streamline the development of the site. This is an example of a circumstance that cannot be predicted by a Gantt chart, which highlights the general ineffectiveness of the ‘timeline’ approach to project management in software development. Additionally, there were a number of times when I was unable to devote time to the project due to personal circumstances including illness and other priorities such as studying for SACs and extracurricular commitments. Potentially a Gantt chart would be more suitable in a workplace environment, where a consistent schedule is in place. In the development circumstances for this project, it is simply not viable as a project management strategy.

Although the project plan was not a useful project management tool for this project, the software requirements specification document completed as part of section 4 has been tremendously helpful in serving as a reference for solution requirements and user classes. During the development if the solution, referring to the SRS document to map out any specific features needed to meet the functional and non-functional requirements effectively guided the solution’s delivery. As well as this, the information provided for each user part of the ‘User Classes’ heading of the document served as a reference when creating database models, and also for authentication methods. For example, some pages shouldn’t be accessed by certain types of users, so I was able to refer to the user classes to determine which users I should restrict access for.

On the basis of observations made throughout the development of this project, a conclusion can be made that the use of a Gantt chart as a project management tool is not a generally effective method for guiding the development of a solution. Instead, it is better suited to projects that do not prescribe to an agile development model and projects completed with consistent working hours with objectively measurable timeframes for the delivery of features. However, documentation like that provided by a software requirements specification can be a valuable reference during the development of a solution, as it proved to be for this project.