Agile software: Stand and deliver

Why agile software development techniques are disrupting federal IT for the better

programmer

Agile software development places a strong emphasis on deliverables. (Stock image)

In the 18th century, English highwaymen commanded us to stand and deliver. Three hundred years later, we don't have to be commanded; we just do it. At daily 10 a.m. agile stand-up meetings, one can find teams all over the federal government reporting on their deliverables and signing up for the next set.

The move to agile methodologies is disruptive even in the most process- and methodologically mature organizations. Agile shifts control and visibility of the work being done closer to the doers and away from the managers. It changes the cadence of the delivery process and the size of the deliverables. It forces a new focus on priorities and changes the emphasis on requirements. Teams take a new look at how they test, how they integrate, how they release and how they deploy. Agile changes everything.

And whether you are an agile advocate, an agile agnostic or an agile avoider, one thing is consistently true: Agile development places an emphasis on deliverables unlike any other methodology. That is good for software development and great for tracking in the federal contract environment.

And what, exactly, is agile development? At its heart is the self-organizing team whose members approach the development task informed by organizational priorities. Those teams are drilled in measuring work effort in manageable units and disciplined by the daily routine of activities that are never more than 24 hours from review. Progress is tracked, and deviation from the project plan is detected within a day — then remediated by the team within their sprint window of two or three weeks.

That focus on deconstructing the requirements into smaller and smaller chunks has a beneficial effect on our ability to keep to the contracted needs. It becomes very easy to track the delivery of the contracted deliverables, and we can do this very finely. Unexpected variances are easy to spot, and the detailed change orders that result also have a fine granularity of time and cost impact.

But beware: Most agile teams like to manage what they do with the least amount of bureaucracy and the minimal use of tools. Part of the delight in using agile methods is the ability to escape from the boundaries of process, procedure, policy, practices and politics and do what is needed in whatever way makes the most sense to get the job done. For managers of agile teams, this is very hard to accept. The loss of direct visibility and the ability of the team to shift priorities and deliverables are sometimes too much for project management offices.

The good news is that there are numerous tools on the market today that enhance agile teams' effectiveness. Many of the tools even take away some of the tasks that agile teams dislike doing, make agile something that can be effective even when the team is dispersed, and — of critical importance for federal projects — give managers the visibility they need to ensure that contracts are being complied with and deliverables are being met.

The public does not want to stand in line to receive their services; now they want to access those services online from their smart phones. "Online not in line!" is the 21st century slogan. As consumers, we all expect the rate of change to be fast in our 24/7 mobile lives, and that means we have to reinvent federal IT to match. Embrace agile and see the team stand and deliver every day.