1.2. The Method Activities
Using the example diagram as our base, the types of activity that we might find on a project to develop systems that involve ‘hardware’ and ‘software are as follows:
- Business vision/strategy – this is the first stage in any very large project. If we relate back to The Great Work it will have been when The Objectives of the Great Work were set and The Strategy of the Great Work decided. It is also when the Increments of delivery are worked out.
- Business re-engineering – this is when we analyse [Analysis] the existing functions or activities in our system and then try to invent a better logical way in which they might be undertaken. In computing, we have found that nothing is gained by computerising the procedures that already exist, there might be a much better way of doing something which the hardware makes possible. So although the activity of re-engineering is a logical one, we do have the hardware in mind when we do it.
- Build – here we get the real engineering skills coming in because the system has to be designed and constructed. [Design and Construct] The design may involve reusable parts. Design here can be a combined one for the both the hardware [form] and the software [spirit] because the two may have to go together. The hardware is not a lot of use without the software, but on the other hand, the software won’t work unless it has the hardware to work on. Although not shown, this stage involves a lot of unit testing.
- Installation – here we put the system in place [Implement ] it – it is ‘born’. [the Build activity in this box should be ignored for the purposes of my explanation, it is just another sort of build activity] Once in place on the actual site – [Install] - that it is to be used, then it will get properly tested [Test] to make sure it works in situ. Here all sorts of test are carried out
- stress testing - will it work under very heavy loads
- integration testing - will it work with all the other software on the site
- functional testing under simulated real life conditions – does it do what it was supposed to do
- support testing – do all the administrative procedures, manuals, help line, back-ups etc work
- performance testing - does it meet the performance targets
- Production – the system is used – Operation, where Support and help is given as the system [help desk] is used and all the background Maintenance work is undertaken [back-ups, bug fixing etc]. The system in operation is also constantly Monitored using the feedback from its users to see how it is getting on|
- Procurement – this is an ongoing activity. As the project proceeds there may be all sorts of things that need to be brought in from ‘outside’ to help the people on the project and to build the system. So we might procure hardware [sub-assemblies for example], software [database software for example, people [specialist skills in the form of consultants or contractors], even locations and buildings
- Disposal – this too is an ongoing activity. Once the system is implemented and you are happy it works OK, you have to gradually remove the old system, which means that you have to dispose of the hardware that isn’t needed, the software that isn’t needed, any buildings or such like that you don’t need and any people that are no longer needed
- Re-engineering roll-out – covers both education and marketing. The education and training can be of both those who are going to use the system and those who will be completing a task on the project. Marketing simply means explaining and letting people know that the new system is on its way and something of what it will do. The two are obviously closely related, the best form of marketing is education
- Project management – the management of the whole project, the creation and adaptation of the actual plan, the selection of the resources needed, the allocation of resources to task, the monitoring of the resources – motivation, appraisal and admonishment of people. It may also involve costing and budget management
- Systems integration – the integration of each separate increment or configuration into the whole to make sure the ‘big picture’ is obtained, and that there is reuse where reuse is possible
- Change integration – this is probably better called Configuration management. This activity is hugely difficult because it is the planning of change to systems, the grouping together of the changes needed into configurations that can be implemented in an evolutionary way. Both versions and configurations are managed this way
Any defects or changes needed are funnelled to the configuration management activity which groups the changes creates a new version of a larger configuration and then starts the process wherever the change needs to be effected with a new configuration or version number.
So if the system has bugs in it that need to be corrected, the cycle restarts at the construction stage. If the system needs new functions, then the cycle is started at the analysis stage, if the system needs new hardware, the cycle is started at the design stage and so on. So the cycle goes round and round in a loop sometimes a big loop sometimes a small loop depending on the type of change needed and each time a change is made the whole system moves on a configuration or a version [configurations tend to be very big changes, versions are smaller changes].
It is possible for people to be using one configuration whilst several others are in development, so lots of parallel universes!
This is how it should be done!
We can perhaps better see this if I put the activities into a wheel pattern. The order doesn’t matter on this wheel, because any actual plan simply selects from the activities.
I have simplified the names a bit for a reason and I have put them in coloured bands for a reason. If you want to see why go to The Signs of the Zodiac.