Assessing The Softwares Development Methodologies Information Technology Essay
A Software development methodology is a pre-written set of steps that is used to structure, plan and control the development process of a software or game, however it can also be applied to any system or development.
There is another classification of software development methodologies which are much better suited to the development of games. These are the agile range of methodologies which include; Extreme Programming and the Scrum Methodology. Software development methodologies which fall into the agile range are designed around a more iterative approach to the development of the product, in these methodologies requirements and solutions generally evolve throughout the process of development rather than being created at the start. Because my course is based around the development and creation of games, I have chosen to use one of the methodologies from the agile range for my project.
Some of the agile methodologies which could be used for this project include; Extreme Programming and the Scrum method. Below I will compare these methodologies to some from the non-agile methodologies based on their suitability to my proposed project.
Extreme Programming is a software development methodology which is designed around improving the quality of software, and its ability to adapt to changes made to the requirements of the customer during development. The aim of extreme programming is to release the software at multiple stages of implementation to allow a greater end user interaction in the development process, allowing for issues to be highlighted earlier in the process. Each release new features are implemented and users are given opportunities to test and use these features ensuring that they meet their needs. If an issue was to arise with a specific feature it would be much easier to correct at this earlier stage of development, rather than after all features have been implemented.
There are however drawbacks that have been highlighted with the extreme programming methodology. For example, the lack of any clear design specification to work to could mean that essential features are not implemented correctly causing delays on a project. The nature of the extreme programming methodology means that if a project were to begin to fail or go off course, there is no defined step to fall back to. In other methodologies, if such major problems were to arise the project could fall back to the requirements or the design phase in attempt to get back on target With the extreme programming methodology there is also no proper documentation for recording compromises agreed upon after user conflicts. This could mean that if the project were to fail it would be hard to track changes to the requirements made by the users and compromises made by the users on certain features to keep to time and monetary limitations.
The Scrum methodology is a software development methodology that used an iterative and incremental approach common with the agile range of methodologies. Similar to the extreme programming methodology Scrum allows for a project to adapt to changes in the user requirements and changes are expected.
The Scrum methodology is based around a concept called â€œSprintsâ€Â. A sprint is a period of time, typically two to four weeks within which a certain number of goals must be completed, however there is a variable scope on these goals. In the Scrum methodology during each â€œsprintâ€Â a potentially shippable product is produced, this means that a certain set of elements and features are implemented and tested to a high standard before moving onto the next sprint. There is a prioritised set of requirements to work from called a backlog. In this methodology communication is essential for deciding which requirements are to be met in each sprint. Once a sprint has commenced no one can change the requirements which have been planned to be met during that sprint, if requirements cannot be met during that time they are left out or added back onto the backlog.
There are again some drawbacks to this methodology. For example the temptation of the end users to take full advantage of the agile nature of the methodology can sometimes cause projects to defer from the original scope, with user demanding more and more additional features in the project that may not be deliverable with the set budget and time frame. The scrum methodology is only suitable for projects that only require a small dedicated team, as well as this all members of the team must be experienced as novices may cause delays. Finally the quality of the code in the project cannot be managed or checked easily unless proper testing can be carried out after each sprint.
The spiral model is a software development methodology which does not fall into the agile range of methodologies. This methodology incorporates ideas from the prototyping model and the waterfall model into one. This methodology is designed for large projects with complicated and extensive requirements. The spiral model, and other similar methodologies are defined as a series of steps which must be followed to completion of a project, each step is completed in as much detail as possible before the next step is embarked on. The process usually progresses as follows; the requirements are defined in as much detail as possible, a preliminary design for the system is created, this part requires the most evaluation and is analyzed to ensure it meets all the requirements. A prototype of the proposed system is created from the preliminary designs, this is usually a much simpler version of the system and represents what the project should look like completed. Finally a second prototype is created from the first, the first prototype is evaluated, the requirements are defined in even more detail from user feedback, there is a new planning and design phase for the second prototype and then it is constructed and tested.
Justification and use of Chosen Methodology
Detailed List of Project Requirements
Development of Models and Supporting Documentation
Detailed Design Documentation
Completed Log Book
If you are the original writer of this essay and no longer wish to have the essay published on the UK Essays website then please click on the link below to request removal: