My experience as a Leader in the software industry. Part II.
A journey through a woman who succeeded being a leader
⚠️I recommend you to read Part I first. Here is the link. ⚠️
Content Part II:
- How I succeed: The Principles
- How I measured the progress
- How I observed the performance of the team
- How I measured the quality of the product
- How I dealt with chaos and disorder
- How I dealt with uncertainties
1. How I succeded: The Principles
The principles were rules to be followed during the entire process which helped me to succeed.
Team Leader Principles:
- Principle of managment: principles, mission and goals must be visible to each member.
- Daily Training: The principles of managment should be taught frequently.
- Communication: Show respect by using a proper language, being polite and kind. Show them the right and wrong actions using distinguished words.
- Having control: I am in control of the situation every moment.
- Presence: I am always available for each team member. I am in continuous communication with the team, the client and the company.
- Relationship: I hold an honest and transparent relationship with each member.
- Collaboration: The team work together to achieve better results.
- Order: Put the team first. Each member second: “Team-work over individual work”.
- Structure: The team is skilled enough to solve almost every problem defined within the roadmap.
- Speed: is defined by the goals to accomplish in the roadmap.
- Emotions: The team must promote feelings of confidence, enjoyment and good vibes.
- Planning schedule: The technology roadmap must be fulfilled unless there are exceptions (a developer is sick or not working anymore at the company, or the client require new changes)
- Status: should be visible to the client, to each member and to the CEO of the company. Types of status: initiatied, in progress, completed, blocked or cancelled.
- Characteristic: It has an owner, a list of conditions to fulfil (acceptance criteria), a priority (lowest, low, medium, high, highest) and a competency levels (beginner, intermediate, advanced) defined for a particular skill.
- Completition: it should be completed by the owner: if a member is blocked, the member should ask for help, at least one team member should be able to help solve the task.
- Verification: The owner must meet the acceptance criteria in order to complete the task.
- Validation: The owner must provide proof that the task performs as expected.
- Communication: each member should use a proper language to communicate.
- Commitment: A member should stay commited with the task.
- Space for execution: Provide the space to create and propose.
- Feedback: Give constantly updates of the progress.
- Managment of resources: use the resources of the company to accomplish the goals with the client
- Communication: Use a proper language to communicate with the client.
- Register the history: Write down each meeting. Share and make it sign for the client.
- Agreements: each step should be validated by the client.
2. How I measured the progress
In order to go fordwar (walk) with the project, I measured the progress:
- Client status: Was the client cooperating and approving when necessary? If not, we were blocked or we were performing without consensus.
- Project status: Was the project following the roadmap? If not, it was delayed.
- Team status: Did the team have all the resources they needed to perform? If not, they were blocked.
- Member status: Were all the members working as they should be? If not, someone was ill, or on holiday or with emotional problems, for example.
- App status: After each new demo, was the app ready to be tested in both Android and Apple Stores? If not, the app was not available.
If a question was answered with “no”, it meant things were getting complicated, and we could not deliver on time.
3. How I observed the performance of the team
How to be sure the team was performing well:
- By enforcing the methodologies defined: Making sure Scrum ceremonies were taking place.
- By enforcing the procceses defined: (1) By following CI/CD strategies using Gitlab pipelines to ship software quickly and efficently; (2) By using Gitflow workflow for organizing the development.
- Velocity per sprint: by measuring the amount of work done during every sprint.
- The client satisfaction: it is important that they feel happy with the final product. It is important to implement all the user stories with success, but most important is their satisfaction😊
- The end-user satisfaction: By getting to know the rating and reviews of Google Play and Apple stores.
- Following best practices while developing: (1) We chose gitflow for the working process; (2) We used development and staging environments before delivery to the end-user; (3) We automatised deployments to reduce errors and being efficent with time; (4) We made code review to each line of code to check bussines logic and code best practices ; (5) We ran lint tools for finding errores in an early stage; (6) We ran a code formatter to enforce consistent code style. (7) Dockerizing the project to run applications faster and make sure we were all running the same tools set.
- With my intuition: after 13 years of being involved in IT, and working for 7 years in the market, my intuition is my guide and it has been built with my experience, my mistakes and my confidence.
5. How I dealt with chaos🌪️ and disorder
When a rule was not being followed (principles in section 1) or something was not progressing (section 2), it was an indicator of disorder or chaos. In order to deal with it:
- Observe: Detect which principle was not being followed or not working. Detect what was not progressing.
- Take immediate action: It should not be ignored. “Do not turn a blind eye”
- Hindsight: looking back to the problem and understanding the situation.
- Adapt: Modify the principles if necessary in order to complete the mission.
6. How I dealt with uncertainties
As a leader, I found the following uncertanties:
- Team performance: First time with the team. I did not know how they performed. Half of the members were juniors (their firt job). How Idealt with it? Being closer every day, guiding them and giving the answer they need. Backing them up.
- Client engagement: half of the time, the client was not commited with the agreements. How Idealt with it? I gave them time to review and validate. When they ran out of time without validating, we approved it.
Thanks to all the people who made it possible! It was an amezing trip 🚀