Organization 101 — My Engineering Playbook

Context of this playbook

Organization 101 — My Engineering Playbook

Context of this playbook

This article reflects my years of reflection, changes, and trials as a manager to design engineering organizations where the people who make them up feel good, happy, and want to stay. After 8 years of experience scaling organizations up, I have identified some practices I hope will be helpful to other leaders. Although they may only fit some organizations, they have been proven to work on multiple occasions. I have built various teams of engineers from the ground up. More recently, I had to grow from 0 to 100 engineers in 4 years, which was enriching.

The organizations I create are intended to be lean and focused on efficiency. You enjoy your work when things move fast. Decisions are made quickly without endless debate, developers don’t get stuck or have to wait for someone else to complete an operation, and product and engineering work hand in hand.

I learned to grow the organization by reading books and articles, getting good mentors and friends, and observing my different bosses. I took everything I could from my time at Criteo, BNP, Voodoo, OVH, and more recently, Akeneo.


Table of contents

  1. Small and Long-Lived Teams as the Standard: Westrum, Brook & Conway’s law, Dunbar’s number, and Team Topologies
  2. Managers are not just People Managers
  3. The Power of Writing
  4. Maximize Value over Output and Culture over Process
  5. Hire the best, Grow people, Detect key people, Bet on talent, Keep a healthy ratio between junior and senior
  6. Continuously adapt as you grow
  7. Lead with Trust
  8. Invest in your Developer Experience
  9. Data deserves to be Dedicated
  10. Build the Focus and Create the Tempo
  11. No Feature Factory but Outcome-oriented
  12. Treat your Production as Chapel
  13. Avoid the Tunnel Effect
  14. Quality is in the Air
  15. We are all in the same Boat
  16. Managing complexity with simplicity

1 — Small and Long-Lived Teams as the Standard: Westrum, Brook & Conway’s law, Dunbar’s number, and Team Topologies

As organizations scale up, you need to ensure that your delivery processes can keep up with the increase in team size. Slow delivery can be frustrating for both internal and external stakeholders.

Westrum noted that such a corporate culture had an influence on the way information circulated within an organization. According to Westrum, knowledge has value if :

  • it provides answers to questions for which the recipient expects a response
  • it is relevant in terms of timing
  • it is presented so that the receiver can use it effectively

Building an organization is similar to designing distributed software. You do not want to over-engineer it. Instead, it would be best if you aimed to divide and conquer, keep it simple (KISS method), and ensure that the integration points between components (or teams) are well-defined and logical.

A good analogy would be the difference between renting or buying a flat.

  • When renting, you improve the flat to a minimum for your immediate needs
  • When buying, you are proactive and improve things for the long run and care

You’re also thinking hard about how to improve your daily life in the apartment.

Being able to do “one team = one mission” is mandatory to keep ownership of your teams. Ownership is the key to success when you scale an organization up. Focus people to own their mission, decrease the cognitive load, and provide the proper tooling to the team. We can’t increase the tempo and raise standards unless we also narrow the focus. Thanks to a career ladder, clear responsibilities, or postmortem, we can push people to achieve their goals faster than they think possible and set a high bar with clear expectations for success and failure. The need for speed inspires innovation.

Conway’s Law asserts that organizations are constrained to produce application designs that are copies of their communication structures. This often leads to unintended friction points. The Inverse Conway Maneuver recommends evolving your team and organizational structure to promote your desired architecture. Ideally, your technology architecture will display isomorphism with your business architecture.

I also set ratios and limits on the number of people in a team, thus reducing the number of interactions based on Dunbar’s number and Brook’s law. Dunbar’s number refers to the maximum number of social relationships a human can effectively manage. In an organization, Dunbar’s number can be used as a reference point to help understand the size and structure of teams and their potential impact on team dynamics and communication.

  • around 5 people — limit of people with whom we can hold close personal relationships and working memory
  • around 15 people — limit of people with whom we can experience deep trust
  • around 50 people — limit of people with whom we can have mutual trust
  • around 150 people — limit of people whose capabilities we can remember

