Manage expectations
Software Engineering Team Lead and Director of Cloudsure
Do you keep business informed? Business won't know when things are not working out unless you tell them. It is surprising how much support we can get when we open honest channels of communication.
Let's say you've settled into a corporate. You start working on a story but you horribly misjudged its complexity. The deadline is looming but you just can't figure it out. Everything you try has more obstacles or - even worse - results in dead ends. You pull out every trick from your developer toolbox but you're stuck.
In the heat of the moment, your product owner pops by for a quick update. This wasn't your first interruption: you had to help a developer with a bug in the system; a stakeholder popped by to ask you what you thought of an idea that sprung to mind; a designer needed some CSS assistance; your manager scheduled a one-on-one with you; a friend called you to ask for some advice; and you had a lot of network related issues. This latest intrusion leaves you at breaking point.
"Perhaps if people quit harassing me, I'd probably be done by now," you badly want to shout out so that everyone can hear you and leave you alone. Instead you reserve yourself as best you can and provide a report.
Deep down inside you realize something profound:
What you allow will continue
People can't read minds. At least not in my experience. If they can, they hide it well. Regardless, if you allow intrusions, it will continue.
People don't wake up each morning thinking of ways to get you worked up. At least I hope not! They generally have reasons for interrupting you - whether they are important or not is often debatable.
I strongly recommend you communicate your expectations with those around you. It could be as simple as setting up a working agreement with your team and business. You could find ways to deal with pesky distractions and learn techniques to manage your time.
I want to focus on one distraction in particular: business stakeholders interrupting you for a progress update.
Keep business informed
If you don't want to have product owners intruding, you need to keep them informed. They have to report to a bunch of other business people and if they are in the dark, they will hunt you down.
It's simple: have open and honest communication between your team and business.
Let's delve into some situations:
Communicate interruptions
Interruptions don't disappear once you put steps into place. You need to "untrain" what you have allowed in the past. You need to be strict with yourself and those around you.
- Lean heavily on your scrum master for guidance and assistance.
- Be mindful of emergencies and act accordingly.
- If you are interrupted, communicate your expectations with that person. If the team is at fault and you can't deal with it immediately, bring it up directly after the next standup.
- If it really gets out of hand, let your product owner know so that business expectations can be managed and you can get more guidance.
Be aware that if you whine about interruptions without taking action, it could look like you are making excuses.
Underestimated complexity
The moment you realize you have underestimated something, seek guidance from your team. If you can't resolve it, immediately inform your product owner - in person if you can (draft up an email afterwards if you need an audit trail). Explain the situation in non-technical terms. Use a whiteboard or draw pictures.
Business values this because they can manage expectations upward much quicker. If you bring it up for the first time at a deadline - well, you're skrewed.
Catastrophic failure
When someone tells you that something is broken in production, immediately inform your product owner.
Your product owner needs to provide guidance. Not everything that breaks in production is catastrophic. Yes, I just said that. We see production as the holy land where everything must be perfect. You may end up chasing a white rabbit bumping into Alice along the way if you go down this hole - and it's not going to be an adventure.
Understanding business value
Trying to fix everything in production (especially if you are new to a product), could waste valuable time and increase stress. You need to understand the business value attached to it. Say you start fixing it only to find out that:
- The product or feature is obsolete.
- You should be working on something that has a bigger impact on customers or business.
- There are more pressing issues that need immediate attention.
- Another team is already working on it.
You definitely need guidance from business.
Understanding human-beings
You are surrounded by a lot of people at corporates. Everyone has their own ideas of how things should work - and they will tell you. This is terribly overwhelming if you are new to this world.
Don't take value out of every word that is said to you. If you are told that something is broken in production, seek guidance. The longer you stay in your environment, the more you discover what real catastrophic failure is.
Real catastrophic failure
Okay, so you are a product pro and you know that this is a real disaster. You still need to bring it to your product owner's attention. If you understand the impact, you may offer guidance.
At corporates you may find a list of teams that need to be informed. Figure out who and let them know. Never forget to include the operations team that manages escalations from call centers.
By proactively creating awareness, you eliminate everyone coming directly to you to tell you that something is broken in production.
If you have a change control framework, this is when you follow the emergency change protocols.
You made a mistake
When you make a mistake, don't go pointing fingers. You are human. Allow yourself to be one. You will make mistakes. It's fine - as long as you learn from them and nobody dies.
Let the product owner know and be honest about it. If you hide it, expectations cannot be managed and someone will get into trouble.
If the team makes a mistake, you are part of it. You are one unit - that should be solid. Make time to reflect on these mistakes (retrospectives) and find ways to improve (inspect and adapt) both personally and as a team.
My final thoughts
Distractions are a glorious pain in the backside. One of the worst distractions is consistently being asked for status updates. This is alleviated when we - say it with me - manage expectations.
I was terrible at this. When I eventually took action, I gained a lot of trust from business. In turn, they gained my trust. Our interests are now aligned.
I don't get asked for updates because I keep business informed. We guide and help each other out. We have a healthy, strong and blissful relationship.