So, we put in a full-time product manager who is responsible for thinking about the product roadmap and product releases. He has two resources, a requirements analyst and a technical writer, who work closely with the software development team to drive requirements and capture technical specifications.
We're also implementing automated testing, which will allow for cost reduction, greater and faster test coverage, increased change velocity with increased quality, and ultimately increased customer satisfaction.
What was most challenging about moving to the product management model?
When I joined Murphy USA, I inherited a classic development model: here are some developers; here are some requirements that have come in from our retail group. We were not a product group that was thinking about cranking out releases or building automated test suites; we weren't thinking about automated builds. We didn't have repeatable processes in development or testing. As a result, it took a longer time to get releases through the SDLC, and time to market suffered.
The primary challenge we initially had to overcome was resistance to change, although that was relatively easy to overcome. Understandably, the team wanted to do the work the way they had always done it. But once we began gathering detailed requirements for changes that were bundled as a release, and we were able to improve quality and speed to market, they saw the power of the new approach and adapted well. As our new automated testing team comes together, we'll be able to move even faster, just as my software product teams in the past have.
How are you improving your SDLC?
We are evolving our SDLC to be more product-centric. Our deliverables now include product release notes and product technical documentation, and we are now building product roadmaps. Within the roadmaps, we are not only calling out release schedules and new feature content, but we will also be evaluating competing POS systems. Our newly implemented change management and release management processes do a great job of managing the details behind the entire lifecycle of product changes.
Ongoing continuous improvement includes the development of automated software builds and deployments. My goal is to get to the point where we're able to do nightly builds of the code base and nightly deployments of the new code to the QA environments. The nightly builds and deployments will allow us to cycle through defects at an increased velocity, which improves our competitive stance.
What performance metrics do you use to reinforce the product management approach?
In addition to traditional performance metrics, we have started to measure credit card transaction speeds, and soon we'll be measuring API call round-trip performance with our central customer loyalty system. The credit card transactions are measured in seconds, and the API calls are measured in milliseconds.
Sign up for Computerworld eNewsletters.