Leveraging Dunbar’s numbers to size teams, leaders should aim at having:

  • Teams of 4 to 8 people that work together daily on a common goal (the infamous two-pizza team)
  • Groups (or tribes) of 10 to 20 people that collaborate to achieve common objectives
  • Departments of 40 to 60 people coordinate to deliver a common strategy
  • Organizations of 140 to 160 people that work together to accomplish a joint mission

A piece of research on the impact of team size on software development looked at over 4,000 projects and divided them into two groups of 20 people or more and teams of 5 people or fewer. 9 months to generate a hundred thousand lines of code on average the teams of 20 people beat the teams of five to a hundred thousand lines as you may expect but they only beat them by a week over nine months. A team of 5 is nearly 4x times as productive as a new team of 20. The study then looked at the quality of the code measured by the amount of defects on average a team of 20 people produced five times as many defects as a team of five so small teams are more productive and produce higher quality work.

Organizations need to maximize trust between people on a team, limiting the number of team members.

Brooks’s law is an observation about software project management which states that “adding manpower to a late software project makes it later.” According to Brooks, there is an incremental person who takes more, not less time when added to a project. It takes time for the new team members to become productive, known as ramp-up time. Communication overhead increases as the number of people increases.

I discovered Team Topologies at the end of 2019, which had the same wow effect on me as Accelerate a few years earlier. Team Topologies focuses on:

  • setting up dynamic team structures to reduce cognitive load and improve platforming
  • implementing interaction modes that help teams adapt quickly to new conditions and increase flexibility
  • reducing mental workload and concentrating effort to optimize team velocity and remove waiting points

To enable and encourage fast flow within each team, the organization can follow proven software-architecture good practices:

  1. implement loose coupling to avoid strong dependencies among components
  2. ensure high cohesion by clearly defining each component’s responsibilities and ensuring that its internal elements are strongly related
  3. maintain clear and appropriate version compatibility
  4. establish clear and proper cross-team testing processes

2 — Managers are not just People Managers

Managers play a crucial role beyond simply filling a position; they are essential for the growth of individuals, careers, and overall delivery. However, it’s essential to acknowledge that management also incurs overhead costs. While having multiple layers of management can help scale and partition an organization horizontally, it can also present challenges. Additional layers require more effort to convince and align, and your leadership messages may become diluted or lost.

Maintaining a low management ratio, including software engineers and TPMs, PMs, and EMs, is important. The ideal balance is typically one manager and one Product Manager for every ten team members, although this may vary based on various factors. A low management ratio prevents premature team distribution.

This concept is similar to system design, where we aim to delay system distribution and prioritize vertical scaling, as distributing a system too early can lead to more significant problems. The same applies to teams.

I encountered challenges with unclear responsibilities between the Lead Developer (LD) and Engineering Manager (EM). It’s important to define who is accountable for the delivery and who is responsible for planning and organization. Clearly defining the roles and responsibilities of LDs and EMs enhances clarity and efficiency. Organizations should establish clear roles to ensure collaboration towards common goals.

Organizations should also ensure a fair and transparent performance review process. Feedback from Engineering Directors (EDs) and Engineering Managers (EMs) can enhance performance and help team members identify areas for improvement. Value stream mapping and bounded context techniques can optimize team productivity and reduce cognitive load. Additionally, implementing good practices, guidelines, tools, and podcasts can help minimize digital fatigue and improve employee morale and job satisfaction. Providing clear career opportunities with defined career ladders and new roles can motivate team members to excel and contribute to the organization’s success.

Lastly, Engineering Managers, whether Software Engineers or Leads, require coaching to enhance their performance and career growth. Frameworks such as Accelerate or the SPACE model can assist managers in measuring, explaining, and optimizing the pace of delivery within their teams.


3 — The Power of Writing

We don’t say it enough, but the power of writing is incredible. It’s a natural way of aligning people around a shared vision or mission. When I moved the department from Confluence to Notion, I transitioned from an oral to a written culture. Consistent documentation is crucial, especially when compared to verbal communication. Additionally, with the help of Notion, templates can be automated, making documentation even easier.

