In the second part of our series on Nifty R&D, Product Manager Ben Richardson delves into the operational processes that enable PwC Australia’s first online offering to stay fully updated.
To the outside observer, the Nifty R&D team’s internal operations may look haphazard. We often adjust our weekly plans, continually shift our development priorities, and change the website several times a day. That said, the product team is perfectly synchronised, Nifty R&D’s user base is growing week-on-week and everyone – from our team to our users – seems happy.
What’s actually happening is that we’re iterating our feature roadmap relative to customer feedback and usage data so quickly that it would be detrimental to stick to weekly plans. Half-built features are actually sets of micro features, each providing value to the end user regardless of whether it is ‘finished’ or not, and Nifty R&D is constantly optimising its product/market fit.
We couldn’t do this without some core philosophies in place to keep our four-person team grounded.
Nifty R&D philosophies
Consider your communication method
Push communications (automatically delivered by a sender) require attention regardless of whether they’re relevant – such as having to open and review an email you’ve been CC’d on. Pull communications means you access information (such as from a central inbox) whenever suits.
We take the best of both by consolidating all communications through a chat app that filters conversations by discussion topic. It only alerts users when they receive direct messages or are mentioned in a discussion, while still allowing access to all discussions if wanted.
Build small, release small
We launch a new update of Nifty R&D two or three times a day. This can only be achieved by breaking down features into tiny segments, each of which independently provides a quantum of value to the end user.
We do this by considering the complexity of each feature to be built, then breaking it down into a series of micro-features, each of which are simple to understand and implement. This ensures an increasing rate of user acquisition and retention because improvements are constantly being made. We’re currently averaging over 50 micro-features and updates per week between two developers.
Stay focussed and track results
Every feature added to the Nifty R&D roadmap is framed as a problem that affects a user. It’s then triaged against the opportunity cost of not implementing it, which we determine through a combination of user feedback, personal experience and analytics of historical usage.
Before developing a feature, we work out a target to justify ongoing development of that feature. Once it’s live, if it doesn’t make the grade after a set time period, we remove it from the roadmap entirely. This maintains a focussed user experience.
Weekly sprints, daily stand-ups
Every morning the entire team holds a daily stand-up in which we spend less than a minute each describing what we did in the last 12 hours, what we’re doing in the next 12 hours, and highlighting any bottlenecks. We also do this with weekly ‘sprints’, in which we review how and why the previous week’s priorities changed.
This approach keeps the team focussed on their individual tasks as well as the current week’s priorities. It also allows the team to openly address any issues and provide input on colleagues’ tasks.
Transparency creates quality
Allowing all of our team to access everything from communications through to financials provides broader context to each team member, enabling everyone to get behind a single vision and understand their individual contribution relative to the bigger picture.
This approach eliminates the opportunity for roles or titles to constrain progress. It empowers everyone to independently solve problems to a higher degree of quality than if context was proxied through a hierarchy. I also believe this to be a fundamental ingredient for fostering a supportive team culture.
Stress is a signal
Stress causes bad decisions to be made, which leads to poor quality code and technical debt. We avoid it at all costs.
The biggest driver for stress is time constraints. As product manager, I try not to set deadlines for feature development. This way, if one of my team is stressed, I can infer that it’s because the feature is too complex to be solved in its current form and needs to be broken down into simpler, smaller segments.
Bringing our philosophies to life
We can’t stick to these philosophies all of the time. But they are the fundamentals that Nifty R&D was built on. Underpinning the success of our philosophies is the right team. Without employing people that appreciate your beliefs, you have already given your project a glass ceiling.
Mark Zuckerberg frames it perfectly with his ethos: Only hire the people you would work for.
In part three, we will look at the technical delivery of Nifty R&D.