• R/O
  • SSH

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

コミットメタ情報

リビジョン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

変更サマリ

差分

diff -r 0ec834645814 -r 7da62a0eb322 SoftwareCompetence/3Amigos/P1.rst
--- a/SoftwareCompetence/3Amigos/P1.rst Thu Aug 29 11:51:03 2024 +0200
+++ b/SoftwareCompetence/3Amigos/P1.rst Fri Sep 06 17:41:47 2024 +0200
@@ -57,6 +57,8 @@
5757
5858 This is hard, probably too hard for a single person.
5959
60+.. _3Amigos_3axes:
61+
6062 3 axes
6163 ------
6264
diff -r 0ec834645814 -r 7da62a0eb322 SoftwareCompetence/3Amigos/P2.rst
--- a/SoftwareCompetence/3Amigos/P2.rst Thu Aug 29 11:51:03 2024 +0200
+++ b/SoftwareCompetence/3Amigos/P2.rst Fri Sep 06 17:41:47 2024 +0200
@@ -179,8 +179,8 @@
179179 visible role models? Especially as the number of software engineers grows strongly. As does the
180180 number of architects, scrummasters, and even product-owners.
181181
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`’.
184184
185185 Have fun, and grow! ---:sysBMnl-email:`albert`
186186
diff -r 0ec834645814 -r 7da62a0eb322 SoftwareCompetence/3Amigos/P3.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SoftwareCompetence/3Amigos/P3.rst Fri Sep 06 17:41:47 2024 +0200
@@ -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
diff -r 0ec834645814 -r 7da62a0eb322 SoftwareCompetence/3Amigos/images/P3.WorkOnComputer.jpeg
Binary file SoftwareCompetence/3Amigos/images/P3.WorkOnComputer.jpeg has changed
diff -r 0ec834645814 -r 7da62a0eb322 SoftwareCompetence/3Amigos/index.rst
--- a/SoftwareCompetence/3Amigos/index.rst Thu Aug 29 11:51:03 2024 +0200
+++ b/SoftwareCompetence/3Amigos/index.rst Fri Sep 06 17:41:47 2024 +0200
@@ -12,4 +12,5 @@
1212
1313 P1
1414 P2
15+ P3
1516