I work for a company who provides software products and services, but is not a software company. Historically, the methodology we follow is based on sales selling whatever they possibly can and development rapidly developing whatever “it” is. There is typically no thought given to what we should be focusing on. One of the fundamentals of the agile methodology is the idea of a constantly prioritized backlog. This idea is easy to lose sight of in small companies. Profits might be thin and it’s tempting to build whatever a customer will pay for.
When I took over the group I manage, every person in the company was welcome to visit any developer on the team and request that their top priority were completed. To help alleviate constant interruptions developers had to deal with, I started handling all requests. At some point, it occurred to me that I might not be the best person to set the priorities of the company. I’d like to have a say, but not the whole say. The more I read about agile, the more it made sense to have a product owner.
Ideally, the backlog would constantly be prioritized and before every sprint, we’d just grab the first N number of items off the stack to work on. This is a simple and brilliant concept. It keeps developers developing without constant interruption and ensures the most important features are always worked on.
I’m still struggling with changing the culture to mirror that of a software company instead of a machine shop where we can just flip a switch and have our developer machines output a different widget. Hopefully we get there and we get to see the results of implementing such a noble goal as to institute an ordered backlog.