In an organization, documentation is essential for several reasons. First, it helps to keep everyone on the same page and aligned with the company’s vision and mission. When everyone knows the goals and objectives, it becomes easier to work together to achieve them. Second, documentation ensures that knowledge is preserved when employees leave the company. Third, it provides a reference for future decision-making and can help to identify patterns and trends.

Moving from an oral to a written culture has several benefits. It ensures that information is consistent and reduces the risk of miscommunication. It also makes it easier to refer back to previous decisions and discussions. Using templates can help to ensure that documentation is consistent and saves time. With Notion, templates can be automated, making creating and maintaining documentation easier.

In conclusion, consistent and well-documented processes are essential for the success of any organization. Moving from an oral to a written culture can have several benefits. With the help of tools like Notion, documentation can be automated, saving time and ensuring consistency across the organization.


4 — Maximize Value over Output and Culture over Process

To truly maximize value and prioritize culture in engineering, it is crucial to emphasize long-term success, team dynamics, and innovation rather than solely focusing on short-term gains and rigid processes.

To achieve this delicate balance between value and output, as well as culture and process, it is necessary to continuously invest effort into being flexible, adaptable, and committed to core values, prioritizing customer satisfaction, team well-being, and innovation. It is essential to understand that finding the proper equilibrium for your organization and consistently refining your approach as circumstances evolve.

It is essential to remember that the ultimate goal is not to become a mere “feature factory”, as the number of features produced cannot solely determine success. It is easy to become overwhelmed by an excessive number of processes. Therefore, it is vital to recognize the significance of culture, particularly when expanding into new markets such as Europe or the US.

Outputs vs Outcomes

Finally, treating feature delivery like a factory without addressing technical debt can lead to long-term problems. Organizations should focus on outcomes rather than features, balance technical and business priorities, and have clear objectives and a well-defined roadmap to ensure everyone is on the same page.


5 — Hire the best, Grow people, Detect key people, Bet on talent, Keep a healthy ratio between junior and senior

Many individuals often use phrases like “I only recruit the best” or “only killers,” but what exactly does that mean? In my opinion, it signifies the continuous pursuit of recruiting individuals who surpass my abilities and exceed the capabilities of the existing staff. Essentially, it entails finding individuals who have the potential to replace me effortlessly and undoubtedly excel in their roles.

I have also encountered concerns and apprehensions regarding hiring individuals who may possess more excellent skills or talent. Expressions such as “They’ll take your place,” “You won’t be able to retain them,” or “They’re too expensive” are pretty standard. I may have entertained similar thoughts in the past. However, the truth is that thanks to these extraordinary individuals, I have been able to surpass my expectations and experience personal growth. Therefore, with each recruitment decision, I strive to identify individuals who possess not only curiosity (a trait I consistently seek) but, most importantly, individuals whose capabilities make me slightly “apprehensive.”

For many individuals, their career paths may be relatively smooth. Unfortunately, mine has been quite the opposite. As a result, I make a concerted effort to invest in people by providing them with training, coaching, and all the support I can offer to aid their growth. As a manager, one of my most significant accomplishments is witnessing my role in helping individuals thrive in their positions and seeing their genuine happiness in what they do.

Another crucial responsibility of a manager is to identify the future key personnel of the company, such as upcoming leaders or senior engineers. Detecting these individuals as early as possible enables us to provide them with enhanced support through personalized coaching or targeted training sessions.

I have observed that their performance has been significantly superior to completely homogeneous teams in the few diverse teams I have either led or been a part of. Therefore, I emphasize the importance of investing in diversity rather than avoiding it.


6 — Continuously adapt as you grow

Reflecting on my time as an individual contributor, I vividly remember going through several reorganizations without fully understanding them or their rationale. I focused primarily on my responsibilities and didn’t consider the broader context. During that period, my perception of the organization was quite limited.

However, everything made sense once I transitioned into a managerial role. I finally grasped the significance of those changes my superiors had implemented and the organization's need to adapt. These adjustments are necessary for us to avoid significant financial and personnel challenges.

