Dev Culture Hacking & Transformation Tips From the Software Pros
Companies engaged in software application development face several challenges, which are often not best managed, one of them is the reorganization or restructuring of the processes or areas of the company, this because there is no defined methodology, the objective of this article is to present a way to carry out such processes and to obtain better results, it has been applied in several companies of this type and has generated success stories, so it can be considered a good model to follow.
The phrase with which the conference began was something that caught my attention, as it indicated that it is more interesting to hack equipment than hack code, this from the point of view of the benefits that can be gained by making a change in the structure or way of thinking of a team, if it´s done the right way. This point of view is interesting as we are used to seeing hacking as a bad thing, but throughout the talk it was appreciated that applied with other objectives can be very beneficial for everyone. The presentation commented on a phrase belonging to Goldratt Books, in which it is expressed that the functionalities that are developed do not generate any value by itself, but this is observed until they are placed in the hands of users and they get results from them, and that the resources and activities that are carried out must always be focused on creating the following functionality that generates value for the user.
As interesting aspect highlighted at the conference indicated that, if people always stay in the same environment or in the same system, they tend to generate similar results, as there are no variants that allow them to create new scenarios or generate new opportunities for improvement. For this reason, the inclusion or generation of new environments favors the resolution of problems presented to development teams, besides that, it is essential that everyone gives their best and collaborates with each other to achieve the goals of the team and therefore the organization.
According to the exhibitor indicates that there are three aspects that can help to improve the situation in which companies can be found, then, the following are indicated:
· The structure of the organization works best, if it is in a constant state of incremental change, which allows company members to contribute their knowledge in different areas or who can acquire new ones that will allow them to grow as professionals
· The most suitable people to drive these kinds of changes are the ones closest to action, those who are responsible for creating the new opportunities
· The skills that each member of a team possesses, such as developers, quality analyst, project managers, organization managers enable to carry out the tasks that are required to be able to deliver the products to users and make them of the best possible quality
These three aspects allow for growth and synchronization in organizations so that they can deliver the best products and establish better relationships between team members.
Refactoring and Hacking
The process of reorganizing a company should include several aspects that allow it to obtain the best results, according to Andrew Harmel — Law, speaker of the conference, indicates that 5 aspects can be taken into consideration:
1. The map of human architecture
2. Read the dynamics of the system
3. Make the right change
4. Eliminate consensus
5. Beyond the delegation
In the following sections, each of the points will be further detailed, in order to expose the ideology presented by the exhibitor, based on his experience and the application of it in his day to day.
The Map of Human Architecture
In a team all members have different skills that allows them to have all the keys that are required, pass solving the problems, or to create new products. Being made up of individuals with different skills and specialties, it is important to have a structure that allows you to know the requirements of each of the roles that make up a team, in order to put the right people in the tasks in which they will do a better job. There is talk of the philosophy of roles and circles, where roles indicate the skills, important points, and domains that are required, it´s important to note that a person can fulfill multiple roles depending of their capabilities, circles are the groupings of these roles to build a unit that can work together, there are some roles that are bigger than the others, so they can´t be contained in smaller circles or groupings, and they also have to interact with different groups, these roles are in what they call a super circle that you can see as the company.
In order to determine the different roles and circles of an organization, the following tips can be taken into account: the existing understanding of how everything works in the area, should not be overestimated, the map that is created with the roles and circles shows the existing power and influence, the openness generates trust, you don´t need to be un charge to do this task of creating the map, who ever does it is going to learn a lot, and it´s or important to note that what you can see, can be changed.
Read the Dynamics of the System
In teams and organizations it is important to understand how it is the dynamics with which the different processes and flows that are carried out work, to establish points of change and thereby determine what are strengths, which need to be improved, which need to change and if it is required to incorporate any new axis that allows for better results. Creating diagrams with these flows brings a lot of value, as it is easier to see the different interactions that are made between those involved.
Make the Fair Change
By establishing the dynamics of the system, it is possible to find what changes must be made in order to obtain better results, and a better relationship between the various areas involved in the process, including end users.
But it is important that not all changes can be made at the same time, as it can generate more drawbacks than improvements that is why the following aspects must be taken into consideration in order to make the change at the most opportune time. It is important to see the power of a small change, but that it is the right one, it is necessary to allow time for the change made to show results, and to be able to see the effectiveness of it. An important aspect is to see the entire dynamics of the system and thus appreciate the impact that is obtained. One detail that can never be left out is to maintain quality in the processes and products created. In addition to that it is always important to take into account the feedback that everyone involved can provide.
Consensus in a team is very complicated to achieve and has the expected results. Usually, trying to get consensus among all involved generates a large investment of time and resources that could probably be used in other tasks. In addition, reaching consensus usually means that there is no responsible for what happens, since everyone agrees and therefore everyone´s fault and in the end no one wants to take responsibility for the results.
It is important to have an advisory process in the search for a certain degree of consensus, in which anyone can make decisions, but to do so you must seek the advice of all those who will be significantly affected by the result, and in addition to those with experience in the topic.
One aspect to take into account is that in this process it is advisable to create a document, which indicates all the agreements taken, expected results and responsibilities of each area or member to avoid future inconveniences, such as when analyzing why a certain option was not used, or because reason a procedure was not used. If this whole process is carried out correctly it is possible to obtain better decisions, it will also be possible to see greater speed and transparency.
Beyond the Delegation
A very important concept that should be taken into account at this point is that of culture, a definition given by Edgar Schein was cited in the presentation, where it is stated that culture can be seen as “a pattern of basic assumptions that a given group has to deal with its problems”. The Toyota May pp 299.
This can be seen in an organization that has solid foundations, where it has a definite culture that allows it to have paths to follow and that has an architecture on which you can rely on to make the decisions that are required. It is relevant to have the responsibilities of each team member and that there is a high level of trust between them to obtain better results. The best way to help each other among all members of a team is to make as many processes and sources of information transparent as possible and then trust the others to keep improving day by day.
The delegation of responsibilities and tasks implies that there had a previously been a training and advisory process, so that the people in whom the task was delegated to be able to do the job in the best way, it also implies until the person who delegated has some responsibility for the problems that may arise as a result of this action. The union of these five aspects allows us to arrive at a process of advice, where power will initially be in the hands of managers and leaders, where a number of roles and models will be required that indicate a way forward, as well as showing a secure way to transfer power and ways of entry. Changes in system dynamics make the whole procedure visible to those involved, and it allows you to teach others to read the workflow in the system.
It is important to invite everyone involved in the circles and roles to make changes that encourage others to improve, letting the hierarchy emerge where and when required in order to improve in all aspects.
Created by: Liliana Granados.