リビジョン | 7da62a0eb322495a12403ad000b7210fc8715341 (tree) |
---|---|
日時 | 2024-09-07 00:41:47 |
作者 | Albert Mietus < albert AT mietus DOT nl > |
コミッター | Albert Mietus < albert AT mietus DOT nl > |
Added SoftwareCompetence/3Amigos part-4: 'No leaders, no appeal!' -- ToDo: LinkedIn ref
@@ -57,6 +57,8 @@ | ||
57 | 57 | |
58 | 58 | This is hard, probably too hard for a single person. |
59 | 59 | |
60 | +.. _3Amigos_3axes: | |
61 | + | |
60 | 62 | 3 axes |
61 | 63 | ------ |
62 | 64 |
@@ -179,8 +179,8 @@ | ||
179 | 179 | visible role models? Especially as the number of software engineers grows strongly. As does the |
180 | 180 | number of architects, scrummasters, and even product-owners. |
181 | 181 | |
182 | -In an upcoming article, “Can I Breed Natural (SW) Leaders?”, we will present some ideas on how to | |
183 | -cultivate future software leaders effectively. | |
182 | +In an upcoming article, “Can I Breed Natural (SW) Leaders?”, we will present some ideas on how to cultivate future | |
183 | +software leaders effectively. But first, we study some case in ‘:ref:`3Amigos_P3`’. | |
184 | 184 | |
185 | 185 | Have fun, and grow! ---:sysBMnl-email:`albert` |
186 | 186 |
@@ -0,0 +1,312 @@ | ||
1 | +.. Copyright (C) ALbert Mietus; 2024 | |
2 | + | |
3 | +.. _3Amigos_P3: | |
4 | + | |
5 | +======================= | |
6 | +No leaders, no appeal! | |
7 | +======================= | |
8 | + | |
9 | +.. post:: 2024/09/06 | |
10 | + :tags: 3Amigos | |
11 | + :category: opinion | |
12 | + :language: en | |
13 | + | |
14 | + .. image:: images/P3.WorkOnComputer.jpeg | |
15 | + :width: 33% | |
16 | + :align: left | |
17 | + | |
18 | + :reading-time: 11min | |
19 | + | |
20 | + | |
21 | + | |
22 | + After some theoretical reflections in ‘:ref:`3Amigos_P1`’ and ‘:ref:`3Amigos_P2`’ it is time for some real-world | |
23 | + examples. | |
24 | + |BR| | |
25 | + What can go wrong without mature leadership? | |
26 | + | |
27 | +While the cases are based on real events, they have been abstracted and dramatised --as always, the narrative is more | |
28 | +attractive when it goes horribly wrong. My goal is to show the mistakes and to give you clues on how to improve --not to | |
29 | +criticise anyone. Still, you may recognise the anecdote, even if it's not about your team. It happens everywhere! | |
30 | + | |
31 | +As mentioned earlier, leadership can be viewed through :ref:`3Amigos_3axes`: What, When, and How. These axes are used to | |
32 | +organise the cases, and common terms such as (Team) Product Owner, Scrum Master, and Tech Lead (or Team Architect) will | |
33 | +be used to enhance readability. There are many other role names in use as well, but don’t let that confuse you. | |
34 | + | |
35 | +Finally, I will present additional cases highlighting the importance of visible role models. Given that some of today's | |
36 | +youngsters will become tomorrow's leaders, leadership development must appeal to them. | |
37 | + | |
38 | + | |
39 | +The WHAT (Product Owner) | |
40 | +========================= | |
41 | + | |
42 | +A Product Owner (PO) represents the client or end user. They define the requirements (stories) and set their priorities. | |
43 | +Without clear direction from the PO, teams may deliver a high-quality product, but it won’t meet the customer's | |
44 | +expectations. | |
45 | + | |
46 | +Case 1: What to Keep? | |
47 | +--------------------- | |
48 | + | |
49 | +A medium-sized project, roughly 100 man-years, needed a retention service to store and aggregate data, with the ability | |
50 | +to delete details to save disk space. The team started with an :ref:`Agile SIA <AgileSIA>`, describing 3 alternatives. | |
51 | +One of them: the existing tools had a standard option that seemed to meet the needs—a simple solution requiring only a | |
52 | +few configuration lines. This was far out the easiest, quickest and cheapest solution, and advised by the team. They had | |
53 | +only one question: what data needed to be saved, and for how long? | |
54 | + | |
55 | +However, the PO-board couldn’t decide on that. They didn’t know what they required. Instead, they insisted on a | |
56 | +sequential V-model approach, despite calling every step agile and lean. They demanded extensive documentation before | |
57 | +selecting the cheapest option. | |
58 | +|BR| | |
59 | +To make a short story long, the team ended up spending more time and money on finding and describing options than the | |
60 | +initial estimate for the most expensive option! Yet, the product owners still couldn’t make a decision. | |
61 | + | |
62 | +Lesson Learned | |
63 | +~~~~~~~~~~~~~~ | |
64 | +Dare to decide on **what** you need. If you’re unsure and there’s an easy implementation option, select it—at least as a | |
65 | +starting point. The ‘config version’ is risk-free, has been tested by the supplier and is likely suitable for the | |
66 | +Minimum Viable Product (MVP). And otherwise, it will help to quickly discover the real needs. | |
67 | + | |
68 | +Case 2: Document & Trace | |
69 | +------------------------ | |
70 | + | |
71 | +A small innovation project was unexpectedly promoted to deliver a commercial product. While this was a recognition of | |
72 | +excellent work, it also introduced unexpected challenges. The transition from a free-form, research-focused setup to a | |
73 | +professional, lean, and agile environment was difficult. | |
74 | +|BR| | |
75 | +One of the biggest issues was figuring out what exactly had been sold by the sales team. | |
76 | + | |
77 | +During the research phase, the goal was to *"discover a better way"*, with insights evolving frequently. Communication was | |
78 | +mostly oral, which worked fine in the small team. | |
79 | +|BR| | |
80 | +However, this informal approach continued even after the project scaled up. Most documentation was on an informal wiki, | |
81 | +where anyone could edit any page at any time. | |
82 | + | |
83 | +The result? | |
84 | +|BR| | |
85 | +Nobody knew what to build or when an important feature was truly needed. Instead of documenting stories/requirements and | |
86 | +setting priorities, the domain experts started frequent meetings with all of the teams to answer their questions. | |
87 | +Without documenting them --for reuse. Nor did they track which features were given to what team, so every team needed to | |
88 | +chat with all other teams about what was needed and when. | |
89 | + | |
90 | +Lesson Learned | |
91 | +~~~~~~~~~~~~~~ | |
92 | + | |
93 | +Document early and clearly. While oral communication can work for small teams, writing down stories, requirements, and | |
94 | +priorities is essential as you scale up. Traceability avoids confusion, facilitates proper scaling, and frees experts | |
95 | +from constantly re-explaining. When you don’t know something, avoid vague demands. | |
96 | +|BR| | |
97 | +Requirements may change, but ensure changes are documented and communicated. | |
98 | + | |
99 | + | |
100 | +The WHEN (Scrum Master) | |
101 | +======================= | |
102 | + | |
103 | +A Scrum Master is the team’s servant leader, coaching them to be lean and agile. Their job is to enable teams to perform | |
104 | +at their best. If the team isn’t delivering, the Scrum Master should identify bottlenecks and fix the process. | |
105 | + | |
106 | +Case 3: Reporting | |
107 | +----------------- | |
108 | + | |
109 | +A small team, 4FTE, was led by a part-time Scrum Master who was very diligent about reporting. He produced daily, | |
110 | +weekly, and sprintly progress reports, but didn't realise that nobody had time to read them. Worse, he wasn't listening | |
111 | +to the stakeholders, who only had one question: When can the MVP replace the current product that breaks down daily? | |
112 | + | |
113 | +His standard answers --‘after some sprints’ and ‘the sprint is done as it’s Friday’-- failed to build trust, not by the PO, | |
114 | +not with the end-users, and not with the team. Eventually, he was replaced. | |
115 | + | |
116 | +Lesson Learned | |
117 | +~~~~~~~~~~~~~~ | |
118 | + | |
119 | +A focus on the current sprint has various benefits, and reporting holds significance. However, it's crucial to keep an | |
120 | +eye on the bigger picture. Many stakeholders and managers prioritise overall costs and delivery dates, even when they | |
121 | +are only estimated. | |
122 | + | |
123 | +Besides, Scrum comes with tools such as the product burndown and graphs as the BAV (Business Added Value) -- why are | |
124 | +they hardly used? | |
125 | + | |
126 | +Case 4: No Waste | |
127 | +---------------- | |
128 | + | |
129 | +Sometimes, things go right because a Scrum Master takes her responsibility seriously. In a scaled-up project mentioned | |
130 | +earlier, stories came and went without cause because the PO role wasn’t strong enough. | |
131 | + | |
132 | +One day, just before the team was about to start working on a feature, the overarching epic was gone, but not cancelled. | |
133 | +Nobody had updated the backlog, nobody realised the feature may have become useless. | |
134 | +|BR| | |
135 | +But one Scrum Master. | |
136 | + | |
137 | +She, knowing the situation, always double-checked. Here, she asked the team to delay the start for a day and work on a | |
138 | +lower-priority task. On that day she chased the details and avoided wasting time on a feature that wasn’t needed | |
139 | +anymore. | |
140 | + | |
141 | +Lesson Learned | |
142 | +~~~~~~~~~~~~~~ | |
143 | + | |
144 | + | |
145 | +A Scrum Master’s vigilance can prevent wasted work. In an organisation that isn't fully mature, a strong Scrum Master | |
146 | +can (partly) isolate her teams from distractions. Even though the rule is ‘don’t change the features during a sprint’, | |
147 | +keeping your team happy and effective is more important. | |
148 | + | |
149 | +She knew that starting a day later would not jeopardise the sprint deliveries If that feature would be needed, it could | |
150 | +still be implemented and delivered on time! | |
151 | +|BR| | |
152 | +In this case, the organisation was happy with the avoided waste and the developers appreciated doing something valuable | |
153 | +--possibly even more important. | |
154 | + | |
155 | + | |
156 | +The HOW (TechLeader up to Architect) | |
157 | +==================================== | |
158 | + | |
159 | +This role is responsible for mapping out the technical path from requirements to solution and ensuring that the team can | |
160 | +meet all deadlines while also addressing non-technical needs such as quality. Additionally, (s)he is guiding the team. | |
161 | +|BR| | |
162 | +There are many alternative names for this role, like senior designer, or even (software) architect. The best name | |
163 | +doesn’t exist and should maybe depend on the scale. However, all teams and products, from small to huge, need such a | |
164 | +leader. Without him, even the hardest-working team will struggle to deliver a viable system. | |
165 | + | |
166 | +Case 5: Too Slow | |
167 | +---------------- | |
168 | + | |
169 | +Once, embedded software was monolithic. Nowadays, software containers and microservices are popular. But what should one | |
170 | +use for a new, huge, complex technical application with potentially thousands of users? And who should make the | |
171 | +selection? | |
172 | +|BR| | |
173 | +Let us hope that an experienced architect is involved ... | |
174 | + | |
175 | +As you already expected: No! Not in this case. | |
176 | +|BR| | |
177 | +Here the selection was based on good relations with a vendor, which had just provided a free training session for | |
178 | +*‘the architects’*. Everything worked perfectly. They even got the demo running on their laptop. | |
179 | + | |
180 | +The software teams worked hard and got the application running. Until an external, senior Holistic Architectural Leader | |
181 | +(HAL) was brought in, and demanded a performance test. The QA team set up a basic test with simple "sunny-day" | |
182 | +scenarios, like logging in and viewing some data. It worked --for the first few users. But as more users joined, the | |
183 | +system slowed down until it couldn’t handle any more. | |
184 | +|BR| | |
185 | +The architecture was fundamentally flawed. It would never work, not for the expected number of users. | |
186 | + | |
187 | +Lesson Learned | |
188 | +~~~~~~~~~~~~~~ | |
189 | + | |
190 | +Choosing an architecture requires more than just enthusiasm. As any experienced architect will tell you, functionality | |
191 | +hardly influences the architecture. Typically, the non-functionals will dictate it. In this application, the limitation | |
192 | +on the number of users was due to the number of services, processes, and messages, rather than the messages themselves. | |
193 | + | |
194 | +The HAL proposed transforming the architecture from a push to a pull model to reduce communication overhead. It wasn't | |
195 | +perfect, but it did work and we could reuse most of the code. | |
196 | +|BR| | |
197 | +This teaches us another lesson: development costs do matter! Sometimes, one has to choose (or update) an architecture to | |
198 | +get it working quickly. | |
199 | + | |
200 | +Case 6: Tie-wraps? | |
201 | +------------------ | |
202 | + | |
203 | +In embedded systems, software isn’t the only component. Often, mechanical and electrical teams are also involved, as in | |
204 | +this case. Those experts were used to work in independent silos, but now they were part of a lean, agile, | |
205 | +multidisciplinary project. The devil was in the details—or rather, in the PCB corners. | |
206 | + | |
207 | +One day, a software engineer asked a simple question: How are the PCBs mounted? The electrical team didn’t care --it was a | |
208 | +mechanical issue. The mechanical team assumed the PCB had holes for the bolts they had designed. The software team, in a | |
209 | +typical pragmatic fashion, suggested tie-wraps to fix it. | |
210 | + | |
211 | +This simple remark solved the dispute. Both teams found any solution proposed by any programmer unseemly. Finally, they | |
212 | +sat together for just 30 minutes and found four places where a hole could be added to the PCB and bolts and nuts could | |
213 | +fit in the housing. | |
214 | +|BR| | |
215 | +Problem solved! | |
216 | + | |
217 | +Lesson Learned | |
218 | +~~~~~~~~~~~~~~ | |
219 | + | |
220 | +Many architects have a focus on technology technical solutions. But that is too limited. Often, the questions are more | |
221 | +important than the answers! | |
222 | +|BR| | |
223 | +As is demonstrated in this case. One simple question! The right question can trigger the involved experts to find a | |
224 | +solution. | |
225 | + | |
226 | + | |
227 | + | |
228 | + | |
229 | + | |
230 | ++++++ | |
231 | + | |
232 | +Role Models | |
233 | +=========== | |
234 | + | |
235 | + | |
236 | +As discussed earlier, great leaders are essential for inspiring young people to become future leaders. However, today’s | |
237 | +leaders often seem invisible. This is partly due to the small size of (scrum) teams, the lack of regulated role names, | |
238 | +and the premature use of certain attractive roles. | |
239 | +|BR| | |
240 | +This may confuse new, young developers. | |
241 | + | |
242 | +Labelling young people as software architects too early can stagnate their development by reducing their focus on | |
243 | +continued learning and growth. It may also prevent organisations from investing in (more) knowledge and treasure | |
244 | +experience. Similarly, if we consider a Scrum Master a senior (leadership) role, it shouldn't be surprising that one | |
245 | +day, nobody is prepared to lead a huge project. Moreover, if Product Owners only focus on one team, who will address the | |
246 | +needs of the entire product in a few years? | |
247 | +|BR| | |
248 | +Without understanding the various levels and roles, nurturing future leaders becomes challenging. | |
249 | + | |
250 | + | |
251 | + | |
252 | + | |
253 | +Case 7: Magnificent Superficial | |
254 | +------------------------------- | |
255 | + | |
256 | +A fantastic, but young software engineer showed me the product he had been working on. It was marvellous, he was right | |
257 | +to be proud of it. I was impressed. Notwithstanding, I had a hidden smile when he claimed to be ‘the architect’. | |
258 | +|BR| | |
259 | +He had led a team of 2 or 3 pals, for a couple of months. It was a great result, but not a big project. | |
260 | + | |
261 | +There are no regulated role names, nor a de-facto common understanding of the responsibilities of the various roles. And | |
262 | +for technical leaders is even worse than average. So, he was right. Whenever there was an architect involved, it would | |
263 | +be him. | |
264 | +|BR| | |
265 | +But what should we call the ‘How-Leader’ for a big project? | |
266 | + | |
267 | +Most of all, what role model is available to appeal to this young engineer to continue learning, and widen his horizon? | |
268 | +For say, a project of 2 or 3 teams, or a product of 23 man-years? Or, become a future superb leader? | |
269 | + | |
270 | + | |
271 | +Case 8: Promoted or Demotivated? | |
272 | +-------------------------------- | |
273 | + | |
274 | +Not all line managers have a technical background. In this case, a manager tried to encourage an employee to take Scrum | |
275 | +Master training. In his opinion that is a very senior position. The professional refused. He had been a Senior System | |
276 | +Architect (SSA), acted as an interim Release Train Engineer (RTE) for a four-team project, and led over 255 people as an | |
277 | +architect. Why would he want to lead just eight people? | |
278 | + | |
279 | +The manager, with an HR background, didn’t understand he was promoting a step-down. He didn’t know that an RTE is kind | |
280 | +of the boss of several Scrum Masters and that an SSA is usually considered superior to a Solution Train Engineer (STE). | |
281 | +He did apprehend that an SM is like a project manager and presumed that any manager role is *‘higher’* than an | |
282 | +engineering role. | |
283 | +|BR| | |
284 | +So, how could he know? | |
285 | + | |
286 | +Some organisations --tired of having too many, unclear, and constantly changing roles; especially in software | |
287 | +engineering-- use one generic role nowadays: ‘Engineer. Which comes in two variants *Junior* and *Senior*. It’s | |
288 | +convenient and made it harder for the manager above. | |
289 | +|BR| | |
290 | +Besides, with only a few steps on a career staircase, it is hard to reach the top. Even more importantly: how can we | |
291 | +motivate young people to aim for the stars, when they are hidden? | |
292 | + | |
293 | +What should we learn? | |
294 | +===================== | |
295 | + | |
296 | +I hope that by presenting these real cases of what went wrong or right across the three axes of genuine leadership, I’ve | |
297 | +illustrated how easy it is to make mistakes -- again, not to blame, but to flourish. As most software engineers know, | |
298 | +finding a bug is often tougher than fixing it. Similarly, my goal in this article is to help you to identify these | |
299 | +missteps --that is the hard work. | |
300 | + | |
301 | +In an upcoming article, we will explore this further and provide improvement tips. Not just for today, but mostly to | |
302 | +ensure that future leaders are ready when needed. | |
303 | +|BR| | |
304 | +Remember, we need many of them, and some of them should do even better than their predecessors — as embedded systems | |
305 | +grow larger and more complex, Let’s make sure they can stand on our shoulders! | |
306 | + | |
307 | +Have fun maturing ---:sysBMnl-email:`albert` | |
308 | + | |
309 | + | |
310 | +.. seealso:: | |
311 | + | |
312 | + This article on LinkedIn: XXXX |
@@ -12,4 +12,5 @@ | ||
12 | 12 | |
13 | 13 | P1 |
14 | 14 | P2 |
15 | + P3 | |
15 | 16 |