The software development world has taken a keen interest in agile development practices and agile project management. The practices have crossed the chasm, becoming part of mainstream application development, according to Chris Spagnuolo. But has the geospatial development worldpicked up on agile? Spagnuolo explores the results of a recent survey on that topic.
Numerous surveys to date have attempted to quantify agile adoption rates in the general software development community, but none have specifically addressed GIS development. In February 2008, Data Transfer Solutions (DTS) released a brief online survey to the GIS world to gage the adoption of agile practices in the GIS industry. This article discusses the results of the survey.
DTS conducted the survey over a 30-day period in February 2008 via SurveyMonkey. Several GIS development blogs, along with more general GIS blogs, and also URISA promoted the survey. Respondents included 347 GIS professionals from 36 countries. The online tools restricted responses to one response per IP (Internet Protocol) address. Survey results were screened and scrubbed to remove any "garbage" answers. Fewer than 10 responses were rejected, which had no statistically significant impact on the survey results.
The majority of respondents identified themselves as either GIS developers (28.1%) or GIS analysts/technicians/specialists (27.8%). There were a few other key groups: GIS project/program managers (13.9%) and GIS coordinators/managers (13.0%). See Figure 1.
The Results and Analysis
Agile Adoption Rates
Respondents were asked if their organization had adopted any agile practices. Of 347 respondents, 32% indicated in the affirmative, while, 68% indicated their organization had not adopted agile practices. This result is not unlike the result of an informal poll by Directions Magazine in December 2007 which found 28% of GIS professionals were using agile product/software management. However, this figure stands in sharp contrast to the results of a similar survey of the general application development population conducted in March 2007. Conducted by Scott Ambler, practice leader of agile development in IBM's Methods Group and Dr. Dobb's Journal (to which Ambler is a frequent contributor), that survey found that of 780 respondents, 69% indicated that their organization had adopted agile practices and 31% had not (Figure 3). Version One conducted a survey in June and July of 2007 and asked a similar question. Of almost 1,700 respondents, 73% had adopted agile practices and 27% had not.
Organization size did not appear to have a statistically significant effect on the rate of agile adoption. Small companies (50 or fewer) indicated a 31% adoption rate, mid-size companies (51-500) indicated a 27% adoption rate, and large companies (500+) indicated a 37% adoption rate. This runs slightly counter to a survey performed in 2006 by Digital Focus which found that 46% of mid-size companies had adopted agile practices while only 12% of large companies had done so.
Agile Project Experience
To gage the level of agile adoption, respondents who indicated that their organizations had adopted agile practices were asked the number of agile projects executed. Of the 109 respondents, an overwhelming 86% cited at least two projects using agile practices. This indicates that although adoption rates may be low in general, those who have adopted agile practices have moved beyond the "pilot stage" of implementing agile practices in their organizations. This finding is closely aligned with the Scott Ambler survey which found that 85% of organizations that had adopted agile had run at least two projects using agile practices. Organization size did appear to have a statistically significant impact on the level of agile project experience. Larger companies (500+) were nearly three times more likely than smaller companies (1-50) to still be in the pilot stage of adoption, with only one project running using agile practices.
Conversely, small companies were nine times more likely than larger companies to have run more than 20 projects using agile practices.
The types of agile practices employed by those respondents indicating that their organization had adopted agile practices varied by both organization size and by agile experience. The top ten agile practices adopted by 111 survey respondents include:
- Iterative development (79%)
- Incremental delivery of WORKING software (66%)
- Collective ownership (48%)
- Self-organizing/self-managing teams (42%)
- Frequent stakeholder reviews (42%)
- User stories (41%)
- Flexible architecture (39%)
- Coding standards (37%)
- Iteration task lists/backlogs (36%)
- Code refactoring (36%)
The types of agile practices employed also varied by the agile project experience level of the organization. 100% of mature (10-20 projects) and expert (20+ projects) teams employed iterative development practices, while only 60% of rookie (1 project) teams and 81% of learning curve (2-5 projects) teams did the same. (These categories were developed by the author for this specific study.) Expert agile teams also seemed to recognize the importance of self-organizing/self-managing teams as well. 86% of expert teams adopted the self-organizing/self-managing practice, while only 27% of rookies, 39% of learning curves, 47% of mature teams adopted the same practice.
Going beyond the basic agile practices, expert teams seem to have embraced the more complex agile practices. While 53% of expert teams have employed Test Driven Development (TDD) practices, only 13% of rookies and 31% of learning curves have employed TDD. Pair programming displays a similar trend with 29% of experts adopting the practices and only 7% of rookies and 16% of learning curves doing the same. Expert teams are also moving beyond engineering practices and employing some of the more advanced agile project management practices as well. The use of story point estimation and the calculation of a team's velocity based on iteration story point metrics for future estimation are employed by 43% of expert teams and only 7% of rookies, 11% of learning curves, and 13% of mature teams.
What appears to really set apart the expert teams is the level of both agile training and coaching. 43% of expert teams reported participating in agile training, compared with 0% of rookies, 8% of learning curves, and 14% of mature teams. Agile coaching displays a similar trend in that 29% of experts reported taking advantage of agile coaches to help improve and accelerate their agile adoption while 0% of rookies, 3% of learning curves, and 14% of mature teams tapped into coaching (Figure 4).
Future Agile Adoption
Respondents whose organizations had not yet adopted agile practices were asked when they thought their organization might consider adopting agile practices. 51% of the 189 respondents indicated that they did not know. But of the remaining respondents, 39% indicated that they'd never adopt agile, 26% said they'd adopt agile in the next year, 19% said in the next two years, and 16% said more than two years from now. This does not correlate well with the Scott Ambler study of the general software development population. In that study, only 13% said never, 24% said in the next year, 9% said in the two years, and 9% said more than two years from now. The only correlation is in the percentage of respondents likely to adopt agile practices in the next year. Company size did have a statistically significant impact of future agile adoption. Small companies were nearly twice as likely to adopt agile practices in the next 12 months as large companies, while large companies were nearly twice as likely to never adopt agile practices as both small and mid-size companies.
General GIS Agile Adoption
The overall adoption rate of agile practices in the GIS industry lags behind that of the broader software development community. Using Geoffrey Moore's classic technology adoption curve as the basis for this discussion, it is the pragmatists in the software development world who have accepted agile practice and enabled agile to cross the chasm into the mainstream of software development. However, according to the findings of this survey, in the GIS development community the innovators are leading the way in terms of agile adoption. This means that in the GIS industry, agile practices have not yet crossed the adoption chasm to the pragmatists to make their way into mainstream GIS development (figure 5).
It's not all grim news, however, for the GIS industry. Ryan Martens, the chief technology officer at Rally Software Development, has worked with countless organizations assisting in their agile adoptions and he reviewed the results of this survey. While he agreed that GIS development appears to be lagging somewhat in its adoption rate, he noted that it is not that far behind the general adoption curve. He also indicated that although GIS is a bit behind, those who have adopted agile practices appear to be following the same general trends in terms of the number of agile projects and the implementation rates of specific agile practices. Martens said, "Sure, GIS seems like it's a little behind the curve, but they're not as bad as the financial sector which is way behind. But once they adopt agile, they seem to get it."
The logical question, then, is, "Why is GIS behind the curve for agile adoption?" There could be several reasons. The recent survey by Version One in July 2007 concluded that the biggest barriers to agile adoption in organizations are general resistance to change, the lack of personnel with agile experience, organizational boundaries, lack of management support and lack of customer collaboration. A similar question posed by a Digital Focus survey found that 51% of all participants reported lack of knowledge or skill as one of the top three barriers to adopting agile, and 56% of the executives surveyed saw the lack of internal agile experience and/or skills as a barrier to adopting agile processes. While these are all significant barriers, none can be readily identified as inherent in GIS organizations. So the question may still remain, "Why is GIS slow to adopt agile?" Perhaps a future survey will include questions that will extract the answer.
Specific Implementation of Agile Practices
Although organization size does not seem to impact overall adoption of agile practices, it does appear to have an impact on the adoption of specific agile practices. Co-location, highly regarded as a critical success factor in agile practices, is not common in large companies with distributed offices. Additionally, pair programming, another agile practice considered to be a key success factor in agile teams, is also uncommon in large organizations, largely for the same reasons.
However, more than organization size, agile project experience tends to really drive the adoption of specific agile practices. Expert teams (those with more than 20 projects run with agile practices) implement more complex and advanced agile practices than their less experienced counterparts. This is due, in large part, to the iterative nature of agile practices. As teams use agile practices on more projects, the retrospective and reflective nature of agile practices encourages and enables agile teams to learn about themselves and to implement new practices that provide continuous improvement in their delivery of high quality software. Predictably, as teams mature in their use of agile practices, they seek out and employ more advanced practices.
It is also very important to recognize the value of training and coaching in the successful adoption of agile practices. The expert teams in this survey indicated a high rate of both agile training and agile coaching. The training these expert teams received may be another reason why they have adopted more complex and advanced agile practices. General awareness of the practices and the techniques for implementing them are gained through agile training. Coaching is also another key factor in the success of agile teams. Expert teams may have reached their 20-plus agile projects level precisely because of assistance from outside agile coaches in their agile planning and retrospectives. Sometimes, outside observers can provide objective information to agile teams to assist them in improving and implementing their agile practices.
The Future of Agile Adoption in the GIS Industry
Perhaps the most sobering indicator identified in this study is the disproportionate percentage of respondents who replied that their organization would never adopt agile practices. Hopefully this is just an educational hurdle the GIS industry needs to overcome. Perhaps many of these respondents or their organizations simply don't know what agile practices are, or the benefits that agile practices can bring to a development organization. As the adoption of agile practices progresses throughout the mainstream development community, to the conservatives, and even to the laggards on Moore's adoption curve, agile practices will gain visibility in the eyes of the unfamiliar. As more press outlets cover agile, CIOs, GIOs, GIS managers and coordinators, and executive managers will increasingly be exposed to agile concepts. Data Transfer Solutions plans to conduct this survey several more times in the coming years to gage any change in this indicator.
Note: The full results of this survey are available at Chris's blog GeoScrum. I will be at the ESRI Developer's Summit in Palm Springs next week (March 17-20, 2008) and will be available to discuss the survey and results.
I would like to thank the following individuals and organizations for their promotion of the Agile GIS Survey: James Fee of Spatially Adjusted and Planet Geospatial , Adena Schutzberg of Directions Magazine, Hilary Perkins of URISA and DTS, Glenn Letham of The AnyGeo Blog, Ron Exler of the GeoFactor, and Agile Commons. I would also like thank Ryan Martens of Rally Software Development for independently reviewing and commenting on the results of this study.