Computing Applications

Five Tips For Agile Software Development

Rashina Hoda
Rashina Hoda, a post-doc researcher and lecturer at the Victoria University of Wellington’s School of Engineering and Computer Science.

The most critical challenge for practitioners of agile software development is learning how to become a self-organizing, cross-functional agile team.

So says Rashina Hoda, a post-doc researcher and lecturer at the Victoria University of Wellington’s School of Engineering and Computer Science.

Despite agile software development’s burgeoning popularity, “there has been a real lack of research on the subject and practitioners are left wondering how to go about self-organizing,” Hoda explains. “There’s no boss telling you the process to follow; instead the team has to take ownership.”

Hoda has spent five years studying the methods by which 58 agile practitioners across 23 organizations in India, New Zealand, and North American transitioned from more traditional software development to agile methods.

“My research looks to bridge the gap between theory and practice … and to learn about the strategies teams develop and use to overcome their challenges. Over the course of the research, it became apparent that the most critical challenge was how to go about becoming a self-organizing agile team.”

Hoda has used the information she’s gathered to develop a process that agile teams can follow, including these five tips:

1. Agile teams should engage mentors (in the form of agile coaches or experienced members from other agile teams) to guide them smoothly through transitioning into agile. Mentors are the lifeline of new agile teams; they guide them about agile values, principles, and practices, and help the team gain confidence in practicing agile. Mentors also look out for the tendency to revert to old ways of working and encourage adherence to agile practices. In choosing a mentor, teams should be careful to avoid evangelists who may preach to them with little sensitivity to their organizational or project contexts.

2. Teams should practice agility in context. New agile teams are expected to internalize most practices of their selected agile method. In the long run, teams can also expect to adapt certain practices to suit their particular organizational or project contexts. For example, agile teams within government-based organizations may need to produce considerable amounts of documentation despite the agile methods supporting light documentation.

3. Teams should attempt to engage their customers as much as possible. It is important to highlight the advantages of collaboration to the customers, such as better control of the product/application, enhanced ability to introduce changes, benefit of receiving working software every iteration, and the convenience of flexible contract options. Teams may also consider providing training sessions for customers so that they are aware of the level of collaboration expected of them and are knowledgeable about the various agile practices on which they will be collaborating.

4. Teams should not underestimate the importance of senior management support and should actively attempt to secure it. Teams should inform their senior management about the potential advantages of adopting agile within their organization, such as more driven and responsible teams, better customer satisfaction via enhanced collaboration opportunities, better risk management via iterative and incremental development, and the ability to rapidly respond to changes in project or technological requirements. Even though a pilot agile team may have achieved great results, sustenance of that team and propagation of more agile teams will be heavily dependent on the senior management’s discretion. Having management buy-in is critical.

5. Self-organization is a continuum. Agile teams must constantly strive to self-improve or they risk losing their capability to self-organize. Teams should take the time to self-evaluate through practices such as retrospectives and find not just ways of bettering their productivity but also discover better ways of working. This involves setting aside some time for learning within their otherwise action-packed iterations.

Paul Hyman was editor-in-chief of several hi-tech publications at CMP Media, including Electronic Buyers’ News.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More