Since then, I’ve had a lot more experience managing products and projects myself, and there were quite a few things that we could have done differently from the outset that would have provided a more desirable outcome from the start:
1. Start Your Project Off Right
Something we didn’t have at the beginning of the neverending project was a clear plan that helped us understand what the product and the users needed to accomplish.
We needed something like the Strategy Sprints we do at Very, where we work to define the business needs, the end-users, and the solution we're bringing those users. While the end result of a Strategy Sprint is a phased product roadmap, having a definite plan doesn’t mean we can’t be agile or adapt to necessary changes. In fact, it helps us to make sure every step we take and every hour that we bill is driving towards the right goals.
During the Strategy Sprint, we ask a lot of questions that may seem relatively basic, but we ask them because we can’t make assumptions. Making assumptions might be easier and faster in the short term, but in the long term, it will more often result in products that don’t meet the needs of the users or the business.
If we’d started off our project with a Strategy Sprint at my first job, it would have saved us a lot of time, effort, and sanity.
2. Document Your Knowledge and Processes
Another major challenge we encountered during the neverending project was that there was little to no documentation of important knowledge or processes. Because so many people had been at the company for 10 years or more, there was a lot of hidden tribal knowledge that, as a green developer and new employee, I just didn’t know.
My advice here is this: remember that your best developers won’t be around forever and that the future of your organization depends on some of the most junior in your company. If a junior programmer is underperforming, ask why. Are they set up for success now and in the future?
In addition to not having robust documentation of knowledge and processes, our team working on the neverending project also wasn’t documenting all of the changing requirements. We had no reliable record of how the product was progressing.
The takeaway here, of course, is to write things down. It’s a simple piece of advice, but it makes all the difference.
3. Look at Your Team Structure
In our case on the neverending project, the best solution was to bring in a business analyst to handle the gathering of requirements and maintain accountability with the product owners. That’s because we had only one or two people doing everything — requirements gathering, developing, and more. The team structure wasn’t set up to make people successful, so things were slipping through the cracks.
If we had been more thoughtful about team structure and individual responsibilities upfront, we likely would have turned out a better version of the product faster. This doesn’t always mean hiring someone new or outsourcing work — it could just mean shifting your team’s priorities to make sure the highest-impact tasks get done.
4. Get Close to the Users
At one point in the neverending project, when miscommunication was at an all-time high, I moved my desk to the other side of the company’s five-building complex to physically sit with the team who needed the product, to watch them work and understand what they were really looking for.
It can’t be overstated how important it is to really understand what users need in a product, and that often requires actually talking to those users and observing their day-to-day activities.
Sure, we can gather requirements from the person who’s managing the users, but managers often only have a high-level view of what’s really going on. (They made a whole show about this called Undercover Boss.)
At Very, we’ll often send product managers and developers directly into our clients’ offices to observe and have these critical conversations, resulting in products that feel intuitive and drive results.
Your Next Project
This list encompasses just a few of the major project inhibitors I’ve encountered, and how we proactively address them at Very. Overall, we choose to believe that every person is doing their best given the tools and information available — so we work to make sure that everyone is set up to do their best work.
If you’re looking for a development team who’s been there, done that, let's chat about your next project.