We spend a fair amount of time in Software Development focusing on the big players. We focus on Netflix’s chaos engineering, the “Spotify Model” for software development, Microsoft’s (now defunct, sadly) private office layout for software developers, or Stack Overflow’s architectural approach to operating at their scale (Stack Overflow is a top 50 website in the world, and likely the #1 developer destination in the world).
We focus on them and we grade ourselves against them. Microservices migration failing? I guess we’re not as good as Netflix. Why has scrum failed for us when it worked for <big name here?> Why do we have so many bugs? Why can’t we do what Microsoft did and launch a “Zero Bugs” campaign?
One of the (many) lessons I’ve gleaned from following my wife’s career in education is the idea that each child learns at a different pace. We pay lip service to it as non-educators, but differentiated education really makes it a central thesis: Every child is different, why would every child learn at the same pace or in the same fashion?
Every software team is a single being, and that being knows, learns, and operates at a different pace and level than any other software team out there. Our methodologies and “best practices” are tailored after what we see the biggest and ‘best’ doing, but much like teaching a child to read or learn multiplication, what works for one won’t work for another.
To combat this feeling of ‘being left behind’, if all children aren’t evaluated to the same ‘standard’ (I’m using ‘standard’ here to refer to standardized tests), educators that use differentiated learning will evaluate each child against their own progress. Has this child made one grade’s worth of progress from where they were when they came into the classroom?
Has your software team has made progress against itself? Has it improved how it delivers value to your organization over the past year?