๐Ÿ“ Management Notes

Chapter 2 - The Factory

Key takeaways

Gathering information is key. It allows you not only to understand better what's happening objectivly but also aiming for where you want to be.

Build to forecast and Inspection. This two concepts are tighly coupled. With the first one you get an objective based on your current information and with the seconda one you can correct your curse to get acceptable quality at the lowest cost.

We want to achieve the most amount of output from a team. This could be done simplifying what the team actually does to make them more focus on what's important.

Monitor & Indicators

Monitor and Pairing different indicators. Messurement is a key tool. Any messurement is better than none. With indicators we could get the output of the activity in advance.

Indicators: the more, the better. When there is any problem, you have a ton of info at your disposal that could help. There are three main uses:

  1. Set objetive.
  2. Gives you objectivity.
  3. Comparing with ideal.

Trend indicators: are compared against time. Forces to look into the future.

Staggerchart: trend vs expectations. Gives you a forecast. If it doesn't go as planed, you have information that what could have happend.

Blackbox

Input -- black box -- output.

The black box represent the labor, the work that the team is doing. We should pay attention and collect as much information as possible from the input and the output. That is going to tells us a lot about how is being processed.

We need to look at the black box with our monitors and indicators, so we can now what's happening inside. We don't neccesarly need to know every detail to understan how things work.

Build to Forecast

The idea here is that we should build before we need it, like an inventory risk. Spend time now and create product in anticipation of sales.

In software engineer this could be:

  • Attacking tech debt or doing neccesary refactors that could make things easier in the future.
  • Hiring in anticipation the resources that the team needs or could need in for the medium/long run.
  • Building in anticipation of the market need. For example building AI before it was cool.

With a forecast, people is responsible to perform against their own predictions. You should constantly compare the progress agains the forecast, so you can make corrections if needed.

Inspections

Why? To deliver acceptable quality at the lowest cost.

We need test during and before so we can reject before we invest more value into it. We also need to change the type of inspections to find different things, sometimes doing the same inspections all the time makes you prone to errors due to repetitive tasks.

In software engineer:

  • Having a good process of CR.
  • Using unit and integration tests.
  • Trying to build without tech-debt.
  • Agile iterative approach.

Productivity

The productivity can be calculated as the the output divided by the labor.

There are basically two things that can be done to improve the productivity:

  1. Making the thing faster.
  2. Change what we do. Work smarter, not harder.

The concept of Leverage is presented here as the output generated by a specific work activity. If an activity has High leverage it generates high level of output. If an activity has Low leverage, it generates low level of output.

How do we get high leverage activities in Software Engineer? With the construction of better tools, arranging the workflow and making the work simpler.

Work simplification:

  1. Flowchart of evert step.
  2. Count the number the steps.
  3. Rough target of reductions 30% aprox.
  4. Understand why each step is perform. Is pracitcal doing this?
  5. Throw away the ones that doesn't make sense.
๐Ÿ›๏ธ ๐Ÿงฎ ๐Ÿ“ โš›๏ธ ๐Ÿงช ๐Ÿ