As custom software developers, we’ve solved a wide variety of problems for hundreds of clients over the years, and one thing we can say for sure is that no two clients are the same. On one hand, we love this aspect of our work because the variety
keeps things interesting and challenges us in new ways with each new project.
On the other hand, the challenges can sometimes be daunting. As unnerving as this can be, we’ve learned a lot about how to be successful while navigating the uncertainties of working with a diverse portfolio of clients and projects.
One of the most important things we’ve learned is that, while it might be easier and faster to just divvy up the work and let each team member go heads-down to get it done, the best results come from taking a collaborative approach with each project.
What Collaboration Isn’t
Collaboration isn’t putting a bunch of people in a room with a whiteboard and a directive to solve a given problem. It’s not having an open office space in an effort to facilitate open communication. It’s not the business stakeholder
and the project manager mapping out a project plan. And it’s not the “expert” (aka, the loudest person) in the room dictating how things will be done to a table full of people too intimidated to question that person’s logic.
What Collaboration Is
True collaboration involves a team of people with diverse experiences, perspectives, and skills working together to achieve a clear objective in a way that will bring about optimal results.
More than people’s mere presence in a room, collaboration requires that each participant trusts and respects the individuals on the team; listens actively and empathetically; shares openly; keeps an open mind; communicates clearly; encourages productive
dialog; engages with ideas objectively, not judgmentally; and remains focused on meeting project goals.
More specifically, for us, collaboration looks something like this:
- Having conversations with multiple stakeholders to validate our understanding of the problem to be solved or opportunity to be captured, and the goals to be achieved.
- Consistently facilitating conversations among the members of the project team, which is made up of a project owner (PO), UX/UI designer, developers, QA tester, AND—importantly—one or more client stakeholders to define and prioritize the
work to be done to meet project objectives.
- Asking lots of questions and sharing strategic and tactical recommendations with clients based on the answers they provide.
- Having clients and end users use the system being developed as it’s being developed and actively seeking their feedback.
- Sharing project progress and financial updates consistently and often.
- Having hard conversations in the name of transparency.
- Celebrating the team’s success together.
Our collaborative approach is a big part of the value we bring to clients. It helps ensure clients are never surprised by the system they get or what they paid for it and that end users get a product that makes their lives easier or better in some way.
Even so, not every prospective client is comfortable with how we work for various reason, and that’s ok. Maybe they have it all figured out and just need someone to execute on a set of pre-defined requirements, or perhaps there are corporate or
organizational constraints that limit the value of this type of approach.
Whatever the case, we’ve learned that we fit best with clients who value our expertise and input, and who understand the benefits of us questioning things and pushing back for the sake creating something better.
When we’re able to collaborate closely as one team with the client by our side, it doesn’t matter that the client or project is different from what we may have done before because we’ve shown over and over again that, together, we can
tackle almost anything.
Have a project you’d like to collaborate on? Reach out.