Perhaps you need a bit more Waterfall – 8 DON’Ts in Agile Transformation

(此文章中文版『敏捷八不』發表於 Funevo)

“When the Great Tao prevails, the world is shared by all.

The worthy and capable are chosen as leaders, trust is fostered and goodwill is cultivated. Thus, people do not only regard their own parents as parents, nor do they only regard their own children as children. The old are cared for until death, the adults are gainfully employed, and the children are nurtured. Widowers, widows, orphans, childless seniors, the disabled and diseased are all taken care of. Men have their proper roles, and women have their families. While people hate to see a resource thrown away, they do not necessarily keep it for their own use.

Not contributing one’s efforts is abhorred, the same as devoting them purely for one’s own self-interests. Therefore, conspiracies do not thrive; robberies, thefts and criminal activities do not occur. And so, there is no need for doors to be shut.

This is called the Great Unity.”

– Book of Rites(Liji), Great Unity

I was holding the role of General Manager in Titansoft when I first encountered Agile in 2014 – and I felt as though Agile (Agile development, Agile management) depicted an ideal world. Just take as an example, the most popular Scrum framework in agile methodology: there is no Team Leader in Scrum teams and projects are completed through the division of labour. Members have the option to choose the task they want to work on rather than having a supervisor assigning work. Team members are motivated and strive to perform, with results shared by the entire team. (Note: Product Backlog is decided by the Product Owner but the team determines the best way to perform the job)

In other words, it is similar to the presentation of an ideal society in communism which reads “from each according to his ability, to each according to his needs.”

“From each according to his ability, to each according to his needs.”

– Marx (Critique of the Gotha Program)

However, it was only after we took the first step when I realized that reality can be very different from initial expectations!!

The team gets caught in a decision making dilemma; without a Team Leader, a discussion about a small decision can drag on for three or four days. Without a supervisory role to communicate information, the team’s direction is not aligned to the department and company’s direction. Daily stand up meetings are just for the sake of putting on a show as team members work separately. Senior members feel that it is a waste of time to coach the juniors; whereas junior members feel that the seniors are just doing what they like instead of attending to their duties. All these, let alone the departure of Titaners who are not accustomed to the new way of working during this phase of transformation, created a period of turmoil in the company.

It was only after a year or two into our Agile transformation that the chaotic situation gradually resolved as we internalized the spirit of Agile. Nevertheless, it took an unimaginable amount of our time, attention and effort.

Reflecting on our past 5 years of experience with Agile, if it were possible for us to start all over again, there are some practices we might have changed to simplify the process, such as:

1. DON’T eliminate supervisors; Do let supervisors do the right things

When Agile transformation was first introduced to Titansoft, we eliminated the management position in teams – the team leader. The smooth transition was thanks to the understanding and support of Titaners who held those positions. In spite of that, this was a dangerous move as it would likely have incurred great resistance and led to serious consequences in most organizations.

If we could start all over again, we may not have eliminated all the team leader positions. Instead, we will provide all members the opportunity to take turns being the team leader and perform supervisory duties. Equipped with leadership experience, members would have a better understanding of the company’s operational situation and perspective. At the same time, it serves as a succession planning opportunity for senior leadership roles.

What are the responsibilities of a supervisor?

Aligning company goals and values, sourcing for talent, securing resources, helping internal and cross-team communication, supporting the growth of team members and making high-quality decisions about organizational system issues.

2. DON’T be an all-rounder; Do be willing to do anything when the team needs it

At the beginning of our Agile adoption, we hoped that members of the team can be full-stack developers, meaning that everyone can perform front-end, back-end and testing. Therefore, we eliminated the job titles of Front-end Developer, Back-end Developer, Testing Engineer, etc. and renamed all software development related job titles simply to Product Developer.

The advantage is without a doubt, the removal of the job function barrier. Yet, it created a misconception that everyone has to know everything, and everything has to be perfect.

If we could start all over again, we would still eliminate those titles but focus on contributing our own expertise, learning others’ expertise and helping out when necessary, rather than having everyone learn all skills.

What we require is for teams to possess an end-to-end skill set as a whole, instead of requiring everyone to be an end-to-end expert.

3. DON’T put the customer first; Do fully grasp dynamic market changes

Agile places great emphasis on collaboration with customers. As a B2B company, we are often at the whims of customers. As a result, we have forgotten that customer collaboration is merely one of the many possible methods to search for a good product-market fit which in turn ensures that our products are profitable.

If we could start all over again, we would pay more attention to the value generated after the delivery to customers’ requirements, review the effectiveness of each requirement with customer, and even consider meeting with the actual end users in the market instead of just receiving second-hand feedback from customers.

The customer is not the priority, generating profits for survival is.

4. DON’T make everything transparent; Do enable easy access to information required for work

In an attempt to implement organizational transparency, we made salary transparent by publishing the salary of 80% of our developers. In practice, there are many more details to be considered such as the publishing of only entry and middle level employees, adjustments for the same job grade to receive the same salary, and the withholding of publication of individual bonus.

