We’re not psychic, so why do we bother predicting the future?
Developers still suffer task estimates, despite knowing they’re just fudging numbers. Here’s how we escaped the crystal balls and horoscopes.
There’s little in the world of software development more frustrating than estimating tasks. It’s a constant tug of war between developers and management. The result is an arbitrary number, a point in time that wasn’t there before, that will make you feel miserable for crossing it. Yay!
It’s a blatantly broken system, so we fixed it. With some small tweaks, we ended up with a far more reliable and comfortable way of working. Rather than declaring arbitrary targets to aim for, we treat our time like a resource, because it is.
“Give me a timebox and I will fill it with value.”
After an easy goodbye to estimating, we picked up timeboxing instead. A timebox is the time that the task owner is willing to have spent on any non-trivial task, preferably limited to a single day. Task owners are those to whom the result of the task is delivered. By changing the number’s origin, it immediately becomes far less arbitrary.
Spend an hour hacking away at it, you’ll end up with a clearer picture of the work required and the soundness of your timebox. Then continuously manage expectations with your task owner while working the task. Notify them when you trip over an unexpected problem, or when you’re progressing surprisingly fast. This allows them to tweak their task expectations and requirements. In the end, they should never be surprised by the result.
- Always deliver something of value
- Never exceed your timebox
- Task owners must know exactly what they’ll get
The resulting process is far less arcane and deeply includes the task owners. It’s proven to be a great way to involve our customers in what we do, and a comfortable way for developers to get work done.
Interested in how we mange our issues? Read “Milestones and Office hours“
Do you have a tendency to use the backlog as an eternal placeholder? If so, you probably have a lot of clutter that’s creating a lot of frustrations for your end-users. In this post we’ll show you how to clean up your Jira issues and reduce the backlog with some basic JQL queries.
Tips to improve project management in the Atlassian suite
How to test Kubernetes artifacts like Helm charts and YAML manifests in your CI pipelines with a low-overhead, on-demand Kubernetes cluster deployed with KIND - Kubernetes in Docker.
Low overhead, on-demand Kubernetes clusters deployed on CI Workers Nodes with KIND
Had enough of sluggish polling? With instant Artifactory event triggers you can give responsiveness in Jenkins a real boost. Here’s an easy way to set it up.
A super easy configuration guide
With the arrival of microservices code is becoming disposable. Does this mean that we no longer need maintainable code? Is it the end of refactoring?
Still relevant or increasingly redundant?
In software development tight coupling is one of our biggest enemies. On the function level it makes our application hard to change and fragile. Unfortunately, tight coupling is like the entropy of software development, so we have always have to be working to reduce it.
How to safely introduce modular architecture to legacy software
I am an Atlassian certified trainer and over the years I have been spending much time with clients and their Jiras. In this blogpost, I have collected some small tips and tricks that will make your Jira usage better.
Jira Software is a powerful tool deployed in so many organizations, yet in day to day usage people are missing out on improvements, big and small.
In this post, I’ll take a closer look at the version of Jenkins X using Tekton, to give you an idea of how the general development, build, test, deploy flow looks like with Jenkins X. How does it feel to ship your code to production using a product coming from the Jenkins community that has very little Jenkins in it?
A crash course in Jenkins X and how to test it out on a local Kubernetes cluster
In this blog I will show you how to create snapshots of Persistent volumes in Kubernetes clusters and restore them again by only talking to the api server. This can be useful for either backups or when scaling stateful applications that need “startup data”.
Sneak peak at CSI Volume snapshotting Alpha feature
When I read Fowler’s new ‘Refactoring’ book I felt sure the example from the first chapter would make a good Code Kata. However, he didn’t include the code for the test cases. I can fix that!
Writing tests for ‘Theatrical Players’
Nicole Forsgren and the Accelerate DORA team has just released the newest iteration of the State of DevOps report. The report investigates what practices make us better at delivering valuable software to our users as measured by business outcomes. Read on for our analysis of the report, and how it can be best put to use.
The latest drivers of software delivery performance
Hear about upcoming events in Scandinavia, latest tech blogs, and training in the field of Continuous Delivery and DevOps