It’s hard for me to believe but it has been a little over 9 months since I started working at Points International and what a busy but awesome 6 months it has been. A big part of my job has been recruiting and one of the biggest things that we look for in a candidate is the ability to adapt to our agile environment. Agile is relatively new to Points being intoduced a little over 1.5 years ago here which was before my time. While the company has embraced it, as one of the Agile champions at Points, I find myself constantly thinking of what it means to me especially from a software engineering perspective.
I have spent the bulk of the last 7 years developing processes. For me, processes is best used as a form of communication. Processes that are used to exert control is what you get when a team or an organization is undisciplined or isnt’t high performing. When processes are used as control, it fails miserably because they tend to be rigid and brittle. I like Scrum because it removes barriers to communications and reduces friction and enables agility by increasing communication and reduces time and distance to make decisions.
In order to be agile, any team has to be disciplined otherwise you quickly become ad-hoc. I often liken an agile product team to the same an an elite combat force like the Navy Seals or to an elite athletic team. These teams often train hard and are focused. Execution comes like second nature leaving their minds to focus on adapting to the unexpected while the mundane and repetitive comes instantly like muscle memory. An agile product team is no different. Things like automated test coverage, scrums and prioritization should come like second nature to the team.
Having run operational teams before, one of the hardest things to do is to remain focused. Most incident management processes have the concept of severities to help prevent distractions but ultimately they still happen. One of the key successes to being agile is to be focused. There should always be only one priority one for a product team and they work on until it is solved or they are hit with a roadblock. So a big part of a software engineering team’s role in a product team is to look at how many engineers can fit into a story before they block one another. A product manager’s role is to ensure that there are clear priorities and a scrum master will try to keep the product team focused and remove distractions. The idea of herding cats should be gone.
What drives the focus of the product team is the business value of what they are producing. The product manager has the difficult role of assessing business priorities with all of the relevant stakeholders and then prioritizing them against one another. Another way that a product manager provides value is to ensure that the product team is working on stories that are thought out so that the development team isn’t spinning their wheels on stories that are constantly changing.
It’s hard to provide business value without quality. Your reputation is often driven by the quality of the product that you build. However how much quality you need is also driven by business value. The one thing that I love about agile product teams is that quality is not a role that is identified with a QA person. Instead, it is considered a trait that needs to belong to everyone. It is everyone’s responsibility to deliver a quality product from ideation to delivery.
Predictability is a powerful weapon to have in your arsenal when running a business. Predictability is useful when you need to commit something to market. Once a scrum team matures and achieves consistent velocity, a business can reliably predict when they can commit something to market with predictable quality and effort.
Ultimately, to achieve all this a product team needs to be cohesive in vision and they need to have self ownership of outcomes while being driven by a business vision. I love the fact that Points is commited to being a company that’s agile. While we aren’t there yet, we are committed to being there and maturing our company as a whole to get there. Working on being agile is one of the many things that I love about working here at Points.