Now, with the knowledge and insights gained from managing teams of varying sizes over the years, I can confidently affirm that leading a team of 8 individuals is an entirely different experience compared to overseeing a group of 20, and managing 100 people is a whole new level compared to handling a team of 50. These distinct stages can be categorized into 6 significant phases that will truly revolutionize your day-to-day life and redefine your role as a manager:

  • 1st people: Congratulations on your new role as a Manager! You are now responsible for managing yourself and leading someone else. Welcome to the exciting management world, where you can hone your leadership skills, make important decisions, and drive your team’s success. Embrace this new challenge enthusiastically and confidently, knowing you can significantly impact your new role. Take this opportunity to learn and grow, and remember that effective communication, delegation, and motivation are key aspects of being a successful manager. Best of luck on your managerial journey!
  • 8+ppl: You are still 100% operational, can code, and effectively help your team when they’re blocked. In addition, as a tactical front-line manager, you can contribute to various aspects of your team’s success. Your role involves providing guidance, support, and direction to help your team achieve its goals. It also includes actively participating in problem-solving, fostering collaboration, and promoting a positive work environment. These additional responsibilities can further enhance your team’s productivity and effectiveness.
  • 20ppl: At this stage, you primarily focus on operational tasks, accounting for about 80% of your responsibilities, while the remaining 20% is dedicated to strategic activities. You have your first report and an experienced engineering manager to support you in your role. This is because overseeing a team of 15 individuals with just one manager can be overwhelming and impractical. Not only will it impact your performance, but it will also impede your ability to provide adequate support to your team members, who will inevitably suffer. You need to acquire the skill of managing a manager, as this is the first time you recognize the importance of scaling up the organizational culture. You also realize that to align everyone effectively, you need to step up your efforts even more than before.
  • 50ppl: Congratulations! You have surpassed the challenging threshold of 25+ individuals and expanded your team to 50+ people. This remarkable growth required you to adapt and transform yourself to meet the demands of your new role. As a result, your responsibilities have become more strategic, with a 50% focus on operational tasks. Instead of solely managing one EM, you are now entrusted with overseeing a group of EMs. This expansion has increased time commitment towards managing expectations upwards and downwards. Furthermore, you have established higher organizational standards, ensuring continuous improvement and success.
  • 80ppl: Now that you have reached the milestone of being at 80 or above, it is crucial to recognize that any decision or action you make at this point will have long-lasting ramifications for the foreseeable future. Your role has significantly evolved, shifting towards a more strategic focus, accounting for 80% of your responsibilities. While you still maintain a 20% operational involvement, it is important to acknowledge the increased emphasis on strategic thinking. As you have progressed in your career, you now have a team of managers who oversee various aspects of your operations, including your esteemed 1st Engineering Director. This hierarchical structure allows you to delegate responsibilities and rely on the expertise of your managers, enabling you to focus on the bigger picture. In your current position, you oversee an entire portfolio of products, manage a department, and lead a team of highly experienced professionals in business, technology, and personnel. These seasoned leaders bring a wealth of knowledge and expertise to your organization, contributing to its overall success. It is imperative to recognize the significance of this stage in your career trajectory and make informed decisions that align with your strategic objectives, as they will undoubtedly shape the course of your organization for the coming years.
  • 100+ppl: I’m referring to this level as the pivot point. Once you reach a milestone of 100 people, you transition from solely operational to strategically focused at 100%. If you succeed with this number of employees, you can expand your team to 150, 200, or even 300 people. As you reach these higher numbers, you will have a group of Engineering Directors who not only possess practical communication skills and strong leadership abilities but also contribute to the overall growth and development of the organization.

7 — Lead with Trust

It’s important to understand that each team has its dream, vision, and key performance indicators (KPIs). This diversity of goals and metrics helps drive innovation and fosters a healthy sense of competition among teams. To avoid conflicts of interest and promote a collaborative work environment, it is recommended that product managers do not directly report to engineers. We can ensure unbiased decision-making and objective progress evaluations by establishing clear reporting lines.

Moreover, it’s crucial to give a voice to the engineers and actively seek their input and insights on technical debt. While managers play an important role in overseeing projects and providing guidance, empowering individual contributors (ICs) and recognizing their valuable contributions is equally important. ICs should be encouraged to share their perspectives and ideas, and their opinions should hold equal weight to those of managers.

