"A team mentioned the following: We are unable to focus on the work, resources are being borrowed mid flight, we have to wait for env to be ready for testing/deployment , priorities keep changing and worst of all ; often we hear <Our resources should give their 100%>, now how the hell can we give 100% with these constraints?"
Those are six different problems mentioned there. Let's address them one by one.
#1 - Unable to focusThe more things you do, the less you can focus. It's easy to focus on one thing, yet impossible to focus on a dozen things at the same time. We lose focus when we lack clarity of what matters - and what doesn't.
- Lack of transparency concerning value
- Lack of clarity on the impact of multitasking on outcome
Create an environment where limited WIP is possible, encouraged and enforced. (it's always possible, the rest is management mindset)
#2 - Borrowing mid-flightThis only occurs when there is confusion in the organization on what is actually important - and why.
It doesn't even make sense to divert people from doing the most important thing they can do.
Again, that's a management mindset problem.
- Confusion around priorities
- Managers who are unaware of the disruptive impact of their behaviours. Closely linked to #1.
Create a stable environment where only ONE priority 1 exists at a time.
#3 - Waiting for environmentsConsider the "Developer's bill of rights" - if your organization isn't willing to invest into the best possible technology, you lost the game anyway.
- Managers who forget the opportunity cost of saving a few measly bucks on tech.
It's essential that technology is an enabler for developers, not an impediment. A company that doesn't let their developers maximize the value of their time is paying high-cost talented people for twiddling their thumbs and getting frustrated instead of delivering results.
Developers must create a plan how they would solve this and what they need, then management must grant both the procedural and financial way to move forward.
#4 - Priorities keep changing
It's very, very simple for managers to change priorities - yet very hard to get things "Done" when the priority is different before something is.
- This is the same as #1 and #2.
- Manaers who are unaware of the cost of change.
Make the cost of change visible. Enforce a strict policy that any change to work which is currently in progress requires the requester to sign off the investments up to this point as "burnt money". For example, if you sunk 20 dev days into a feature already and priorities change, the requester of the new priority causes a loss of 20x10 dev-days, e.g., $20k to the organization. Ask them if that's what they want.
Accumulate burnt costs, when they approach hundreds of thousands (which they quickly do) ask if it wouldn't be better to hire more people.
#5 - Demand without enablement
There's a memorable quote, not sure I get it verbatim: "There's nothing more cruel than setting a goal without providing the means" - yet this is exactly what's described here.
- Organizational structure
- Separation of accountability and responsibility
- Separation of Planning and Executing
- Management philosophy
This is a tough nut to crack and will definitely take a long time. It requires management to reconsider everything they are doing. At a minimum, managers must move from controllers to enablers - even this step can take years to be fully anchored.
#6 - De-humanization of workers as "resources"
That's entirely a mindset issue occurring in organizations where people aren't being treated as people.
Lean thinking is built on "respect for people". "Resource" in regards to people is a very dis-respectful concept that needs to be banished out of the organization, without any form of replacement. That alone will have a positive effect on motivation, morale and therefore, ability to get things done.
The good news: Those aren't many problems. They are all somehow different faces of the same coin. There is only one problem: a communication gap between managers and developers. Everything else is a consequence thereof.
At the heart of it, managers need to stop "doing manager stuff" and start talking with their people. Try to get NEAR.
A good coach can help here.