There is a lot of software development companies and software development teams all around the world that you can choose from and work with. Unfortunately, not all of them are able to provide you with a true 5-star experience.
This analogy is pretty the same as with the hotel services. When you travel you can easily find a place in every bigger town to lay your head , but not all of the places will offer you a 5-star experience. I used the word experience not without a reason. 5 stars next to the hotel name are used to let you, dear customer, know what type of experience could you expect there.
What does it mean: a “5-star experience” in terms of the software development team?
At Pragmatic Coders, we performed a simple exercise borrowed from Brian Chesky – the founder of Airbnb.
Brian used this thought experiment to define the best user experience from buying a trip and using Airbnb services. The process of figuring out what a 1-2-3-4-5-star user experience could be was very educational. He went beyond 5 stars and we did the same… Thinking about 6-7-10 stars clients’ experience is eye-opening.
Just to give you an example, the 11-star experience from your trip would be: “You show up at the airport and you meet Elon Musk who is saying: You’re going to space.”, for comparison, a 1-star experience from your trip would be: “You arrive at the booked apartment and no one is opening the door, and actually, you do not have a place to stay”.
Check more here: https://mastersofscale.com/brian-chesky-handcrafted/ (Time around 10:35).
The 1-star software development team
The exercise is pretty easy. Try to imagine the worst experience that you could have with your software development team. It could be that you were misled and you knew just after the start that they will not deliver anything. Or that there is no team at all – maybe a salesperson who pretends that he will be a single point of contact, and the team will start working right after you pay in advance. Or maybe there is a team but they do not have competencies to deliver working software. Maybe they work on something but they do not show any product increments, and they do not see this situation as a problem and do nothing to improve it after the feedback. This is probably your 1-star team.
I would never wish anyone to work with such a team, but unfortunately, I know that such situations happen all the time all over the world.
What about a 2-star development team
There is a group of people who work on your product. They do not care and do not understand your business and its goals. Technical solutions created by them are sometimes working, but they are naive and hard to maintain in the long term. They look at the business people as at the necessary evil and try to avoid any contact with them. The team is unable to make a consensus together. They do not react to suggestions and advice from the outside of the team. Things are usually overdue (usually because of over-engineering or misunderstanding). They are using new technologies just to learn it, not to solve business problems. This group never asks for your feedback. They avoid face to face communication and contact mostly via text messages and emails.
Does it sound like a 2-star experience? In a 2-star hotel, you can spend a night or two but hot water might sometimes be a problem, you won’t probably eat dinner there, and cleanliness might not be the best too. It works fine, but would you really like this kind of experience? Would you like to stay there for a month or two, or spent your entire vacation in a place like that? Would you be really happy and satisfied?
3-star experience from working with a software development team
The 3-star team is able to provide estimates that make sense and in most cases, they can deliver on time. Sometimes achieving consensus takes more time but in most cases, they make final decisions that are not so bad. They deliver high technical quality software. Team-members know who the users of the product are and why they use the product. They need a lot of attention from the business to achieve the right goals but they add value for most of the time. They sometimes suggest easier and simpler solutions for the problems and goals but it’s not something that is typically expected. When they make a mistake they usually reflect on it and prepare to implement an improvement.
It sounds like a 3-star experience. This is the stage on which most of the teams are right now. It is quite OK. Like with a 3-star experience from your accommodation during your trip. You can expect that the room will be cozy and clean, maybe there will be a decent breakfast served at the hotel’s restaurant and the service will be nice. In most cases, you will sleep well and rest. The value will be relevant to the costs and most of the time you will be satisfied. A 3-star experience, both in terms of the hotel as well as with the software development team is fair enough and usually, you do not need anything more than that.
What would be a 4-star experience?
Even if 3 stars are quite ok, and most of the clients are happy with such services, we decided to move forward and meet the expectations of more demanding clients’ too.
When we were thinking about this and brainstorming around this idea we came to a conclusion that a 4-star team would be a team that delivers the first version of the product in 2-3 months to quickly validate the business hypothesis, minimize costs and risk. They probably will meet the system’s users at least once and will speak with them about their needs and problems. Such developers understand the business values and are able to explain them to others. They are also able to identify missing competencies within the team in advance and they support getting new developers from the market.
Such a team understands what parts of a product are critical and which are not vital, so they can choose priorities and optimize costs and risk. They are always aiming to increase the business value for the client. Developers are often suggesting simpler solutions for particular problems and functionalities. The team delivers business value fast, early and incrementally assuring high quality and transparency. They achieve consensus quite fast (an hour at most). Everyone in the team understands the business language and uses it.
It is like with a 4-star hotel. You should expect more than from a 3-star apartment: sauna, jacuzzi, professional service, and great food in the restaurant. Your experience should be better and way beyond just “sleeping well”.
5-star development team
5-star teams are unique and rare. There is a chance that you have never met them yet. As not all of us had a chance to stay at a 5-star hotel. Not every team will be ever able to provide a 5-stare experience for their clients or stakeholders.
When thinking about such a team and a 5-star experience you can probably define them in the following way. They are always looking for better, faster, simpler, cheaper solutions. Developers are continuously and proactively suggesting changes in the requirements that maximize ROI and figure out together with you what are the greatest opportunities. Such a team understands what the product or business is making money on, and they are optimizing this feature all the time – usually on their own without any guidance. They are monitoring and measuring how users use the system so their decisions are based on the data. They talk to the system users often to better understand their needs and plan future development.
Although such teams are pretty rare, we had a pleasure to work with some of them in the past and also build a few of them in Pragmatic Coders.
Beyond 5 stars. What would be a 6 or 7-star experience?
A 6-star team would probably look as follow. The team would define proper goals and achieve them on their own. They would be able to scale up and onboard new competencies on their own. Such a team would be also actively involved and participate in sales, marketing, and other “business” activities. They would be so independent and competent, that business people would not need to think about product development in the short term.
Such teams are rare but still achievable. For example, some small startups lead by fully engaged founders, especially at the early stage, have the features of 6-star teams.
In terms of 7-star, I could think about the team that is able to create vision and strategy for the product and execute it. They would also be able to execute decisions such as scaling the product to another country etc. on their own. Still, something that could happen in a small startup. What would be 8-star? What about 10-11? Leave your ideas in comments! I would love to learn your thoughts.
How many stars your software development team is?
At Pragmatic Coders, we decided that our teams need to provide at least 4-star experience for our clients when always aiming to achieve a 5-star level. Our company culture, management processes, recruitment, training and everything else is already designed to meet this goal and provide such value. So far the feedback we receive from our current clients shows that we are where we planned to be. More to come.
In the next articles, we will probably share more details on how do we actually build 5-star development teams. How we asses our teams, how do we collect feedback, how our recruitment process looks like, etc. Those are the topics we will share soon.
Stay tuned and let us know what do you think about 5-star development teams. What your 5-star team would be? What about 8-10 stars and more?