Smarter software development
(PhysOrg.com) -- Victoria scientists are combining their expertise with collaborators at universities around New Zealand to come up with faster, more flexible and more affordable ways of developing software.
The four-year project is funded by the Ministry of Science and Innovation and has input from a range of industry partners.
James Noble, a professor of Computer Science at Victoria, says the traditional process for developing software dates back to the 1960s and has its roots in computerisation for the space race and weapons development.
"It was driven by cost overruns in the United States Defence Department. They couldnt buy the software they wanted so decided to develop their own, but the process they put in place was quite bureaucratic," says Professor Noble.
He says with traditional approaches, as much as half the effort can go into planning, detailed documentation and formal sign off by the parties involved before development work begins.
The Agile approach was created to address some of those issues and is rapidly being adopted by many of the worlds software giants. Agile methods involve self-organising teams that develop software through iterative and incremental work cycles in close collaboration with their customers. Changes can be made at any stage and the product is tested along the way to ensure early detection of problems.
"Anecdotal evidence shows it speeds up software development and can show more quickly where problems lie or whether the project is doomed," says Professor Noble.
But, despite its burgeoning popularity, many aspects of the Agile process have not been researched until now.
Victoria postdoctoral researcher Dr Rashina Hoda is investigating how teams should self-organise. She has studied 58 Agile practitioners from 23 software organisations in New Zealand, India and North America over the past four years to understand how they go about self-organising. She has used the information to develop a process others can follow.
"There has been a real lack of research on the subject and practitioners are left wondering how to go about self-organising. Theres no boss telling you the process to followinstead the team has to take ownership.
"Its also a high pressure environmentthings are constantly changing and there are deadlines to meet."
Dr Hoda has identified the critical roles in a team, which she has named Mentor, Co-ordinator, Champion, Promoter and Terminator, and a set of practices. Her research has also shown that support from senior management within the organisation is vital and that projects go more smoothly when customers play an active role.