In my opinion, the overall impact of salary transparency is neither good nor bad. It did not bring about much benefits and likewise, did not cause any negative reactions. Nevertheless, it ensures that supervisors do not have to worry about gossips surrounding salary. Besides this, we have numerous other attempts at information transparency.

If we could start all over again, we would pay more attention to information integration rather than focusing solely on information publishing. Too much information coupled with a limited time results in information overload and key information bring obscured. In my view, one of the supervisor’s essential responsibilities is to assist the team with filtering, organizing and translating of information.

Transparency is a means to improve effectiveness in order to achieve the organizational goal, transparency in itself is not the goal.

5. DON’T seek consensus; Do collect different opinions before making decisions

Zappos and Morning Star are notable for being highly Agile and liberal companies. Yet, they both retained the operational decision making role in their teams and departments. Agile organizational structures such as Holacracy and Sociocracy also have a specific role for operational decision making. In Holacracy, it is known as Lead Link whereas in Sociocracy, it is known as Operational Lead.

Upon elimination of the team leader position after introducing agile, teams were given free rein to self-organize and make their own decisions. Inevitably, the results were atrocious. Teams either took a long time to discuss without reaching a consensus, otherwise nobody took the lead in making a decision or pushed the blame claiming “it was the team’s decision” when problems emerged.

If we could start all over again, we would first introduce the concept of Consent decision making to our teams and separate the decision making system into governance and operational. Consent is applied in governance (such as developing game play rules) whereas the supervisor (or team leader, lead link, operational lead) would make the final decision after considering everyone’s opinions in the operational context (following the game’s play rules).

Never ever use consensus as not everyone has the same level of investment and risk tolerance towards the job. People with more impact on the company’s future should have a greater decision making power.

If it is not possible to apply consent decision making, choose autocracy over consensus.

6. DON’T be anti-bureaucratic; Do let the people doing the work design processes to solve problems

After exposure to Agile concepts, I envisioned an ultra-flat, non-hierarchical world.

However after reality starts to sink in and once the organization started expanding, some form of hierarchy is required for resource integration and scheduling to ensure the effectiveness of the overall organization. Hierarchy closer to the customer would handle more concrete affairs while hierarchy further away from customer would handle more abstract affairs.

If we could start all over again, our focus would not be on eliminating the bureaucratic system but on finding ways for more effective operation of the bureaucratic system, more effective integration of resources, smoother flow of information and greater authority for front line staff to service customers.

The problem lies not with a bureaucratic system rather, it is a bureaucratic mindset that is the problem.

7. DON’T spend on providing lots of training; Do reflect and grow from daily work

In my opinion, the purpose of an Agile transformation is to become a learning organization. In order to achieve that, Titansoft spent a lot of resources and time for Titaners to attend classes and enroll in training courses. This eventually led to the condition of “over learning” – being overwhelmed with new knowledge due to attending too many classes, reading too many books and listening to too many sharings without sufficient time to digest, absorb and apply insights gained to work.

If we could start all over again, we would place much more emphasis on solving problems at work, focusing on learning and growth through daily work instead of concentrating on providing opportunities for education and training.

Real learning would bring about organizational changes, otherwise, it is just an illusion of learning.

8. DON’T build spiritual camps; Do learn to face the cruelties of reality

During our Agile transformation, I realized that being Agile requires effective communication. Thus, I participated in an array of communication courses including Focused Conversation method ORID, DISC personality profile, Coaching, Facilitation, Satir Model and so on. Among these, the DISC and ORID courses have been introduced to Titansoft as part of the internal foundation training courses conducted annually.

Without a doubt, these courses have been of great help to my personal growth. However, in terms of Return on Investment (ROI) from a business perspective, I feel that besides the basic communication courses, other classes do not bring about any significant financial outcome.

To make matters worse, these courses end up creating a sense of “you need to care about my feelings” expectation in participants although they were initially meant to help set self-expectations rather than to make demand of others.

If we could start all over again, we would focus more on ways to resolve conflict, create healthy conflict and cultivate a culture of dealing with matters as they are and discussing them on their own merits.  This is not to say that we should not care about others’ feelings. We should instead, discuss work-related matters backed with data. Opinions can be expressed with a softer edge, but the reality is as such and would not change with our feelings of happiness or upset.

Surviving is the top priority, only when we survive can we have opportunities to seek for spiritual growth.

8 DON’Ts in Agile Transformation

Those are the Eight DON’Ts of Agile gained from my personal experience. I hope this will be a helpful reference for people who wish to adopt Agile into their organizations.

  1. DON’T eliminate supervisors; Do let supervisors do the right things
  2. DON’T be an all-rounder; Do be willing to do anything when the team needs it
  3. DON’T put the customer first; Do fully grasp dynamic market changes
  4. DON’T make everything transparent; Do enable easy access to information required for work
  5. DON’T seek consensus; Do collect different opinions before making decisions
  6. DON’T be anti-bureaucratic; Do let the people doing the work design processes to solve problems
  7. DON’T spend on providing lots of training; Do reflect and grow from daily work
  8. DON’T build spiritual camps; Do learn to face the cruelties of reality

1 Comment

Leave a comment