The Concise Oxford Dictionary defines the word agile as “quick moving, nimble and active”, which also describes how Massey University’s application development team wants to be as it takes on the redevelopment of its student management system.
The project will see the Student Management System (SMS), which is used by 4000 staff and 40,000 students, moved from an Ingres database with a green screen interface to a thin client, Windows-based front end developed in Delphi, with Asta middleware on an SQL Server database.
However, the SMS Renewal Project involves more than migrating from green screens to Windows interfaces, says Massey’s application development director, Leo van Geel.
The application development team’s current programming environment, ABF (Application By Forms -- a toolset associated with the Ingres database), doesn’t support graphics and there is no web interface associated with it. So as part of the project the ADT will move from that traditional procedural programming to object-oriented development in Delphi. In addition, the SMS has of a number of subsystems, each of which will undergo a business process review resulting in a high-level feature list, which will be used as the basis for software development.
It’s a massive three-year project with 15 full-time equivalent staff of the application development team dedicated to it. Other team members will also contribute intermittently, meaning the average head count is more like 22 at any one time.
In the meantime there are parallel projects to get on with, plus a growing queue of others. They include the rollout out of a new timetable system and the implementation of a new payroll system.
Apart from application development, the team also provides project management services and integration services.
With all the projects on the go and an increasingly complex environment to support, a new way of developing software had to be found in order to meet deadlines and keep on top of the workload.
Fortunately van Geel began the process of doing this two years ago when he came across agile software development.
Key principles of Agile development include early, frequent and continuous delivery of software; an open and welcoming attitude towards changing requirements, working closely with users, constant evaluation and making the delivery of working software the primary measure of progress. It encompasses several methodologies including extreme programming and feature-driven development.
Van Geel describes it as a common sense approach and became a fan after being introduced to it at a developer conference staged by Wellington training company Software Education.
Aspects he particularly liked included a focus on software delivery rather than producing documentation and agile’s emphasis on ensuring developers are happy with their work environment and relationships. He also liked the idea of having small, flexible teams working with the business client to produce software as soon as possible rather then surprising them with a finished product after the elapse of a long development cycle.
“I recognised things straight away and thought that’s what we’ve been doing for years. We’d never had time to do things ‘properly’ – that is, the old-fashioned way, and at the seminar I found out that they weren’t necessary anyway.
“Instead of changing what we were doing, I found confirmation that we were on the right track. Now we’re using agile thinking to fine tune the way we do things.”
More with less
He says the business driver for adopting the approach was that the Massey environment was getting more complex and people wanted the development team to do more in less time.
Introducing agile was relatively easy since Massey application development was part of the way there. With the SMS Renewal Project looming the team started formalising the way it worked with what van Geel calls the Project Cook Book (PCB).
It’s an evolving document, which describes how an idea progresses from proposal to business case to actual project. There are four types of project: package implementation, business process review, outsourced development and internal development (for which the PCB discusses the software development lifecycle in more detail and is where agile development is mostly applied).
“We started building the PCB two years ago and now with the SMS Renewal Project it has been kicked back into life. We’re being forced to formalise what we’re doing in more detail. With agile development you don’t want to produce documentation per se but you do need structure to what you’re doing.”
Awareness of agile development was built by distributing literature, experimenting with peer programming and encouraging people to attend seminars and do research on the web. Staff attended a presentation by Massey agile “champion” Errol Thompson as well as an annual agile development conference run by Software Education.
Van Geel says the team isn’t adopting all the agile methodologies, preferring to just pick the ones that work for it.
“It’s more the philosophy that appeals to us. Extreme programming is one of the techniques and we’ll apply some of it such as peer design, but not all. The bulk of our design work is done in peers anyway. We don’t believe you should design a system on your own.”
The main agile methodology Massey will use is feature-driven development (FDD), a short-iteration process framework for software development projects, which van Geel says is close to how the development team works anyway.
Applying the methodology, the ADT will carry out business process reviews of the SMS subsystems which will result in a model of the new system and a high-level feature list. This will lead to the planning and scheduling phase of the project. The development team will pick up features and work on them as they are scheduled. Deliverables will be produced in a cycle of activities (weekly or fortnightly), called Project Heartbeat.
“In the old days the first requirement was to carry out analysis, then produce documentation, and then after months write some code. Now we know that the business can change significantly over such a period.
“These days we like to sit down with the users at the beginning and talk about the problem or changes or new system they want and their high level wishes. That then helps us prioritise the features according to what the business wants built.”
However, given that like all projects the SMS Renewal will be subject to the audit requirements of the fund providers (in this case the university council), there still has to be some adherence to classic project management.
“We will collate all the feature lists in a Gantt chart using Microsoft Project. The challenge for us is to be agile because we believe that is a software productivity and quality improvement tool.
“But we realise we will also have to use a more conventional project management approach in order to provide the comfort level required by all the stakeholders,” says van Geel.