In a pull system the workers pull in new work when they have capacity. They know what is on their plate and they manage and organise to cope. They make judgment calls when business priorities compete with engineering risks. Of course engineering risks are business issues on some level; but they tend to have longer term impact.
In a push system workers have less or no control over what they are asked to deliver. They may be doing their best and working hard but they are not taking responsibility for their work schedule. Whoever pushes them work is.
An agile team should be in a pull system but I’ve seen a lot that aren’t.
If you operate a push system ask yourself the following questions. Do the group allocating work and resources understand the current state of code assets? Do they appreciate the prevailing engineering risks and issues? All of them. Can they understand the cost of mitigating actions? Are they equipped to make judgment calls to prioritise those actions? Are they even measured against long term software stability and running costs?
In a push system engineering risks and issues need reporting by the team. Someone outside the team decides when to take action. It is possible that no one is adequately accountable for the long term codebase quality. Inside the team influence is lacking, outside the team knowledge and possibly motivation are. Don’t be surprised when things start to creek over time.
The fix is easy, just switch to a pull system and let the team know that code quality is their responsibility. If work has been pushed at the team over a long period there will be catching up to do. Technical debit needs paying off. A permission seeking culture may need breaking. Addressing both of these takes time.
Solomon Hykes is probably most famous for being the founder and former CTO of Docker. Docker revolutionised the way we package, run and distribute server applications, so when Hykes starts a new venture, it's worth checking out.Discover More
I recently set up a Terraform project which I wanted to run on a regular schedule. There are a number of ways to achieve this, but I decided to package the project as a Lambda function and schedule it with…Discover More
I recently configured Single Sign On (SSO) from our Google accounts to AWS. AWS SSO is the recommended way to configure SSO across multiple AWS accounts, yet Google is not a supported identity provider. However, this simply meant that there…Discover More