#15. Framework Fancies
Our software industry is in a perpetual work in-progress state. Churning out new tools, technologies and processes almost on a daily basis. Some of them become a rage but none becoming the de-facto standard.
Some years back a new rage had arrived on the scene - ‘the Spotify Model’. It seemed industry had found a new gem after years of ‘manthan’ with various processes and frameworks. There was a rush to adopt the model, suddenly teams became squads, groups became tribes, communities became chapters/guilds. Boom! Today, nobody talks about the model anymore, let alone adopting it. What happened?
Cargo Cult
Organizations realized adopting the model did not make them more agile, productive or profitable. What worked for Spotify did not work for them. Why?
To understand, let me take you back to early 1940s. During the World War II, as allied forces arrived on Melanesian Islands, huge amount of supplies were air dropped on these islands. Native dwellers were in awe of the military processes and the cargo that was air-dropped. World War II ended, allied forces abandoned the islands. Guess what, the islanders continued with the military practices they observed - mimicking the daily parades, using carved out wooden headphones, built airplanes with straws. Hoping that cargo will be air-dropped. Nothing happened. This is the origin of the Cargo Cult.
Mimicking Spotify model did not make other engineering teams super. We adopted the model without understanding the motivations and the constraints that made it successful in the given context. And were left with creating wooden headphones. We were all ‘Cargo Culted'.
Adopting a Framework
Hold on. What does it all mean? Do all teams need to devise their own processes. Do we all need to go through similar struggles. What about adopting best practices, what about not re-inventing the wheel, what about learning from others. Welcome to the world of frameworks!
Before I delve further on frameworks, let me give you 3 examples of famous Indian personalities. Virendra Sehwag one of the most successful batters in the world started cricket by imitating the God of cricket - Sachin Tendulkar. Sonu Nigam one of the most loved singers (especially for the 90s generation) became a a household name and started by copying the great - Mohammed Rafi. Shahrukh Khan copied the legend - Dilip Kumar early in his career. All 3 of them followed the styles of already established greats and then carved out their own niche that made them the new greats.
They all followed the Imitate, Assimilate, Innovate cycle. They started by following what was already working (Imitate), understood what worked for them and what did not (Assimilate), and developed their own styles (Innovate).
These personalities did not stay at the Imitate stage for too long and quickly moved to their own styles by which they are know today.
Coming back to software industry and the adoption of various frameworks, I have seen 2 flavors.
a) Teams either adopt an established framework and stick to it i.e. stay on the Imitate phase for too long. The problem arises when we stick with a particular framework irrespective of it helping the team or not leading to frustrations and fatigue in the team. Making team work for the processes rather than processes working for the team.
b) Some teams are skeptical of adopting a particular framework and start by creating their own processes and are in continuous flux of re-inventing the wheel many a times for the sake of ‘we are different’ syndrome i.e. staying only in the innovate phase. Leading to a confused team.
Pragmatic Approach
For any new team embarking on their journey in software development adopting an already established framework (that fits in the context) ‘to start with’ makes sense.
The keyword here is ‘to start with’. Frameworks are a great starting point. The frameworks come with industry best practices, provide new teams with a structure and guidelines to follow. Frameworks help the teams kick-start. But this is just the beginning of the journey and not the end. Teams need to keep their eyes open to see what’s working and why, what’s not working and why - Assimilation and then make the changes to the processes to make them work in the given context - Innovation. This is what made the Spotify Model work.
Conclusion
Avoid being ‘cargo culted’. Blindly following and sticking to a framework for the sake of it would leave us with the wooden headphones, straw planes and no cargo just like the Melanesian Islanders.
Frameworks do not deliver. Teams deliver. Adopt a framework that works for the team and not the other way. Ultimately, its the people who build great products!
References:
https://en.wikipedia.org/wiki/Cargo_cult#Pacific_cults_of_World_War_II
https://blog.crisp.se/wp-content/uploads/2012/11/SpotifyScaling.pdf
https://www.jazzadvice.com/lessons/clark-terrys-3-steps-to-learning-improvisation/