The first article in this series gave you an introduction to Extreme Programming (or XP). Now, we’ll show you how Uzinakod’s values match XP’s.
I’m sharing this perspective based on my own experiences as a member of the company for nearly 2 years: the projects I’ve worked on, observations I’ve made on other projects, and thoughts on the company overall.
From this standpoint of personal, on-the-ground impressions, we will take a look at how each of Uzinakod’s values match up with XP’s.
Communication
At Uzinakod’s heart is a robust sharing of knowledge. The founders, as developers, knew from their own experience that sharing knowledge was of paramount importance. They started the business as partners and grew into a whole team.
Pooling knowledge was a key factor in building the team’s confidence and trust in each other. Communication was critical to accomplishing this, and to clearly establishing the company’s roadmap.
Every day, developers interact with people in a variety of roles: Team Leads, Product Owners, QA Specialists, IoT Specialists, Business Analysts, Testers, Clients, AI Specialists, and others all share information regularly. I’ve seen no barriers to communication at the core of Uzinakod’s software practice. Information is shared at all levels, and knowledge is a common good for everyone.
Obviously, like any company, we have flaws. But the great strength of our everyday operations are the openness and accessibility at all levels to our thoughts and feedback as members of the team. It’s satisfying to have open, listening ears trying to understand and help. Communication flows freely both ways: company to employees and vice-versa. This flow of communication creates an ever-increasing sense of trust and belonging.
My own experience has been one of total support while practicing my craft. Whenever I’ve needed help or advice, numerous people were there to lend a hand. Perhaps XP’s most important value, communication is a mainstay at Uzinakod, and one of its strongest assets.
Simplicity
Simplicity is hard to achieve. It’s relatively easy to make a complex thing, but extremely difficult to craft something simple. At Uzinakod, we prize simplicity at every level. We try many approaches, and we’re free to give them a shot, but we always prioritize the simplest methods possible.
I’ve worked on projects that were in dire need of simplicity. That’s what we brought to the table. Uzinakod’s professionals are able to craft software with simplicity. We prefer to offer a direct solution that works as advertised, rather than a complex, do-everything promise that doesn’t. Our team devises an easier path to achieve more efficient results, delivering you greater value.
It’s been my experience that, as an employer, Uzinakod places the same premium on simplicity. Rules and processes are short and simple, getting straight to the point. This results in considerably more software development value for clients. By emphasizing simplicity, Uzinakod crafts solutions that are both useful to clients and manageable for software development professionals.
Feedback
“Feedback” can mean many things, but in XP we mean feedback on our work. Fast-paced feedback via tests, daily client engagement, and so on. Central to Uzinakod’s method of software creation is keeping the client at the heart of every team’s design.
The client is there for the whole process, fully aware of where we’re going and how we plan to get there. Analysts and testers are also involved, providing feedback about what we’ve done, giving advice, and offering new ideas.
Feedback is almost instantaneous at Uzinakod. If something is done, there will be feedback on it. Code reviews are another great way to get input as quickly as possible. As a fast-paced coup de grâce, unit tests provide instant feedback on all our activities. These in particular become a daily reality for employees, and we mentor those not used to it.
Last but not least, Uzinakod’s leadership is always present to offer guidance. This could be a direct intervention (should we need it for some reason), or more internal recommendations on our work methodology. This commentary is good for increasing our relationship and sense of trust, letting us know clearly what we can expect from Uzinakod, and what they expect from us. (Usually, it’s “Be yourself!”)
Once again, another of Uzinakod’s core values matches one of XP’s. Feedback is essential to evolution, both as professional individuals and as an organization.
Courage
Courage in XP is about doing what is right. This is perhaps the hardest part of the software developer’s profession. And this is even more the case for a company, because doing what is right means balancing all interests at the same time: the shareholder’s goals, the client’s goals, the suppliers’ goals, and the employees’ goals. Getting all these actors to cooperate on what is “right,” knowing full well one or more will not be happy about it, is the very definition of courage.
As with all the examples in this article, my own experience reflects this. Courage became critically important in one memorable project I worked on. Without getting into specifics, let me explain.
From time to time, as a company, we face complex situations that affect different aspects of a project: very tight deadlines, team shifting, budgetary constraints, last-minute requests, and sometimes unavoidable conflicts. This happens to everyone, and at Uzinakod, I have never felt more supported and helped in such a delicate situation. The fact is, Uzinakod was prepared to make a hard move, even with potentially massive cost, because it was in the best interests of the team.
Long story short, we didn’t need to make that move. Working together as a whole company, we were able to find another solution that didn’t require sacrificing our values. Nevertheless, at that moment I knew I had joined a company that not only talked about doing the right thing, but actually had the courage to do it. And that, in my experience, is rare.
Further, on the level of software development I have seen many changes that needed courage to be made. Applying never-before-tried software methodologies and being willing to mentor each new developer on the team was not audacity—it was courage. I saw it, too, and this kind of courage skyrocketed my capacity as a developer.
Respect
I’ve seen and lived through a lot as a professional. “Respect” is a word you see everywhere in job offers and as marketing buzz. Often, I’ve seen respect being preached, but not really practiced. On the flip side, I’ve seen disrespect in so many ways that I couldn’t get into it here without writing you a whole book.
That said, of all the values Uzinakod shares, respect is undoubtedly the one that best represents the company and its members. What’s more astonishing, we don’t even talk about it! We take it for granted. It’s rooted in every action we take. And this comes directly from the shareholders.
People tend to gather around converging values, which forms part of the selection process. They evaluate people, rather than technical skills. Values, more than knowledge.
Conclusion
Although it was founded long before I started my job, I had never heard of Extreme Programming. I had felt for years that something was wrong in my field without being able to put my finger on it. I already shared the values and principles of XP, hoping to see the day when its practices would become part of my daily life… until I found the Uzinakod team.
It would certainly be a coincidence if we were all able to follow a methodology without even being aware of it. That is why I use the term “extreme coincidence.” It is simply the natural evolution of good practices, which are developed from human values and basic professional principles, and which lead us to be better professionals.
Without yet realizing it, the company had the courage to do the right thing and stay on track. No one could describe what we’re doing better than Kent Beck himself:
“XP is giving up old, ineffective technical and social habits in favor of new ones that work.”
Kent Beck – Extreme Programming Explained – 2nd Edition