One of the biggest challenges of modern software creation is having multiple team members — product managers, UX designers, data scientists, software developers, QA — working in parallel rather than sequentially. The world would be a much simpler place if the Product Manager completed a detailed requirements definition, then handed it off to data scientists who prototyped and refined their algorithms, then handed off to UX designers to create the full design, who then handed it off to development to build, who then handed off to QA for testing.
Unfortunately this is not the world we live in. Every software initiative is a race to getting value into the hands of users, and building sequentially is not an option.
Moreover, teams are continually learning and need the ability to iterate. Product managers keep getting fresh market intel that needs to be injected into the product, data scientists keep making breakthroughs in the predictive algorithm’s accuracy, designers keep refining based on user feedback. The name of the game is agile, iterative, and mass parallelization of teams.
But how do leaders run all of these very different teams that depend on each other in parallel, and still deliver to market fast?
Start with a Strong Product Vision
Software leader Amazon advocates making the vision come to life by literally illustrating what it will look like when you have succeeded. Document a press release, FAQ and portrayal of the customer experience imagining the product is already in the customer's hands. This gives the team, stakeholders and the market a common, detailed and exciting vision of where we're heading.
This vision must be specific enough that it empowers each team to use their own judgement in developing their piece of the product. The most common pitfall here is a wishy-washy vision that does not actually inform teams on the end goal. Then chaos reigns.
Build a Demo to Make The Vision Come Alive
No matter how well you document the vision in words, teams will understand it so much more deeply when they can ‘see’ it.
UX Designers are experts at wireframing UI designs in a way that illustrates the concepts and user journey vividly. There are also many advanced UX prototyping tools such as Sketch, Axure, and Balsamiq that can create visually impressive prototypes in a matter of days. Building a demo that truly illustrates the end state to the whole cross-functional is worth the upfront investment in time.
Ensure Research and Production Teams Walk a Mile In Each Others’ Shoes
The secret sauce of many modern products is the unique underlying algorithm. As a result, you usually have 2 teams: the research team (data scientists, UX researchers) that is constantly refining the algorithm, and the production team (data engineers, UX designers, developers, QA) that is delivering the algorithm as a valuable user experience. Sometimes the method of communicating the requirements from research to production is by simply giving production the researcher’s Jupyter notebook, or a set of Python or R scripts. If the prod team redevelops and optimizes the code for production while the research team continues from their base notebook, you have the problem of versioning the code and identifying changes.
It is crucial to ensure research understands the goals and challenges of production, and prod understands the goals and challenges of research, as they may otherwise underestimate the risks of each other's parts as they work in parallel. Give the research team production requirements so that the data scientists share in the compromises made with engineers. Conversely, have the data scientists design tests and test data for production. Ensure 1 program manager that has a deep understanding of both sides is in the trenches with them both.
Don’t Reinvent the Wheel - Use Established Patterns
Designers and developers used to spend a lot of time working together to figure out how to implement a particular UX design. Developing custom UI controls with rounded edges could take several sprints. Today there are established UX patterns and UI control libraries that allow UX and development to work in lock step. Unless the business value of your product relies heavily on a unique user interface - go with the established patterns. One prerequisite - you need a seasoned architect and seasoned UX designer at the helm who can enforce the use of the right tools and patterns.
Software Development: Predictability Is Key
When you work in 2-week sprints and the product manager has to make tough calls on what stories go into the next sprint, predictability is key. The developers’ ability to estimate quickly and accurately becomes critical. Many development teams don’t place enough emphasis on estimates, they plow ahead and hope for the best. The teams that spend the extra time continually reviewing and improving their estimation skills - including time for non-development tasks like learning, refining requirements, unit testing, etc. are able to get more predictable. Teams are able to make smart decisions only when they know the time impact of each decision they will make. This is what software legend Joel Spolsky called Evidence-Based Scheduling. To this day, it’s the essence of true agile planning.
QA Strategy Upfront
Skimping on QA strategy, test environments and real-world testing are classic software development pitfalls, and makes parallel development grind to a halt when QA bottlenecks actual delivery. This problem has been amplified with modern AI-driven products. The biggest challenges in commercial success lie in the substantial delta between the test environment and test data, and the highly variable nature of the field.
Pitfalls run the gamut: data is not a large enough sample size or not representative of reality, sourcing data proves to be too expensive, QA environment is not representative of reality or ‘shared’ with development environment, QA team doesn’t have experience with true load testing, too much reliance on manual testing rather than upfront investment in automated testing. Careful modelling of the different data sources and their attributes - features, availability, timing, anticipated errors and drift - can lay the foundation for the right QA strategy: what to test, where to test, and how to judge success.
QA strategy also needs to factor in the goal of the release. What is a showstopper? If the goal is getting value first to market even if there are glitches, a showstopper may be different than if the release strategy is all about fulfilling a brand promise to thousands of users.
Create a Culture of Transparency and Trust
We would be remiss if we didn’t include this obvious yet primordial factor: team members must be constantly communicating, and bad news needs to circulate as fast as good news. Teams that are siloed and hesitate to communicate will naturally move more slowly and make wrong decisions. A major part of the CTO and VP’s job is to create an environment of transparency and trust. Part of this is knowing that, as a team member, I can make mistakes and announce a failure and that is ok, even praised - as long as I communicate it asap.
Buffer Time For Creative Failure
Finally, and perhaps most obviously, achieving results usually does not happen as a set of linear steps that can be measured.
A machine learning model may jump from 50% to 70% accuracy quickly, but getting to 80% may take much longer, or not be possible at all. Or to get there, the team may have to scrap some of the work and go back down to 50% before it can go back up. Similarly, with one data source the algorithm might be highly performant and accurate, and with another it suddenly drops.
You also need to allow for some buffer for UX designers to be wrong. Good designers are trying to solve problems much like the scientific process—they come up with a hypothesis, in this case a design, and try to prove it through prototyping and usability testing.
Metrics-focused management teams who are used to linear progressions can find these spiky results jarring. Metrics need to be part of the equation, especially before making any commercial release decisions, but they need to be accompanied with qualitative insight, lots of communication, and flexibility to pivot from the original plan if things are not progressing as expected after a certain time.
The Key Ingredients
Today’s software market holds big rewards for teams that can get value into the hands of customers. But as any CTO or VP Product Management knows, it is truly a race to get there, and one that involves coordinating many different teams in parallel. The best teams deliver fast because their leaders ensure: