Principles, Practices, Problems
In the last few posts, we explored the issues standard agile practices have with AI projects.
This is an example of a more general phenomenon. It goes like this:
We start with entirely reasonable principles.
We apply these principles to a concrete situation, yielding entirely reasonable practices.
Because practices are more concrete than principles, they spread more readily.
Reasonable-Practice™ Certified Coaches and Consultants spread the practices far and wide.
Applied to different situations, the practices are entirely unreasonable, but the certified coaches will tell you that you're just not doing it right.
In the justified backlash against unreasonable practices, the reasonable principles get thrown out.
You can see this with a lot of the advice you read online, where a version of Newton's Law states that each piece of advice has an equally viable opposite piece of advice. A few examples beyond agile:
Funding
The principle: Your company needs money to fund itself
The practice (for a consumer-facing company during times of low interest rates): Raise as much venture capital as possible as early as possible and grow as big as possible as fast as possible.
Where it makes no sense: A company building a straightforward business product with paying customers that can fund growth entirely through profits.
Productivity
The principle: We want to have a sense of how productive our workforce is
The practice (on the factory floor): Count widgets produced per worker per unit time
Where it makes no sense: Measuring developer productivity by lines of code written per unit time
Hiring
The principle: We want someone who will thrive in their role
The practice (for a big tech company filling a particular niche role doing one particular thing): Insist on 5+ years of experience in exactly the tech stack the company uses
Where it makes no sense: Hiring for a role in a startup where, in all likelihood, the tech stack will have changed before you've even finished the hiring process
Quite often, when confronted with practices that obviously (to you) make no sense, there's a good chance they made total sense, just in a different context. Why not try to back out a bit until you uncover the principles and then re-apply those?