As described earlier, I want to create a viable software house experience for students as part of their group projects. Similar projects have been done in the past, and are being done in other universities. The time is right to do this in Aberdeen too. We need to recruit more students, and that can more easily be done if we can offer something different that adds more value to the student experience.
A few pilot projects have been lined up for this summer. The IS students will work on adding new features to RailFrog, a RubyonRails based CMS system organised by one of the MSc SWPM students. He has offered to manage the students this summer as part of his MSc project on managing OSS projects. The class will be broken into two or three teams as seems suitable for working on different features of RailFrog.
The IT students will be split into two or three projects, of five-seven students each. One will work with a departmental spin off firm. The other will work with the team at ACVO, who want a system to handle their workflow. They currently use a number of methods, and want to standardise on one system. If there are enough students, then a third team could do a project with the disabilities housing team, who need a database system to monitor suitable housing, and applicants for housing.
Each project will demand consistent regular input from the client, so that they can help guide the project direction, and so that the direction can be checked and corrected as required. It also means the students will not be stuck waiting for input before they implement a feature of the application.
These are ‘real’ projects for students. Each project should be done using suitable tools and processes, such as they would use if they were being paid for the work on the project. It is imperative that these trial projects are given every chance of success as possible, so that this programme can grow. However, as the students don’t know these processes yet, we need to teach them to them, if possible, in the remaining time left for this term, otherwise it will be in the beginning period of the next term prior to starting the project.
The IT students have already looked at traditional project development and produced UML diagrams and functional specifications as part of their coursework. The IS students have not done any of this, but have been using RubyOnRails, which has a culture promoting agile in general and iterative development specifically.
All projects should follow an agile plus evo approach, which means that they will be done iteratively and incrementally with suitable measurable outputs as to how well each component, will meet the desired business goal of the project. This also means the project will demand consistent regular input from the client, and that there will be a number of points at which the project direction can be checked and corrected as required.
These students need learn the reasons for doing software engineering the way they are. They need to learn why evo and agile are preferred to the traditional approaches to software development. They need to understand the ‘why’ of evo and agile in context of delivering measurable business value.
The students need to learn the ‘what’ of agile and evo so that they understand what the life cycle is they are using for their projects. This should be an overview of what the processes are and how they fit together to cover the whole life-cycle of the project, and serve as a preview of the ‘how’ aspects of the project. The ‘what’ should be supported with a one-page checklist of principles to be used for reference by the students.
We also need to ensure that all of the projects have some means of support and maintenance beyond the lifespan of this trial. Ideally, this would be more student projects coming in as part of third year, or honours projects. It might also be feasible to offer voluntary work with the organisation to a select number of students, if there are no larger projects in the immediate future. This work will need to be supervised to ensure the same level of care is taken, and to provide continuity of support. We cannot provide a solution and then walk away.
The main goal of this pilot period is to uncover any issues, which need to be resolved before the scheme can be scaled up to include more organisations, and more student groups. Over time this should become a regular service available to local organisations. The programme should eventually become a source of part-time income for some students, and a useful work experience available to all of our students.
The next steps are to flesh out the ‘what’, the ‘why’ and the ‘how’ parts of this document. These are essential, and will need to be discussed with various people in and outside of the department to ensure that we have enable the best possible chance of success for the projects, and for their continued development and maintenance in the future.