5
The art of cooperation
Bespoke craftsmanship, credits: XSolve
How to cooperate?
When a decision to outsource is made, there is the matter of how to work with a subcontractor. The goal is to make your project proceed in the right way. Cooperating with the Partner benefits from understanding and trusting each other and not hiding problems. Properly built cooperation is an important factor in achieving dedicated business goals, so it's important to find the right way of cooperation.
Product Owner might be the incarnation of the Partner or may work on the developers' team side. Product Owner is like the Partner's eye, ear, and hand. Thus, the Product Owner's principal task is to take care of the business like it was their own. That's why this is the first person with whom the Partner needs to build a relationship wisely.
If it is possible (and it should be), the Partner should meet Product Owner face to face, it would allow the PO to better represent the Partner's point of view. However, even if for some reason it's impossible to meet directly with the PO, there are many ways/tools of constant communication with the PO and the entire team.
A good opportunity to meet the team and to familiarise with them is Project Workshop13 .
Project Workshop is the analysis of the Partner's requirements, vision of the product, its needs and expectations. Does it have an impact on the business value? Of course - the better the team understands the Partner's needs and requirements, the greater is the chance for the realisation of business objectives. There's no doubt that well thought software brings the desirable benefits. The first step is to find the right way of cooperation.
Software development is a complex and multistage process extended in time. The process binds the cooperation of many people that have to go in one direction. Therefore, all participants must have a sense of community.
If you let one another to know your goals, it will be a successful and satisfying journey for all of you.
Cultural fit
We must keep in mind that the team is not a set of robots, but a bunch of real people. A team is more than the sum of its members. The Partner should treat the team as confident co-workers. Most of programmers are very ambitious, and if the Partner gains their reliance, they'll do what they can best and with high commitment. Cooperation should get smoothly through every Sprint and finally they should become well-oiled (moisturised) machinery that works on high speed with high quality. In a few Sprints they are going to work almost without any needless words. But most often it takes some time to upgrade on this level of cooperation. Obviously, it's easier to work together if the Partner and the provider are culturally aligned to each other.
Some of these aspects of cooperation matter a lot and must be highlighted:
for example, fluent English and common culture. Insight in the technical and non-technical universum has its importance as well. Do the Partner and the developer have the same ground, laugh at same jokes, can they tackle challenges from the same perspective?
How to gain trust?
As in any business arrangement, outsourcing is risky, and here it's a risk for both parties. The process of building dedicated software is quite complicated and multistage, thus the trust means the desired values. Trust requires a lot of effort and commitment from both sides.
Very often at the early stage a business project doesn't have any specific requirements. Building software is like a journey to a destination you might know, but most often you meet unexpected obstacles and barriers, and sometimes there's a need to change or to choose another target. Business environment is dynamic, so it's worth building a team able to adapt flexibly to upcoming challenges. Moreover, a committed team is ready to give advice, not only of technical, but also of business nature. Flexible project management is one of the most useful and advantageous attributes of the Agile approach.
To work with the PO and the team is to create the optimal process and habits of working. The other side is to not be dominated by the process. Of course, everyone has to respect commonly established rules, but rules are to serve the realisation of the Partner's goals, not vice versa. Making bespoke software that is founded on specific business assumptions one needs to stay
open-minded and aware to provide flexible responses to problems which appear. It is really worth reacting together. In addition, a proper relationship with the team allows the Partner to spectate the creation of the project at every stage: nothing is hidden from the Partner's eyes. A well synchronised
team becomes acquainted with project and the Partner can rely and count on them.
So, how to gain trust? Developers should meet with the Partner in person, visit the company. Shower the Partner with questions about the business and the project itself. The more questions will be asked, the clearer the purpose of making the software will become. If the developer doesn't ask, there might be a reason to be concerned. The next step is the practice of Scrum - holding daily meetings and talking over Sprints is a must. And finally, it's always best to check the developer under the light of velocity of story points.
A developer should always under-promise and always over-deliver.
How to choose the right cooperation model?
There are several kinds of cooperation models. Let's take a look at the three