By empowering ICs and giving them equal influence, we can create a balanced and inclusive work environment. This ensures that decisions are not solely driven by managers, but are instead the result of collective input and collaboration. It also helps mitigate the risks of biases and ensures that suitable investments are made in the right areas. Let’s embrace the diversity of perspectives within our teams and leverage them to drive success!


8 — Invest in your Developer Experience

When scaling up your organization and your business, paying attention to the significance of scaling your tooling is important. In addition to your CI/CD, build processes, shared libraries, test frameworks, and best practices, consider investing heavily in these areas. As your team grows, you will require improved tooling and platforms to be shared across the organization, resulting in enhanced efficiency for everyone. Therefore, considering the human scale, it is essential to prioritize early investment in internal tooling.

Giving utmost importance to Developer Experience (DX) is a fundamental requirement. Neglecting to pay attention to DX can have negative consequences, such as poor delivery and demotivated employees. To ensure continuous growth and success, organizations should prioritize clear communication, alignment with objectives, and investments in their employees.

Several key areas deserve your attention, including DX and code quality, conducting regular health checks to assess developer satisfaction, maintaining a changelog, promoting autonomy, implementing CI/CD, streamlining deployment processes, following the test pyramid approach, and providing a conducive development environment.

During the transition from an entire monolith to a modular monolith with a value stream, it is crucial to consider factors such as context mapping, bounded context, decoupling, and techniques like example mapping or event storming. Remember that a lack of focus on Developer Experience (DX) can result in poor delivery and demotivated employees.

Lastly, embracing automation in all aspects of your organization is highly recommended for optimal efficiency.


9 — Data deserves to be Dedicated

Data-driven organizations have been found to have significant advantages over non-data-driven organizations. According to Bokman (2014), these organizations are 23 times more likely to acquire customers, 6 times as potential to retain customers, and 19 times more profitable. Leveraging data can lead to tangible business results. However, it is important to note that data has its limitations and can even become a liability if not managed properly.

More than merely capturing and storing data is required to make an organization truly data-driven. It becomes a valuable business asset when data is consciously captured and proactively managed. This means ensuring its quality and availability for running the business effectively.

Three key terms are often used interchangeably to achieve quality data: data management, governance, and quality. While each word represents a different aspect, it is highly recommended that companies implement all three to derive the maximum value from their data.

Data management encompasses the practices, programs, systems, and processes a company must undertake to operationalize data throughout its lifecycle, from creation to deletion. It involves establishing efficient workflows and ensuring data is properly organized and accessible.

On the other hand, data governance is a sub-discipline of data management that focuses on the organizational structures, data owners, policies, rules, processes, business terms, and metrics needed to manage the end-to-end data lifecycle. This includes data collection and storage to its use, protection, archiving, and ultimately deletion. Organizations can ensure data is properly managed and utilized by implementing data governance practices.

Lastly, data quality is paramount for effective data governance. The success of the data governance function relies heavily on the availability of high-quality data. Data must be accurate, complete, reliable, and consistent to provide meaningful insights and support decision-making processes.

In conclusion, organizations must establish a dedicated data team equipped with the necessary practices, tools, and skills to leverage data powerfully. This team will ensure the data’s accuracy, reliability, and quality. By doing so, organizations can maximize the benefits of being data-driven while minimizing the risks associated with poor data management.


10 — Build the Focus and Create the Tempo

Focus on empowering individuals to take ownership of their missions, reduce cognitive load, and provide the necessary tools for the team. This approach gives individuals a sense of control and responsibility over their work, leading to increased motivation and productivity. By implementing a career ladder, individuals can see a clear path for growth and development within the organization. Clearly defining responsibilities ensures everyone knows what is expected of them, reducing confusion and improving efficiency. Conducting postmortems after projects or initiatives allows the team to learn from their successes and failures, enabling continuous improvement and growth.

Setting high expectations for success and failure is important to motivate people to achieve their goals faster than they believe possible. By challenging individuals to push beyond their comfort zones, they can discover their true potential and surpass their expectations. This can lead to breakthrough innovations and new levels of success.

