Software development, product design, and product management form the triumvirate of a strong product team.
It’s far too common to see product teams divide these three roles into silos, with communication and collaboration relegated to weekly check-ins.
Working in an agile environment at Pivotal Labs we’ve discovered that these three roles must work in concert to deliver great products and experiences to customers, and iterate on features at the pace we expect from ourselves.
Separating these roles limits the capabilities, capacities, and, ultimately, the success of the overall product team. Within an agile project, the roles often blur: you find product managers involved in the design process, and designers involved in the code. It’s in those areas of overlap where the magic happens, where collaboration thrives, and where creativity and communication meet to solve the kinds of problems that can slow down a separated team.
No Falling Water
We’ve found that because of our agile and iterative approach, it’s sometimes hard for designers to plug into our workflow, and have adapted our design process to reflect the needs of an agile team. Design can’t be a waterfall process, where mockups and style guides are delivered at the end of a long design process and set in stone.
Once you get into the implementation process, new design problems inevitably arise. When the product comes to life, you often find there is more design work to be done. Sometimes even small improvements can have far-reaching ripple effects on the design as a whole.
The roles often blur: you find PMs involved in the process, and designers involved in the code
Since agile development is an iterative process—we continuously add features that can be shipped at any time—UX and visual design have to fit that rubric. On an integrated team, the product designers, product managers, and developers are engaged in an ongoing conversation and collaborative process. Product designers deliver mockups a couple of iterations ahead of the developers writing the code, creating more flexibility and minimizing rework.
Lending Clients Agility
Pivotal Labs been in the software development business for over 20 yeas, and have found that clients need integrated development and design services. After all, knowing what the product does and how it works are two different things.
We’ve also found that some clients require help with product management. To keep an agile project running at high efficiency, it’s critical that the product manager be in constant communication and collaboration with design and development. In the past, problems arose in projects where the client didn’t have the skills, experience, or bandwidth to participate effectively in the agile development process. In these cases, a PM is able to act as a proxy for the client, ensuring the client’s vision and goals are represented in the agile process and keeping the team running at peak efficiency.
In other cases, clients may come to us with a great product idea that lacks the level of specificity required to be “shovel-ready” for development. By offering these integrated services in an agile context, our team helps them crystalize their vision and see the product through to completion. In the Discovery and Framing phase, our product managers and product designers can work with the client to define, design, and test a product concept that delivers on the client’s vision, addresses customer problems, and is ready for development.
Day to Day
What does this integrated agile team look like on a day-to-day basis? The product manager advocates for the client’s stated vision and goals. PMs have an eye toward the efficiency of the project and the validity and specificity of the product definition.
Meanwhile, the product designer serves as the advocate for the end user, devoting time to work with users to design and test the user experience. The developers are writing the code that brings the product to life. We encourage lots of overlap between these roles. In reality, it works best when these three roles are working together closely, often sitting together, to hone in on delivering the client’s product vision.
Conclusion
No matter what form client engagement takes, the fundamental principles of agile development hold true, and conversation and collaboration with the client—and within the team—must carry through the entire product lifecycle.
To deliver excellent products that serve clients’ goals and meet users’ needs, product management, product design, and software development need to remain inextricably entwined during all stages of the agile software development process.
Image of speed motion courtesy Shutterstock