It surprises me that so much more attention is often paid to the quality of skills of scrum masters and product owners over those of agile developers when companies go about digitalising their operations.
Agile developers must self-organise into teams, test software, evolve the software architecture, write clean code, review products, create any documentation, refactor their own source code, and ultimately make vital and often final decisions about the software development lifecycle.
So why do project owners routinely think they can prop up seasoned team captains with inferior skills where sails meet the wind?
Agile has become the go-to developer methodology for businesses that must digitalise core functions yet somehow maintain smooth operations. They must adapt, nimbly, to the evolving market demands driven by a collision of technologies that range from cloud to smart, mobile devices, rampant social technologies, the Internet of Things (IoT), and a rising tsunami of big data. It’s a heady mix for even the most disciplined operations.
Agile development follows in the wake of lean manufacturing. The Agile Manifesto governs agile development and contains four values and 12 practices with scrum being its implementation framework.
Agile development using the scrum methodology serves digitalisation by producing rapid, functional software that helps companies respond quickly to dynamic markets and operating environments. And quick and continuous changes thereafter. But it functions as a result of the collaboration of business principals, project stakeholders, team leaders, and developers.
And therein lies the problem. Because impressing green agile developers into the role plots a course to founder. Junior developers are seldom capable of staying the course on their own. It’s like killing the lighthouse light just as the ship nears the reef on a dark and misty night. Sounds like a bad novel that may or may not include an old man and a whale. And just because it’s a classic doesn’t mean you need to be classically bad too.
Good quality agile developers are instrumental to the success – and poor ones the failure – of agile projects. The ultimate quality of the final product rests squarely in their hands. They shoulder enormous responsibility. They must, at the very least, be knowledgeable if not veterans themselves. You may well save a few bucks dropping juniors into the positions thinking that experienced leaders will eliminate the deficit. But while solid leaders can indeed sometimes rally inexperienced teams to success that is not always the case – particularly so where team members must shoulder individual responsibility coupled to independent thinking.
On an ideal day agile teams shove off with a team meeting that defines their destination for the iteration. Thereafter they set the sails as they see fit, determining their own courses with a team destination in mind, collaborating with their colleagues or not, as necessary, then hit port at the end of the day again where they heave to with a demo of what they achieved.
The quality of the final product (as the culmination of the journey to arrive) therefore depends largely on the individual developer skills and experiences. Yet I often see companies focus more on acquiring highly skilled and competent scrum masters rather than the good quality agile developers who will sail the final product from A to B.
By doing so they scupper the real power of agile. That power’s locked into the treasure chest of developer knowledge, skills, and experience. Software does not develop itself when you employ scrum. Agile developers have to know what they’re about, how they achieve the end goal, and what they’re supposed to deliver. And poorly skilled teams quickly demotivate, further reducing the opportunity for successful outcomes.
Despite these considerations I often bump into projects where many enterprises ignore the need to equip agile practitioners properly. And that’s why I reckon that agile developers are the underrated supermen of digitalisation.