“Principles of Digital Development
.” These nine principles have been widely adopted by international development funders and practitioners to absorb and disseminate technology best practices in the field of international development. More than 50 organizations ranging from various offices in the United Nations and the U.S. Agency for International Development (USAID) down to niche technology providers have endorsed the principles.
The principles are aimed at moving the field away from a disconnected series of technology pilots, each of which are largely ad hoc and duplicate many of the same lessons, and toward scalability and sustainability. Ann Mei Chang, the Executive Director of the U.S. Global Development Lab at USAID in her foreword to the recent report “From Principle to Practice: Implementing the Principles for Digital Development”
, characterized the problem that these principles are trying to address as follows:
“Pilots have failed to move into scalable and sustainable programs. Solutions too often reinvent the wheel rather than building on robust platforms, infrastructure, and shared services. Applications and services designed thousands of miles from their use environment failed to meet user needs. The creation of duplicative tools and systems has made data difficult to access and use for decision-making.”
In essence, the problem of technology in international development reflects a broader problem in the field. The magnitude of the challenges in the developing world and the immediacy of the need create an impetus to move quickly and start helping people, rather than investing time and resources into building sustainable infrastructure that meets long-term needs.
The emergence of the Principles of Digital Development coincides with a separate movement within the government technology space toward more “agile” software development practices. This movement is rooted in an “Agile Manifesto”
, written by a group of prominent software developers in 2001,which has recently taken root in government. In particular, 18F
a new government technology team housed within the General Services Administration, embraces agile
in its own work building software for federal agencies, and has recently issued an “Agile BPA” contractor procurement process, which awarded its first task order
in June 2016.
The Agile Manifesto values:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The manifesto is backed by its own 12 principles and related methodologies. These methodologies focus on rapid delivery of working software in contrast to a traditional “waterfall” approach to software development, which is dominated by an extended period of comprehensive requirements gathering, documentation, and design processes prior to any software being built. This is the model still in favor in the great majority of software work procured at federal government agencies.
The problem is that this approach takes a very long time to deliver software that offers value. In many cases, it is never completed at all. In other cases, the software is irrelevant by the time it is built. By contrast, the Agile movement, with a “leaner” approach to getting things done, claims a much greater success rate in delivering working solutions that meet customer needs.
It appears that these two movements related to technology in the public sector are moving in opposite directions. The Principles of Digital Development tout the virtues of slowing down, thinking about infrastructure, the overall ecosystem, and long-term scale. The Agile movement is trying to speed up, get leaner, and not be so rigid.
Two Movements, Meeting in the Middle
While they are moving in opposite directions, they are both moving in the right direction. How is this possible? They are not moving away from each other so much as converging from opposite starting points toward a more balanced approach. A model for of the converging directions of the two movements is shown below:
On the top left is the most bureaucratic approach, meant to define comprehensive systems that are built to last, but often don’t get built at all. This is federal agency model that Agile is pushing against. Agile is willing to sacrifice some degree of scalability in favor of delivering results in the short term. Thus, the virtues of comprehensiveness and thinking about long-term scale are not emphasized in the Agile principles, not because they are not good but because the priorities had been previously weighed too far in that direction.
On the bottom right is the problem of ad hoc, uncoordinated technology efforts. These efforts are sometimes characterized as “pilot-itis,” in which everyone is piloting systems and nobody is building anything to scale. The Principles of Digital Development push against this and emphasize sustainability and scale, with less focus on short-term results, not because their practitioners are not results oriented, but because they are trying to put a check on the inherent instincts of their community.
There are dangers. “Agile” practitioners are often in danger of slipping from lightweight processes into no processes. This creates defective, unsupportable software. In contrast, if the Principles of Digital Development movement overshoots in trying to build massively scalable systems that will work in every environment without duplicating efforts, they will be bogged down in reams of requirements documents specifying overly complex systems that nobody will ever create. Worse, this community will shed the impulse toward innovation and invention that characterizes the spirit of this sector.
Finding Common Ground
But, there are areas of overlap in the principles of both movements:
User-focus: Both seek to get as much input, as frequently and early as possible from the actual users of the technology, in contrast to developers and contract officers working in a vacuum.
Collaboration: Both movements emphasize collaboration, though for Agile the emphasis is on collaboration between customers and business people with the software developers. For the Principles of Digital Development, the emphasis is on collaboration across projects.
Iteration: Both emphasize iteration with slightly different lenses. Agile focuses on developing working software as quickly as possible and then improving it over time, rather than waiting until all envisioned features are ready. The Principles of Digital Development are concerned with learning from others and “reusing and improving” existing tools rather than starting new each time.
These three ideas are neither “lean” nor “comprehensive,” neither “ad hoc” nor “bureaucratic.” They are focused on the “just right” and can serve as a mooring for both movements to ensure they do not overshoot. Agile practitioners should not be so focused on delivering products and Digital Development practitioners should not be so focused on building for sustainability and scale that either of them neglects users, collaboration, or iteration. By prioritizing users, collaboration and iteration, technology providers in both international development and domestic government programs can fulfill the promises of technology to improve programs and services for the benefit of all.
Collaboration and iteration will help to ensure that those who craft and advocate technology principles also learn the lessons of the past and do not overcompensate in their zeal to fix the perceived problems of their particular sector. Perhaps the next iteration of the Principles of Digital Development should add a 10th principle: Be Agile.