Beyond the Code: The Vital Human and Organizational Elements of Tech Success
So last week, we talked about how the customer needs to determine the technology stack if you focus on creating the right solution for the challenge.
Having a certain technology stack based on what is needed for the solution is, of course, not the only reason to choose a given stack. In the end also here there are multiple roads you could follow.
- What is the knowledge and skill set of your current teams? What fits our team?
- What about the mentality of the dev teams? Are they able and willing to learn and adapt, and most important fail?
- What about the leadership of the company? Is there a culture where you can fail?
- What about the budget? Adapting a new stack, learning, and failing, of course, all cost money.
Let's also be honest. Our clients are running a business, and businesses often need to make money to pay salaries and the new boat of the owners/investors. There are more things to take into account than following the almost romantic books and examples out there.
When we talk about the "romantic" part of nowadays ways of working, in my opinion, beautiful culture that these ways of working, like our beloved scrum, bring. A culture and mentality that is built upon trust, ownership, innovation, agility, and failing to learn, will in my opinion build stronger teams that have more perspective, are more confident, show more commitment, and as a result output in terms of quantity and quality (innovation).
But if your leadership does not have enough finances, it often leads to skipping important parts of the way of working or team setup, like PO, and QA. If the organization does not understand the way of working or is not willing to adopt it, or the dev team exists out of people who hide behind the way of working instead of embracing ownership, proactivity, trust, and teamwork. In this case, you will fail in the long term.
Congratulations on your "failed fast," but sadly, it is not the type of failure you wanted.
Can you solve this? Yes, of course! Start with being honest with everyone, including yourself.
Are we as an organization fit to develop software?
1. Do you have the right competencies?
Yes - OK, great. Please, continue. No - OK, great. Now you know, so buy your standard solution SAAS/PAAS, or hire an IT partner that guides you.
2. Do you have the right budget?
Yes - OK, great, check again. IT development is expensive! No - OK, great. Now you know, so could you maybe limit the requirement or standardize your processes so standard SAAS/PAAS will help you optimize. So kill exceptions!
3. Do you know what you need?
Yes - OK, great. Are you sure? Please, check answer b. below. No - OK, great. Then hire an IT partner that guides you and starts your project with a POC or MVP to prove your ideas make sense. Is there a market for your solution? Is the market willing to pay for your solution? Does it indeed optimize your processes limiting the cost to serve, or was it all a wrong assumption? These are all important questions. Here is our romantic frase applies - failing is not bad, but do it fast.
4. Are you able to explain what you need?
Yes - OK, great. You are probably the right PO, but do you have the time to help the devs? No - OK, great. No worries, just make sure the competency is in your dev team by hiring the right PO.
In the end, next to choosing the right technology stack, it is even just as important to have the right team, organization, competencies, values, and way of working to deliver value for the organization.