When setting objectives and key results (OKRs), it is crucial to only moderate amounts with measurable outcomes. Assigning a small number of OKRs with well-defined measures ensures that the focus remains on what truly matters and allows for a more targeted and practical approach. It is important to have a manageable number of OKRs that can be realistically achieved, rather than overwhelming the team with too many objectives.

Limiting the number of projects taken on at any given time is essential during rapid scaling and growth periods. Prioritizing and focusing on the most important projects allows for better resource allocation and ensures the team can dedicate their full attention and effort to each initiative. This increases the chances of success and prevents the team from becoming overwhelmed and stretched too thin.

Creating a roadmap that aligns with the expectations of multiple stakeholders can be a complex task. It is crucial to have clear objectives and a well-defined roadmap that everyone can agree on. This ensures that everyone is working towards the same goals and reduces the risk of misalignment or confusion. Regularly reviewing and updating the roadmap allows for adjustments, keeping the team on track and focused on the desired outcomes.


11 — No Feature Factory but Outcome-oriented

Not Feature Factory, but Product Factory, which is different. The concept of a Product Factory emphasizes the importance of focusing on technical aspects and considering the overall business objectives. This approach emphasizes the need to balance technical and business priorities, ensuring that organizations are not solely focused on delivering features but also addressing technical debt. Organizations can avoid potential long-term problems by prioritizing feature delivery by managing technical debt.

In terms of metrics, organizations should consider various factors such as ARR (Annual Recurring Revenue), the percentage of SaaS clients, CoGS (Cost of Goods Sold), the number of incidents and downtime, CAC (Customer Acquisition Cost) payback, the rule of 40, employee attrition rate, client churn rate, and SLA (Service Level Agreement) compliance.

To achieve customer value, organizations should focus on three pillars: customer voice, data-driven decision-making, and gaining insights from the product manager’s point of view. Organizations can jump-start experimentation and create a feedback loop that enhances conversion rates by incorporating internal discovery from the technical and product teams and leveraging market and consumer insights.

Retention is another key aspect that should be considered. Organizations can improve customer retention rates by gaining customer insights and actively working towards reducing risks and unknowns.

Organizations can implement a Product OKRs (Objectives and Key Results) process to align product objectives. This process involves setting yearly company OKRs, quarterly R&D OKRs (focusing on realistic goals rather than unattainable moonshots), and a unified roadmap encompassing all squads.

The PDR (Product Design Review) process can also be improved by moving from a Product Owner (PO) to a Product Manager (PM) role. Before estimating project timelines, this change allows for early stakeholder feedback, such as sales and marketing. Additionally, incorporating early feedback from engineering teams ensures that technically impossible tasks are identified and addressed.

Organizations can also consider implementing PLG (Product-Led Growth) initiatives and obtaining a 27k ISO certification, demonstrating a commitment to information security and providing assurance to customers and stakeholders.

By incorporating these strategies and initiatives, organizations can enhance their product development processes and achieve sustainable growth.


12 — Treat your Production as Chapel

The Importance of Caring about Production. Treat the Production as an asset and not a cost.

Guardians of the Production
  • Observability: It is crucial to ensure that systems and applications are easily monitored and understood. This allows for quick identification and resolution of any issues that may arise, leading to smoother operations and improved performance.
  • FinOps mission: One key aspect of operations is its financial component. Organizations can succeed financially while maintaining high-quality production by optimizing costs and ensuring efficient resource utilization.
  • Regular Maintenance: Routine tasks and checks are vital in keeping systems running smoothly. By regularly performing maintenance activities, organizations can proactively prevent potential issues and minimize any disruptions to production.
  • Shared Engagement: Involving all team members in the production process is essential. When everyone is encouraged to collaborate and contribute their insights, a sense of ownership and responsibility is fostered, leading to increased productivity and improved outcomes.
  • Shared Knowledge & Understanding of Roles: A culture that promotes a clear understanding of responsibilities and active knowledge sharing is essential for successful production. When team members deeply understand their roles and actively share their expertise with others, the entire production process benefits from enhanced efficiency and effectiveness.

13 — Avoid the Tunnel Effect

