5 best practices for software development partnerships
Partnerships can accelerate technological innovation in agile, devops, and data science. Just make sure you start with a strong foundation in place.
“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.” —The Agile Manifesto
This principle was needed in 2001, when the Agile Manifesto was written, because most employees worked in cubicles, and many projects were managed as tasks and handoffs from one team to another. Waterfall-style project management methodologies had a high failure rate, which led a growing number of organizations to shift to scrum, Kanban, and other agile methodologies.
Organizations that adopted agile development often chose to collocate their development teams. In some organizations, this move to collocation created a preference to staff agile development teams with full-time employees. Subsequently, there was backlash on distributing teams, using external service providers, and relying on freelancers. It was easy to blame outsourcing for poor project delivery or a marketing agency for developing unsupportable code.
Today, collocation is not as much a priority. About 58 percent of companies support hybrid work, and most agile organizations use tools to manage backlogs, increase asynchronous communications, and simplify documentation.
Still, there is a general preference for hiring employees rather than contracting with third parties or seeking outside partnerships. I believe it is important for organizations to reflect on the opportunities and risks involved in changing that model.
Partnerships accelerate transformation
Businesses face significant pressure to improve customer experiences, modernize applications, and experiment with emerging technologies. Gartner reports that over half of digital initiatives lag CEO and executive expectations, and many tech skills are in high demand. The implication is that CIOs and other technology leaders need more options to scale development beyond hiring and training employees.
That likely means that agile development teams, devops organizations, and data science groups include a mix of employees, contractors from service providers, startup partnerships, design work from agencies, and engineering from small development shops.
Co-creation restructures organizations
To meet organizational goals, organizations must move beyond “us versus them” and even “us and them” mindsets regarding partnerships. Instead, the need is for an “us with them” co-creation model.
Co-creation is a collaborative and program management approach that removes employer, employment status, and organization hierarchy from how teams self-organize. The approach focuses, instead, on people working on defined objectives with agreed-upon methodologies.
Co-creation is about how people collaborate, and is not a legal designation around intellectual property, nor does it imply a formal joint development agreement. When signing up partners, the organization’s procurement, legal, and business stakeholders must specify these contractual considerations.
There isn’t a fixed rulebook for co-creation, so organizations must provide context and definition. Below are some recommended best practices.
1. Understand where partners provide a value add
Before partnering and defining a co-creation model, it’s important to understand a partner’s strengths and where they can contribute value to your organization’s priorities. For example, one partner may provide cloud architecture expertise, a second will develop data integrations, and a third will design and test user experiences. Understanding and setting expectations up front ensures the whole team aligns on roles and responsibilities.
You may be a part of this dialog if invited into reviews of potential partners, and if not, leaders should communicate the goals and objectives in selecting the partner.
“The key to successful co-creation is ensuring your partner is not just doing their job, but acting as a true strategic asset and advisor in support of your company’s bottom line,” says Mark Bishopp, head of embedded payments/finance and partnerships at Fortis. “This begins with asking probing questions during the prospective stage to ensure they truly understand, through years of experience on both sides of the table, the unique nuances of the industries you’re working in.”
Beyond asking questions about skills and capabilities, evaluate the partner’s mindset, risk tolerance, approach to quality, and other areas that require alignment with your organization’s business practices and culture. “When selecting a co-creation partner, it’s vital to evaluate the quality of the partner’s team culture,” says David DeRemer, CEO of Very Good Ventures. “Often, the impact of a partner’s culture on your own team can yield even greater long-term rewards than the scope of work that’s delivered.”
2. Document product vision and goals
Most agile teams use product visions to align product manager goals and roadmaps with a delivery team’s architecture and development practices. Product visions define customer and end-user personas, value propositions, success criteria, strategic goals, and other criteria all team participants must understand.
“Co-creation is about aligning first on a desired outcome and then leveraging individual superpowers to achieve that outcome in a new, improved way,” says Fred Schonenberg, founder of VentureFuel. “Crucially, you must understand the value of your collaboration to both parties and why it’s a tangible improvement to the tried-and-true.”
This last point is important because the best-performing partnerships provide value and learning opportunities to all participating parties. When people inside the organization can answer, “What’s in it for the partner,” that alignment helps fuel more energy into attaining the business’s objectives.
3. Define your organization’s expectations
Assemble the scrum masters, devops engineers, and data scientists from multiple organizations into a room, and you may need a Rosetta Stone to unpack each person’s view of agile best practices, how to implement deployment pipelines, or what naming conventions to use in databases.
Organizations should define their standard development methodologies, collaboration practices, and compliance requirements to set clear upfront expectations. On the other hand, it’s important to walk into co-creation programs with open ears, as partners are likely to have some best practices ahead of the organization’s methodologies, which are potential process improvements.
“Having a playbook is fundamental whenever co-creation is involved,” says Marko Anastasov, co-founder of Semaphore CI/CD. “The playbook is essential because it levels the ground for everyone and creates a unified interface that eases collaboration. For the playbook to be practical, it must be constantly improved and updated as processes change.”
4. Shift to openness and transparency, but secure critical data
To eradicate the us-versus-them mentality, consider shifting to more open, feedback-driven, and transparent practices wherever feasible and compliant. Share information on performance issues and outages, have everyone participate in retrospectives, review customer complaints openly, and disclose the most challenging data quality issues.
Anastasov takes the openness mindset one step further. “The most powerful approach to co-creating a new product is building it publicly,” he says. By embracing transparency and involving your audience, you foster trust, gain valuable feedback, and accelerate the path to success.”
The one caveat to openness practices and transparency concerns data security and system access rights. Most organizations follow separation of duty principles, require data masking of all datasets with personally identifiable information, and define strict access policies to customer data and other confidential information sources. These compliance factors are important when signing up and working with partners in a co-creation model.
5. Learn from experiments, but hold each other accountable
Agile teams aim to define “done” with acceptance criteria, so there’s a shared understanding of when a user story meets requirements. Teams also try their best to meet sprint commitments and deliver on customer expectations when deploying new capabilities. But things don’t always go as planned, and many teams use sprint retrospectives and adopt blameless postmortems to ensure people focus on improvements and avoid finger-pointing.
These are key practices for teams to survive the pressures of meeting delivery dates and customer expectations. Organization leaders should extend these approaches to co-creation teams.
But organizations should also hold their partners accountable for non-negotiables by documenting required behaviors, quality specifications, service level minimums, and other expectations.
The bottom line is that organizations that can’t find ways to partner and collaborate with third parties will struggle to keep up with the pace of transformation. Adopting a co-creation model can offer significant advantages compared to a fully in-house or a completely outsourced approach, but it requires a commitment from everyone on the team to collaborate on goals and methodologies.
By InfoWorld | https://www.infoworld.com/article/3697131/5-best-practices-for-software-development-partnerships.html