Building software effectively requires both skill sets.
Thanks to recent trends like the popularity of the open source movement and e-learning, people who never considered themselves innovative are bringing new products to market. These natural problem-solvers tend to start by asking questions like “just out of curiosity, how much would it cost to build something like [Netflix, AirBnB, or Kickstarter]”. Or they’ve created a long wishlist of desired functionality for this dream solution.
Once they start talking about this idea with friends and colleagues, the verbal validation starts coming in and the solution starts to seem more and more obvious…
So, what’s next?
Building a prototype can help facilitate getting as much useful feedback as possible. This process can reduce uncertainty and overall cost to develop.
Once you’ve hit the limit on how far you can take it on your own, hiring a software developer may look like an obvious next step. While this approach may work well in some situations, like small, very well-defined projects or for someone with the right experience, it can also be unexpectedly and tremendously expensive. Even if you have a team of senior programmers, there are parts of the process that someone outside of the engineering team should own.
Hiring a software product owner or strategy team will help make sure that the right questions are asked before the development team starts building. In the construction world, these are the architects — who work with the engineers to create the plans that the general contractor (project manager) will use to oversee construction.
Whether your big idea is an internal tool to improve organizational efficiency or a customer-facing software experience, recognizing that you are build a software product will help set you up for success.
Products vs Projects
While there are software projects that don’t need product development strategy, these are typically relatively small in scope or singular in purpose.
What’s a Software Product?
If you intend to make money from the software or gain adoption among a target audience, someone on your team should be informing the product strategy.
This is about building the right product/solution to fit the market/problem.
Successful product development requires a lot more than writing effective code. A software program can be perfectly functional with either no user interface (think command line tools) or a very crude interface. Unless your target audience is comfortable with this, user experience should be an essential consideration in your product design process.
It takes a solid understanding of the users the product is being built to serve to create a product that those users will adopt.
While a business leader may know their customer well, a good product owner knows the right questions to ask to get to the heart of what needs to be built and how soon. They typically want to understand why a feature or improvement has been requested so that they can prioritize the request against the backlog of work to be done.
Product Owners Prioritize
Product Owners ask why each feature or improvement is needed, not only for their own strategic planning purposes, but also so that they can ensure that the context behind the requested improvement is communicated down the line. When your engineering team inevitably makes a judgement call on your behalf, they are a lot more likely to select a winning strategy if they understand why we are making the change to begin with.
Project Managers Delegate
Once the decision is made as to what will be built next, a Project Manager (or Scrum Master, as the case may be) works with the software development team to get the work done. They’ll typically work with the team to get estimates in some form, plan work on a week-by-week basis, and oversee the work coming out of development.
Working with the team to determine how the work will be completed, Project Managers have the best visibility into milestones and overall timeline predictions. Those with more experience can nip scope creep in the bud without stalling development, communicating progress regularly, and producing functional, effective software releases regularly.
Building a Skilled Team
Most entrepreneurs lack the vast array of skills or the time to balance all of these roles. And most developers are writing code because they like logic puzzles, not psychology or marketing.
Finding the right skill fit is important when building your team. The Product Owner and Project Manager roles ideally bring two very different perspectives to ensure that you get the product you need when you need it.
While the Project Manager will work hard to ensure that the budgetary goals are monitored. Of project scope, timeline, or budget, your PM will ultimately want to know which are the most important to you and drive toward those values. This is project strategy.
Your PO will define that scope of work using user stories, technical planning, and other design and communication tools. This is product strategy.
Inexperienced software owners often fail to recognize the need for product strategy until they’ve launched their v1. Rebuilding software products from the ground up brings with it the wisdom of an experienced software owner, and an appreciation for the time and effort that goes into bringing a successful product to market.