Set clear and specific objectives to provide a roadmap for the project and ensure alignment among team members. Implement lean development and small iterations, allowing quick feedback loops and continuous improvement. This approach promotes efficiency and reduces the risk of wasting resources on unnecessary features. Foster diverse teams by encouraging the inclusion of individuals with different backgrounds, perspectives, and skill sets. This diversity can lead to more innovative ideas and better problem-solving capabilities. Utilize decision-making frameworks such as SWOT analysis, cost analysis, and the Six Thinking Hats method. These frameworks provide structured approaches to evaluate options, assess risks, and make informed decisions. Embrace innovation and creativity by encouraging team members to think outside the box and explore new ideas. This mindset can lead to breakthrough solutions and competitive advantages. Only follow trends with an understanding of their purpose and value. It is important to critically evaluate trends and assess how they align with the project’s objectives and the target audience’s needs.

Lastly, it is crucial to avoid cargo cult, which refers to mindlessly adopting practices or methodologies without understanding their underlying principles or adapting them to the specific context. Instead, focus on understanding the rationale behind techniques and tailor them to suit the project’s unique requirements.


14— Quality is in the Air

Quality should not be treated as an option; instead, it should be embraced by incorporating Domain-Driven Design (DDD) to ensure that the software solution closely aligns with the business requirements and objectives. Utilize benchmarking techniques to compare the performance of your business processes, products, or services against industry standards or competitors. This will help identify areas for improvement and set realistic goals.

Quality is in the Air

Regularly collect customer feedback and measure customer satisfaction to gain valuable insights into how well your products or services meet their needs. This feedback can be used to make informed decisions and drive continuous improvement.

Implement a robust system to track and analyze the number of defects in your products or services. Monitoring and addressing these issues can enhance your offer’s quality and reliability.

Invest in employee training and development programs to enhance their skills and knowledge. This investment can improve productivity, job satisfaction, and overall performance.

Conduct postmortem and premortem analyses to evaluate the success or failure of projects and initiatives. By reviewing what went well and what could have been done differently, you can learn from past experiences and make informed decisions in the future.


15 — We are all in the same Boat

The Engineering, Design, Product Management, and Support teams must work closely together to ensure effective collaboration and synergy. Clearly defining each team’s responsibilities and roles through a RACI matrix makes establishing accountability and clarity in decision-making easier.

Furthermore, a data-driven approach to decision-making is crucial to making informed choices based on factual evidence and analysis. Regular retrospectives allow the teams to reflect on their past performance, identify areas for improvement, and implement necessary changes.

Inevitably, conflicts may arise in any collaborative environment. It is essential to have a well-defined conflict resolution process to address and resolve disagreements constructively and timely, ensuring that they do not hinder the teams’ progress.

To foster a sense of unity and alignment, it is beneficial for the teams to have shared goals, objectives, and a clear roadmap that outlines the direction in which they are heading. This helps align their efforts and ensures everyone works towards a common purpose.

Lastly, cross-functional teams that bring together individuals from different departments and areas of expertise can provide diverse perspectives and skill sets. This promotes collaboration, innovation, and problem-solving, leading to more effective and comprehensive solutions.

We are all in the same boat!!!

16— Managing complexity with simplicity

As your team grows and your product expands after years of development, it becomes increasingly complex, technically and functionally. This complexity arises due to the need for specialized knowledge in various areas and the challenges of providing support to fix bugs for a large and intricate system. Moreover, the growing number of processes can often lead to inefficiencies and unnecessary obstacles, hampering overall productivity. However, it is important to note that this is a common situation many organizations face.

To tackle these challenges and ensure a smooth operation, it is recommended to adopt a strategic approach of dividing your product into domains or bounded context. This approach, influenced by Team Topologies and Domain-Driven Design (DDD), aims to alleviate the cognitive load on teams by allowing them to focus on specific areas of expertise. By doing so, it not only enhances the agility of the teams but also enables them to respond quickly to evolving requirements and changes in the market.

By embracing this approach, you can effectively manage the complexity of growth and expansion, while empowering your teams to work more efficiently and collaboratively. This will ultimately contribute to the overall success of your product and organization. Then, review each year your process and adapt them to your new reality.

That’s all folks, I hope you enjoyed reading this article.

Read more