Every once in a while, you run into an individual or an organization with an acutely mechanistic view of software development processes. “Mechanistic,” in this context, means that processes are like machines: you wind them up and let them go. As long as they continue to operate, good things will result. This misconception echoes a similar view of political systems that is alternately harmless and dangerous.
In “The Place Of The Independent In Politics,” James Russell Lowell warned that too many Americans had lapsed into a view of the Constitution that it was a “machine that would go if itself.” “I admire the splendid complacency of my countrymen,” Lowell said, “and find something exhilarating and inspiring in it.” As someone marinated in Agile, I find the mechanistic view of Agile to be an odd form of compliment. Unfortunately, it’s completely unwarranted. Teams early in Agile adoption need to shape the new methods to fit within their organization and work. Agile veterans need to continue evolving their use of Agile, tweaking the methods here, adding a complementary approach like Kanban or continuous delivery there.
Just as Agile doesn’t exist in a vacuum, so too do constitutions. Yet, surprisingly, the modern study of politics focused almost exclusively on constitutions. The political scientists of the early 20th century (which included Woodrow Wilson, during his academic career) treated the political process as the output of formal rules, whether they existed in a formal constitution like United States’ founding document, or an “unwritten constitution” like the British one. One of the best constitutions at the time, many believed, was the post-World War I Weimar Constitution, which seemed to have the right mix of government institution and representational mechanics to create a just, decent, and democratic society.
Of course, we all know that the Weimar Republic came to a catastrophic end in 1933, with the Nazi seizure of power. So too did the mechanistic view of political science, which started liberally incorporating sociology, psychology, economics, and other disciplines to better capture the societal context in which politics operates.
Today, there is still good reason to study formal political institutions. They clearly matter, as they did when the newly independent United States abandoned the Articles of Confederation for the federal Constitution. The formal rules aren’t the entire story, however.
The formal rules may operate just fine for a good long time, but not forever. Lebanon’s post-WWII constitution, for example, mandated a certain amount of representation for Maronite Christian, Shi’a, and Druze citizens. When the Muslim population rapidly grew, but Muslim representation in the government didn’t, a bloody civil war resulted.
The dangers of the mechanistic view of process may not lead to a shooting war in an IT department or a software company, but it can be destructive. If you introduce any new process, it must align with corporate culture and the interests of some major players in internal politics. You can change over time the culture and the balance of power, but eventually, you need the spirit of the law and the letter of the law to align.
You also need to recognize and perhaps reward people for following the spirit of the law, even if they violate the spirit of the law. For example, you might wince when a team decides to make story mapping the new way to define a project, even if that’s not the official way project initiation works in the rest of the organization. Story mapping might work just fine for that team, and it might represent a future evolution (amendment?) that you will adopt in the future. As long as the team is still living up to Agile principles, and isn’t making life hellish for other people in the software value stream, this deviation from the formal rules is a good thing, not bad. Any software process, like the Constitution, is a living entity.