Systems Development Methodologies
This assignment asks you to take a holistic view of the systems development process and to identify various elements that could be brought together to create a useful process for the development of a specific complex project.
The purpose of this assignment is to give you the opportunity to demonstrate your understanding of elements found in currently used methodologies and to apply that understanding by constructing a workable methodology or project development process and providing examples of how it might work in practice.
After the marking schedule on the next page, you will find the description of a scenario which you will need to read carefully (pages 4 - 7). There may be unnecessary information in the description and as there is no opportunity to talk to real users, you will have to make assumptions as you go. This is quite acceptable but make sure that you document them. You can ask me for guidance if you need to. You will use this scenario as the basis for work that you will do in this assignment.
There are eight tasks for this assignment:
1. Construct and describe a process/methodology for use in developing the work required in the scenario. You will need to describe the overall process and the main elements i.e. the main stages or phases, the main techniques and when they would be used, and the main outputs. You might also choose to include any other aspects that you feel are important, such as kinds of meetings, kind of documentation etc.
2. Provide a description of at least four ‘elements' you have included in your process/methodology and justify why you have chosen them.
Using the attached scenario, complete the following tasks:
1. Construct an overall rich picture and root definition of the scenario
2. Using the process/methodology you created in 1 above, construct a high-level plan of how you would develop this system (i.e. what phases and/or stages would be needed, what documentation would be required and at what point, what techniques and tools would you use and when, how long would each phase take etc.).
3. Demonstrate your understanding of your chosen four ‘elements' from your process/methodology by applying each element to some aspect of the scenario.
1. Reflect on the appropriateness of your process/methodology for this scenario. It is useful to justify why you constructed it as you did.
2. Reflect on your use of the four elements you chose. For example, you might comment on how easy they were to use, how well you used them, how well they suited your way of working etc.
3. Reflect on your possible future use of both your process/methodology and the techniques it contains.
Assignment Scenario Question:
1. A description of the process/methodology that you are suggesting showing the major components i.e.
a) the overall process (e.g. waterfall, spiral, iterative prototype.....)
b) what stages/phases you are suggesting
c) the main techniques and tools and when they would be used
d) the main outputs of each stage
e) any other aspects that are important, e.g. meetings, documentation etc....
This needs to be described well enough that someone else could pick up the general principles and follow them. It should also include some justification for why you have chosen to put the process/methodology together in this way, e.g. how will the various components fit together.
2. A description of each of at least four of the major ‘elements' that will play a role in your methodology. By ‘element' I mean some kind of ‘building block' for the development process. For example, an ‘element' could be a technique, a tool, a process, a set of documents......or many other things. A project burndown chart could be an ‘element', a database design process using ERDs could be an ‘element' the use of flowcharts could be an ‘element' etc. If you are not sure - ask me!
Again, the elements need to be described clearly enough that someone else could either follow your description to do it themselves or be directed to where they can find the information. For example, if ERDs are one of your elements it is not necessary to provide full details of how to construct one although you could perhaps provide links or references to more detailed instructions. Generally, the elements will be techniques that you will use but they can also include specific types of meetings, e.g. Stand-up meetings as in Scrum for example.
You also need to give justification for the elements you have chosen, e.g. why do you think they will work? What aspects of the development will they cover? Will they need to be adapted?
It will also be very useful to have an idea of some of the elements that you considered but decided not to include and your reasons for not including them.
The first task in part 2 is to construct a rich picture and a root definition for the scenario. You will use the techniques as we have discussed them in class. You can construct more than one root definition if you want to.
The second task is asking you to draw up a high-level plan of how you will develop this project using the process/methodology that you have described in the previous section. So, for example, if you have said that the project will begin with a full face to face team and customer kick-off meeting, then you will put that as the first activity in your plan. You do not need to include every detail here, but I should be able to pick up your plan and get a good sense of what work your team would be doing and what the main milestones and outputs will be.
The third task requires you to apply four elements from your process/methodology to the scenario - so for example, if ERDs are one of your techniques then I would expect to see a database design for the scenario. When you have decided on the elements you will demonstrate, you are welcome to come and discuss with me the amount of detail that is required here. I would say again that you don't need to develop the whole system, but I do need to see that you have understood the technique and can apply it to a specific scenario.
This assignment requires a lot of THINKING, DECISION MAKING AND CREATIVITY then the application of all of that to the scenario.