<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Management | AkitaOnRails.com</title><link>https://akitaonrails.github.io/en/tags/management/</link><description>Fabio Akita's blog — tech, career, and assorted geek topics. English edition.</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 19 Oct 2026 23:20:51 +0000</lastBuildDate><atom:link href="https://akitaonrails.github.io/en/tags/management/index.xml" rel="self" type="application/rss+xml"/><item><title>Estimates are Promises - A Better Metaphor</title><link>https://akitaonrails.github.io/en/2017/06/26/estimates-are-promises-a-better-metaphor/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2017/06/26/estimates-are-promises-a-better-metaphor/</guid><pubDate>Mon, 26 Jun 2017 17:44:00 -0300</pubDate><description>&lt;p&gt;If you didn&amp;rsquo;t know, I frequently answer questions over on Quora. &lt;a href="https://www.quora.com/profile/Fabio-Akita"target="_blank" rel="noopener"&gt;Follow me there&lt;/a&gt;; I&amp;rsquo;ve written almost 600 answers so far, many of them close to my longest posts here on the blog.&lt;/p&gt;
&lt;p&gt;One of the most popular ones answers the question &lt;a href="https://www.quora.com/What-is-the-hardest-thing-you-do-as-a-software-engineer/answer/Fabio-Akita"target="_blank" rel="noopener"&gt;&amp;ldquo;What is the hardest thing you do as a software engineer?&amp;rdquo;&lt;/a&gt;. I wrote something similar in Brazilian Portuguese in the post &lt;a href="http://www.akitaonrails.com/en/2013/08/23/off-topic-estimativas-sao-promessas-promessas-devem-ser-cumpridas"target="_blank" rel="noopener"&gt;&amp;ldquo;Estimativas são Promessas. Promessas devem ser cumpridas.&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In a nutshell, you can never give an estimate that is &amp;ldquo;correct&amp;rdquo;. If you could, it would not be an &amp;ldquo;estimate&amp;rdquo;, it would be a &amp;ldquo;prediction&amp;rdquo;.&lt;/p&gt;</description><content:encoded><![CDATA[<p>If you didn&rsquo;t know, I frequently answer questions over on Quora. <a href="https://www.quora.com/profile/Fabio-Akita"target="_blank" rel="noopener">Follow me there</a>; I&rsquo;ve written almost 600 answers so far, many of them close to my longest posts here on the blog.</p>
<p>One of the most popular ones answers the question <a href="https://www.quora.com/What-is-the-hardest-thing-you-do-as-a-software-engineer/answer/Fabio-Akita"target="_blank" rel="noopener">&ldquo;What is the hardest thing you do as a software engineer?&rdquo;</a>. I wrote something similar in Brazilian Portuguese in the post <a href="http://www.akitaonrails.com/en/2013/08/23/off-topic-estimativas-sao-promessas-promessas-devem-ser-cumpridas"target="_blank" rel="noopener">&ldquo;Estimativas são Promessas. Promessas devem ser cumpridas.&rdquo;</a>.</p>
<blockquote>
  <p>In a nutshell, you can never give an estimate that is &ldquo;correct&rdquo;. If you could, it would not be an &ldquo;estimate&rdquo;, it would be a &ldquo;prediction&rdquo;.</p>

</blockquote>
<p>Let us assume we have neither precognition powers nor magic crystal balls to tell us the future.</p>
<p>To estimate something is to &ldquo;guess&rdquo; the value of something. It&rsquo;s always a guess, the same thing as a valuation. And like any guess, it can never be deemed &ldquo;correct&rdquo;: it&rsquo;s just a likely candidate among an infinite range of possible values.</p>
<blockquote>
  <p>There is zero connection between a guess and the outcome. Understand this simple truth: saying something can happen does not MAKE it happen.</p>

</blockquote>
<p>Estimating tomorrow&rsquo;s weather as rainy does not MAKE it rain. Estimating the result of the Super Bowl does not MAKE it happen. There is zero correlation between an estimate and the actual outcome.</p>
<p>I stated in those articles that <strong>&ldquo;Estimates are Promises&rdquo;</strong>. The intention was to provoke a reaction, since most people assume that estimates can never be promises, exactly because of what I just explained.</p>
<p>What makes a promise special is that once you promise something, you&rsquo;re expected to <strong>ACT</strong> on delivering it.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/643/Skin-in-the-Game.png" alt="Skin in the Game"  loading="lazy" /></p>
<blockquote>
  <p>No one that has no &ldquo;skin in the game&rdquo; should give estimates.</p>

</blockquote>
<p>If you&rsquo;re not an active player in the game, you shouldn&rsquo;t be handing out guesses. The same way no one makes promises on someone else&rsquo;s behalf.</p>
<p>Can you actually make credible promises and keep them? You can, but first you have to understand a few more truths about reality.</p>
<p>You&rsquo;ve probably already seen plenty of articles explaining project management methodologies and techniques. Most of them manage to explain the Whats and the Hows, but as usual, they fail on the Whys.</p>
<p>Why do we need those methodologies? Why are they necessary? Why do they work? What hidden mechanisms do they set in motion?</p>
<p>What makes Agile techniques any different from your usual homeopathy or a budget self-help cliché?</p>
<h3>It&rsquo;s always all about Pareto<span class="hx:absolute hx:-mt-20" id="its-always-all-about-pareto"></span>
    <a href="#its-always-all-about-pareto" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>There is no such thing as a <strong>precise</strong> project scope. There is a limit to adding detail, and past it you just get <a href="http://www.investopedia.com/terms/l/lawofdiminishingmarginalreturn.asp"target="_blank" rel="noopener"><strong>diminishing returns</strong></a>.</p>
<p>The most precise level of detail a feature scope can have is the actual code of the feature. And this matters: the lines of code are <strong>NOT</strong> the outcome. What end users actually experience is the execution of that code at runtime.</p>
<p>The programming itself is the <strong>actual blueprint</strong>. The diagrams, the use cases, the user stories, and anything else that comes before the programming are just a draft, a mere sketch.</p>
<p>A naive architect or designer might think that detailed diagrams, use case documents, and fancy PowerPoint slides are worth as much as an engineering blueprint. They&rsquo;re worth less: they&rsquo;re the equivalent of a <strong>sketch on a napkin</strong>. Volatile and, in practice, mostly worthless.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/644/Screenshot_from_2017-06-26_16-19-14.png" alt="Napkin Sketch"  loading="lazy" /></p>
<p><em>&ldquo;But isn&rsquo;t the programming the same as the construction phase itself, laying bricks on top of bricks?&rdquo;</em> <strong>NO</strong>, that&rsquo;s not what a programmer does. The bricklaying is the job of the language interpreter or the compiler that spits out the executable binary.</p>
<p>This is the metaphor that drives non-programmers crazy. In engineering, the construction itself is the most expensive and time-consuming part. In programming, the expensive part is the blueprint (writing the code), and the &ldquo;construction&rdquo; is trivial: just compiling, which is automatic.</p>
<p>In the same way, a project scope is just a set of sketches. We have to drop the notion that a <strong>&ldquo;complete&rdquo;</strong> scope will ever exist. There&rsquo;s no way to say &ldquo;100% of the scope&rdquo; or &ldquo;closed scope&rdquo;, because a software project scope is, by definition, always incomplete.</p>
<p>On top of that, I&rsquo;ll argue that roughly 80% of this so-called &ldquo;scope&rdquo;, what I prefer to call a sketch, is mostly worthless to most end-user activities: the admin section, the institutional pages nobody reads, convoluted sign-up flows, and so on.</p>
<p>This is why every feature list <strong>MUST</strong> be prioritized. You can usually get by with 20% of the features, which is roughly what people mean when they say &ldquo;MVP&rdquo; or &ldquo;minimum viable product&rdquo;. <strong>Release as early as you can</strong>, get user feedback, and refine the rest of the &ldquo;sketch&rdquo; you call a backlog.</p>
<p>So instead of aiming for an all-or-nothing proposition, hunting for stupidly complex equations to figure out a &ldquo;precise&rdquo; estimate of an incomplete sketch, assume you can actually deliver EARLY the first 20% that really matters and figure out the rest in iterations.</p>
<p>Oh yeah, this is what we call &ldquo;Agile&rdquo;, by the way.</p>
<h3>Agile is about Risk Management<span class="hx:absolute hx:-mt-20" id="agile-is-about-risk-management"></span>
    <a href="#agile-is-about-risk-management" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>People assume Agility is about managing the project management instruments themselves: the backlog, the rituals, the metrics.</p>
<p>Having Agile-like instruments doesn&rsquo;t make you Agile.</p>
<p>Being Agile is keeping <strong>Risk</strong> under control.</p>
<p>Instead of treating projects as an all-or-nothing endeavor, start thinking about them the way an investor thinks about a <strong>portfolio of stocks</strong>. You don&rsquo;t expect the whole portfolio to turn a profit; you assume some stocks will underperform. You just don&rsquo;t know which ones, so you dilute your risk.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/645/635824249336942840-ThinkstockPhotos-152955327.jpg" alt="Portfolio stocks"  loading="lazy" /></p>
<p>Trying to predict the stock market is an exercise in futility.</p>
<p>Trying to predict the precise implementation of a project, especially the long ones, is also an exercise in futility.</p>
<p>So you have to deal with uncertainty the right way: by becoming <a href="https://www.amazon.com/Antifragile-Things-That-Disorder-Incerto/dp/0812979680"target="_blank" rel="noopener"><strong>Antifragile</strong></a>.</p>
<blockquote>
  <p>&ldquo;Some things benefit from shocks; they thrive and grow when exposed to volatility, randomness, disorder, and stressors and love adventure, risk, and uncertainty. Yet, in spite of the ubiquity of the phenomenon, there is no word for the exact opposite of fragile. Let us call it antifragile. Antifragility is beyond resilience or robustness. The resilient resists shocks and stays the same; the antifragile gets better&rdquo; - Nassim Taleb</p>

</blockquote>
<p>Instead of the preposterous exercise in futility of trying to predict uncertainty and random events, you do the reasonable thing: you assume Black Swans exist and you can&rsquo;t predict them. So you prepare for uncertainty the only reasonable way there is, by not trying to predict them.</p>
<p>Expose the small mistakes early and correct them often. Implementing everything in a black box and doing a Big Bang deployment is the easiest path to <strong>failure</strong>. Delivering often, exposing the bugs, and fixing them constantly is accepting that mistakes will happen and gaining strength along the way.</p>
<p><a href="https://www.amazon.com/Antifragile-Things-That-Disorder-Incerto/dp/0812979680"target="_blank" rel="noopener"><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/646/Antifragile-3.jpg" alt="Antifragile"  loading="lazy" /></a></p>
<h3>A Better Metaphor<span class="hx:absolute hx:-mt-20" id="a-better-metaphor"></span>
    <a href="#a-better-metaphor" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/642/steel_mill_blast_furnace_coking_coal_iron_ore_600.jpg" alt="Iron Ore Furnace"  loading="lazy" /></p>
<p>Imagine that you, whether the non-programmer client or the programmer who has no clue how to explain the process to that client, have an iron ore furnace to manage.</p>
<p>The thing about those furnaces is that if you heat them too much, they can explode in your face. If you cool them down too much, the ore hardens.</p>
<p>Your job is to add coal to the furnace, and you decide the rate. Too fast and it gets exploding hot. Too slow and you might put out the fire and lose your furnace.</p>
<p>Now try to estimate a constant intake of coal to keep the furnace in good shape.</p>
<p>You can&rsquo;t.</p>
<p>The easiest way out is to install a <strong>thermometer</strong> that tracks the furnace&rsquo;s current temperature.</p>
<p>You stay safe within a certain margin of temperatures, speeding up or slowing down the coal intake by checking the thermometer all the time.</p>
<p>ALL THE FREAKING TIME.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/647/iron-4.jpg" alt="Iron Furnace"  loading="lazy" /></p>
<p>This is what Agile-based &ldquo;Velocity&rdquo; (or any of the fancier Monte Carlo simulations) actually is: a thermometer.</p>
<p>If the Velocity is too high, your team is probably working extra hours or delivering lower-quality code. This will backfire: either your team burns out too fast, or the code piles up <a href="http://www.akitaonrails.com/en/2017/06/22/the-economics-of-software-development"target="_blank" rel="noopener">technical debt</a> too fast and you won&rsquo;t be able to pay it back. Keep that pace and Velocity drops to a halt (the furnace explodes).</p>
<p>If the Velocity is too low, your team is slacking off, your backlog is a useless piece of shit no one can understand even after 10-hour meetings, or you already let Velocity run too high and now you&rsquo;re paying back technical debt, or your team is dead from burnout (fire extinguished).</p>
<p>You want to keep Velocity <strong>steady</strong>, constant. This is what being Agile is all about: keeping an eye on the thermometer and responding.</p>
<h3>The Triforce of Projects<span class="hx:absolute hx:-mt-20" id="the-triforce-of-projects"></span>
    <a href="#the-triforce-of-projects" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/650/ironTriangle.jpg" alt="Iron Triangle"  loading="lazy" /></p>
<p>Welcome to the Iron Triangle of Project Management.</p>
<blockquote>
  <p>Repeat after me: if I want to lock down the time, the cost, and the scope, <strong>I am a moron</strong>.</p>

</blockquote>
<p>Repeat again.</p>
<p>You should lock down time and cost. If you&rsquo;ve read this far, you know you can never lock down &ldquo;scope&rdquo;; you can only make it fat, and not necessarily more valuable. This is why I always say the very definition of a Product Manager or Product Owner is to be the bastion of ROI (Return on Investment).</p>
<p>Now, why?</p>
<p>Because the Iron Triangle has the following corollary:</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/651/320px-Project-triangle.svg.png" alt="Project Triangle"  loading="lazy" /></p>
<ul>
<li>If you want it fast and good, it can&rsquo;t be cheap</li>
<li>If you want it fast and cheap, it can&rsquo;t be good</li>
<li>If you want it good and cheap, it can&rsquo;t be fast</li>
</ul>
<p>This is a Law, you can&rsquo;t fiddle with it. Pick your choice.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/652/keep-calm-and-make-your-choice-9.png" alt="Make your choice"  loading="lazy" /></p>
<h3>How do I keep Promises then?<span class="hx:absolute hx:-mt-20" id="how-do-i-keep-promises-then"></span>
    <a href="#how-do-i-keep-promises-then" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Now, with those 3 truths in hand:</p>
<ul>
<li>You can&rsquo;t have your lunch and eat it too (cheap, fast, and good)</li>
<li>You&rsquo;re managing the temperature of the furnace</li>
<li>You only need 20% of the &ldquo;sketch&rdquo; you call &ldquo;scope&rdquo;</li>
</ul>
<p>Yes, any experienced developer can give you a &ldquo;ballpark&rdquo; estimate. A ballpark goes like this:</p>
<ul>
<li>1 month (maybe 1 month and a half, but definitely less than 2)</li>
<li>3 months (it&rsquo;s more than 2 months, less than 6 months)</li>
<li>6 months (it&rsquo;s more than 4 months, less than 9 months)</li>
<li>it&rsquo;s more than 6 months, probably less than 1 year</li>
</ul>
<p>Don&rsquo;t even try to granulate more than that. It&rsquo;s useless.</p>
<p><strong>Lock the time.</strong> And <strong>lock the cost</strong> (that being the number of developers times the hourly rate times the total amount of estimated hours). That&rsquo;s it.</p>
<p>Now jot down what the client calls &ldquo;scope&rdquo; as user stories in a backlog and have him prioritize it.</p>
<p>Start the iterations. After each one, release to a staging environment. Non-programmers, beware: ALWAYS make sure whichever programmer you hire delivers testable versions of the finished stories to a publicly available URL you can actually visit and test.</p>
<p>If your programmer refuses to do that or gives excuses: <strong>FIRE HIM</strong>.</p>
<p>If your programmer or company or whatever promises you a &ldquo;closed scope&rdquo; price, promises to do everything, and you believe them, you&rsquo;re too gullible.</p>
<p>Do you think it&rsquo;s funny to play this stupid game of <em>&ldquo;I&rsquo;ll pretend to tell you that I know the truth and you will pretend that you believe what I tell you.&rdquo;</em></p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/648/e433998315b73da036e65884b67eba43.jpg" alt="Actions and Words"  loading="lazy" /></p>
<p>No serious professional has time for stupid games, and the only honest thing anyone can say about any software project is: <em>&ldquo;given my experience I believe the ballpark for this kind of project is within X months, given the Y and Z assumptions&rdquo;.</em></p>
<p>You don&rsquo;t have to believe him. You just need to start checking the thermometer. Any non-programmer can assess the quality of the delivery based on the frequent deliveries of the prioritized features.</p>
<p><em>&ldquo;But what if after 2 weeks I don&rsquo;t like the results?&rdquo;</em> Easy: <strong>FIRE HIM</strong>.</p>
<p>And sometimes &ldquo;firing&rdquo; isn&rsquo;t even the right word. Sometimes the relationship is difficult and the best thing to do is to part ways.</p>
<p>You have to accept losing 2 weeks, or any short period of time, as part of Risk Management. It&rsquo;s better to accept losing 2 weeks of your project budget than to blindly trust someone for 6 months and lose the entire project budget and then some.</p>
<p>Pareto again: Agility is about Risk Management. You accept that losing 20% of your budget is okay, and you play with that. And that&rsquo;s fine, because you only really need a bit more than 20% of the sketchy scope you have.</p>
<p>See what I just did with the Math here?</p>
<p>We stop playing the pretend game and actually manage the project&rsquo;s risks. You collaborate on the equivalent thermometer, which combines the prioritized backlog (the scale) and the velocity (the temperature), and you keep an eye on the partial deliveries in the staging environment.</p>
<h3>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>So yes, Estimates should be taken as seriously as Promises. You can give reasonable Estimates as long as you can manage the Risks and the Client accepts the rules of the game: there is no &ldquo;closed, complete scope&rdquo;, priorities first, and testing and accepting delivered features every week.</p>
<p>The idea behind Promises is that you have to <strong>MANAGE</strong> in order to meet them. The best way to do that is to frequently stop, re-assess, and keep going. It feels like you&rsquo;re wasting time, but you&rsquo;re actually saving yourself from wasting it.</p>
<p>If you don&rsquo;t have skin in the game, back off.</p>
<p>Velocity is meant to be kept steady, at a predictable rate. Use the variance as a sign of being too fast or too slow, adjust the other variable, measure again, and go. Just like a furnace thermometer.</p>
<p>There are several versions of &ldquo;thermometers&rdquo;, from Joel Spolsky&rsquo;s <a href="https://www.joelonsoftware.com/2007/10/26/evidence-based-scheduling/"target="_blank" rel="noopener">Evidence Based Scheduling</a> all the way to fancy Monte Carlo simulations and other stochastic processes (they are all thermometers, and NOT estimation tools).</p>
<p>What stops you from doing that is using the wrong metaphors and the wrong references.</p>
<p>Instead of hunting for equivalent metaphors in construction, factories, and other &ldquo;hard&rdquo;-ware assemblies, look elsewhere, where you&rsquo;ll find other &ldquo;soft&rdquo;-ware processes.</p>
<p>Musicians have deadlines. Painters have deadlines. Choreographers have deadlines. Sports have deadlines. Research laboratories have deadlines. How do they meet them? By constantly checking the current state, comparing it to the goals, assessing whether what they&rsquo;re doing is actually working, and changing what doesn&rsquo;t.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/649/conducting_starwars.jpg" alt="Conducting Star Wars"  loading="lazy" /></p>
<p>Hollywood has deadlines. They have far worse variables to control than any software project you&rsquo;ll ever run into, and they still manage to deliver. And profit.</p>
<p>And accept that you can&rsquo;t control every variable, so stop trying. Think of it as the financial markets. One day you have <a href="https://web.archive.org/web/20170705022520/https://motherboard.vice.com/en_us/article/zme78x/why-the-value-of-ethereum-has-skyrocketed-4000-percent"target="_blank" rel="noopener">Ethereum skyrocketing 4,000%</a> and the very next day you have it <a href="http://www.cnbc.com/2017/06/22/buyers-beware-lessons-from-the-ethereum-flash-crash.html"target="_blank" rel="noopener">falling down to ashes in a flash-crash</a>.</p>
<p>Don&rsquo;t aim to become resistant or resilient. Prepare to become Antifragile.</p>
]]></content:encoded><category>agile</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>[Off-Topic] Compilation: "Processes and Methodologies Won't Help You!"</title><link>https://akitaonrails.github.io/en/2015/01/07/off-topic-coletanea-processos-e-metodologias-nao-vao-te-ajudar/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2015/01/07/off-topic-coletanea-processos-e-metodologias-nao-vao-te-ajudar/</guid><pubDate>Wed, 07 Jan 2015 14:33:00 -0200</pubDate><description>&lt;p&gt;This is one of the oldest subjects I explore on this blog. Many of the principles and philosophies behind it are in my infamous (and long) &lt;a href="http://www.akitaonrails.com/en/off-topic/"target="_blank" rel="noopener"&gt;Off-Topic posts&lt;/a&gt;. Since it&amp;rsquo;s many years of posts, I decided to compile what I consider the foundations of what everyone needs to know about this long bikeshedding called &amp;ldquo;processes and methodologies.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Start simple with the article that lends its title to this compilation, &lt;a href="http://www.akitaonrails.com/en/2013/05/24/processos-e-metodologias-nao-vao-te-ajudar"target="_blank" rel="noopener"&gt;Processes and Methodologies Won&amp;rsquo;t Help You&lt;/a&gt;, which I published on Abril&amp;rsquo;s blogs in 2011. It&amp;rsquo;s the starting point for understanding what processes, methodologies, and procedures are.&lt;/p&gt;</description><content:encoded><![CDATA[<p>This is one of the oldest subjects I explore on this blog. Many of the principles and philosophies behind it are in my infamous (and long) <a href="http://www.akitaonrails.com/en/off-topic/"target="_blank" rel="noopener">Off-Topic posts</a>. Since it&rsquo;s many years of posts, I decided to compile what I consider the foundations of what everyone needs to know about this long bikeshedding called &ldquo;processes and methodologies.&rdquo;</p>
<p>Start simple with the article that lends its title to this compilation, <a href="http://www.akitaonrails.com/en/2013/05/24/processos-e-metodologias-nao-vao-te-ajudar"target="_blank" rel="noopener">Processes and Methodologies Won&rsquo;t Help You</a>, which I published on Abril&rsquo;s blogs in 2011. It&rsquo;s the starting point for understanding what processes, methodologies, and procedures are.</p>
<p>Next, go straight to the more recent <a href="http://www.akitaonrails.com/en/2014/09/28/off-topic-agile-a-verdade-por-tras-do-metodo"target="_blank" rel="noopener">Agile: the Truth Behind the Method</a> and understand once and for all: no methodology or magic recipe will save incompetent or bad-character members of any team. After trying to improve attitude and training without success, you only rid the team of these elements one way: by replacing the members. Nothing saves a <a href="http://www.akitaonrails.com/en/2009/03/30/off-topic-net-negative-producing-programmer"target="_blank" rel="noopener">Net Negative Producing Programmer</a>.</p>
<p>Many are left with that feeling of &ldquo;waste&rdquo;, like <strong>&ldquo;man, but we&rsquo;ve invested so much in him, what if we invest a little more?&rdquo;</strong>. That comes from failing to understand that <a href="http://www.akitaonrails.com/en/2007/08/19/a-falcia-do-custo-perdido"target="_blank" rel="noopener">Sunk Cost</a> is better than increasing your Opportunity Cost.</p>
<p>On the same &ldquo;Agile is Dead&rdquo; theme, or, more explicitly, &ldquo;Agile-by-bikeshedding-consultants is Dead&rdquo;, it&rsquo;s worth recalling the old theme of <a href="http://www.akitaonrails.com/en/2009/11/04/off-topic-o-problema-das-credenciais"target="_blank" rel="noopener">The Problem of Credentials</a> and <a href="http://www.akitaonrails.com/en/2009/09/12/off-topic-a-argumenta--o-atrav-s-da-intimida--o"target="_blank" rel="noopener">Argumentation through Intimidation</a>. The credential guy has the easiest job in the world: he shows up at your company to implement &ldquo;practices&rdquo; he doesn&rsquo;t really practice. And trying to implement it at one or half a dozen places is ridiculously the same as nothing.</p>
<p>When it &ldquo;seems&rdquo; to work, he puts the case on his portfolio list as a &ldquo;success.&rdquo; When it goes wrong, he says &ldquo;you didn&rsquo;t do it right.&rdquo; Terrible.</p>
<p>Forget pompous names and different schools of methodologies. Everything starts from exactly the same principle: <a href="http://www.akitaonrails.com/en/2008/12/16/off-topic-m-todo-cient-fico-vs-cargo-cult"target="_blank" rel="noopener">Scientific Method vs Cargo Cult</a>, where it&rsquo;s clear no one understands the main thing about the method: it doesn&rsquo;t pick sides or root for any team.</p>
<p><strong>The phrase &ldquo;it&rsquo;s proven to work because I&rsquo;ve seen it working in 100 places&rdquo; doesn&rsquo;t exist.</strong></p>
<p>Anyone who uses a phrase similar to this is clearly an amateur. By Karl Popper&rsquo;s principle of <a href="http://en.wikipedia.org/wiki/Falsifiability"target="_blank" rel="noopener">&ldquo;Falsifiability&rdquo;</a>, instead of trying to prove something works, it&rsquo;s better to try to disprove that it works. Because it doesn&rsquo;t matter how many tons of evidence we manage to accumulate that something is true, a single piece of evidence that makes it false is enough to destroy any hypothesis. That&rsquo;s why the scientific body is robust, not because we have mountains of evidence in its favor, but because what we&rsquo;ve accumulated so far hasn&rsquo;t been proven false.</p>
<p>But human beings are fallible. Our non-rational brain, a leftover of our long evolution, is still exceptional at seeing patterns where none exist, as I describe in <a href="http://www.akitaonrails.com/en/2008/03/01/off-topic-somos-matematicamente-ignorantes"target="_blank" rel="noopener">We Are Mathematically Ignorant</a> and <a href="http://www.akitaonrails.com/en/2013/06/21/processos-metodologias-e-o-cerebro-humano"target="_blank" rel="noopener">Processes, Methodologies and the Human Brain</a>.</p>
<p>The most accepted hypothesis is that we tend to confuse correlation with causation. Because &ldquo;A&rdquo; came before &ldquo;B&rdquo;, we tend to think that &ldquo;A&rdquo; caused &ldquo;B&rdquo;, and most of the time this isn&rsquo;t true. The world is more random than we&rsquo;d like to accept. Shit just happens.</p>
<p>This leads to the pseudo-intellectuals who want to push their &ldquo;Southbeach Diet&rdquo; of the day and become mere trolls or haters, as I describe in <a href="http://www.akitaonrails.com/en/2013/10/30/off-topic-matematica-trolls-haters-e-discussoes-de-internet"target="_blank" rel="noopener">Math, Trolls, Haters and Internet Discussions</a>. They create more and more diets, as I talk about in <a href="http://www.akitaonrails.com/en/2013/10/07/off-topic-noestimates-debunked/"target="_blank" rel="noopener">#noEstimates Debunked</a>, <a href="http://www.akitaonrails.com/2013/05/31/desmistificando-o-metodo-kanban"target="_blank" rel="noopener">Demystifying the Kanban method</a>, and <a href="http://www.akitaonrails.com/en/2009/12/16/off-topic-cuidado-com-o-kanban-butt"target="_blank" rel="noopener">Watch Out for Kanban-butt</a>.</p>
<p>And all of that I linked above is just the introduction to the most important thing of all: be skeptical all the time, nothing is automatically true, no matter who&rsquo;s saying it. And as Carl Sagan would say: <em>&ldquo;extraordinary claims DEMAND extraordinary evidence.&rdquo;</em> In the end, we always come back to the theme of <a href="http://www.akitaonrails.com/en/2007/08/23/off-topic-inimigos-da-razo"target="_blank" rel="noopener">Enemies of Reason</a>.</p>
<p>The problem is: if none of this works, what do you do? It&rsquo;s much easier to say what&rsquo;s wrong than to say what to do. The problem was never the recipe. Everything comes down to the decisions you make.</p>
<p>Each decision brings consequences, which lead to new dilemmas, which require more decisions. As Neo would say in The Matrix Reloaded: &ldquo;The problem is choices.&rdquo; There simply is no magic recipe, diet, or methodology that will make you make better decisions all the time.</p>
<p>There&rsquo;s a desire to seek an external tool, an external source of &ldquo;validation,&rdquo; one of the <a href="http://web.archive.org/web/20141029201958/http://startupi.com.br/2013/03/a-maioria-disse-que-usaria-meu-produto-vai-dar-certo-nao/"target="_blank" rel="noopener">worst words</a> invented in recent times. The catch is that decisions carry <strong>consequences</strong>, and most people simply wish they didn&rsquo;t have to bear them. That&rsquo;s the root of the problem. This is the <a href="http://web.archive.org/web/20150110212840/http://startupi.com.br/2014/02/o-dilema-da-nova-geracao-empreender-ou-arranjar-um-emprego/"target="_blank" rel="noopener">comfort zone</a>: <a href="http://web.archive.org/web/20150404181526/http://startupi.com.br/2013/07/zona-de-conforto-sair-as-ruas-nao-e-a-unica-solucao/"target="_blank" rel="noopener">everyone complains and wants things</a>, but no one wants to make decisions, much less face their consequences.</p>
<p>The only way to make better decisions is to study and train, as much as possible, all the time, continuously. <a href="http://www.akitaonrails.com/en/2014/05/02/off-topic-carreira-em-programacao-codificar-nao-e-programar"target="_blank" rel="noopener">Experience isn&rsquo;t doing the same thing for 10 years straight</a>, but becoming very good at 10 different things over those 10 years. <a href="http://www.akitaonrails.com/en/2013/10/31/traducao-carta-para-um-jovem-programador-considerando-uma-startup"target="_blank" rel="noopener">Following the trend won&rsquo;t help you</a>, just like following magic diets. They leave you a bit thinner at the beginning, and soon the rebound comes and leaves you heavier than you were before. That&rsquo;s why Processes and Methodologies Won&rsquo;t Help You.
</content></p>
]]></content:encoded><category>agile</category><category>management</category><category>philosophy</category><category>off-topic</category></item><item><title>[Small Bites/Off-Topic] "People over Processes" — what are "People"?</title><link>https://akitaonrails.github.io/en/2014/11/21/small-bites-off-topic-people-over-processes-o-que-sao-people/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2014/11/21/small-bites-off-topic-people-over-processes-o-que-sao-people/</guid><pubDate>Fri, 21 Nov 2014 16:06:00 -0200</pubDate><description>&lt;p&gt;This phrase shows up a lot in the agile world. The correct reading of the 4 values of the Agile Manifesto is right there in what it says itself: &amp;ldquo;That is, while there is value in the items on the right, we value the items on the left more.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The trouble is using the phrase as an excuse. It turns into &amp;ldquo;we don&amp;rsquo;t need processes, just let people choose,&amp;rdquo; or &amp;ldquo;people choose, so we&amp;rsquo;ll have consensus on everything,&amp;rdquo; the fallacy of the &lt;a href="https://akitaonrails.github.io/en/2011/04/25/off-topic-mea-culpa-organizacoes-democraticas-nao-funcionam"&gt;democratic organization&lt;/a&gt;. At bottom, it&amp;rsquo;s a way to justify not understanding the value of having processes.&lt;/p&gt;</description><content:encoded><![CDATA[<p>This phrase shows up a lot in the agile world. The correct reading of the 4 values of the Agile Manifesto is right there in what it says itself: &ldquo;That is, while there is value in the items on the right, we value the items on the left more.&rdquo;</p>
<p>The trouble is using the phrase as an excuse. It turns into &ldquo;we don&rsquo;t need processes, just let people choose,&rdquo; or &ldquo;people choose, so we&rsquo;ll have consensus on everything,&rdquo; the fallacy of the <a href="/en/2011/04/25/off-topic-mea-culpa-organizacoes-democraticas-nao-funcionam">democratic organization</a>. At bottom, it&rsquo;s a way to justify not understanding the value of having processes.</p>
<p>Agile, derived from Lean, is entirely based on processes. And the pillar of original Lean (not the derivations like Lean Startup or Kanban) is <a href="http://www.akitaonrails.com/2013/05/31/desmistificando-o-metodo-kanban"target="_blank" rel="noopener">&ldquo;Kaizen&rdquo;</a>, that is, <a href="/en/2009/12/10/off-topic-voce-nao-entende-nada-de-scrum">&ldquo;continuous improvement&rdquo;</a>.</p>
<p>The idea is that <a href="/en/2009/06/14/off-topic-padr-es-commodities-e-inova--es">today should be at least a little better than yesterday</a>. What we do is measurable, and because of that we can say that today came out better than yesterday. The principle is simple; the execution, not so much. If you haven&rsquo;t read them yet, follow the links in this paragraph to understand these concepts.</p>
<p>Now comes the bad part: how do we talk about people? Or, more specifically, about people&rsquo;s behavior?</p>
<p>Since we&rsquo;re all &ldquo;people,&rdquo; we&rsquo;re sure we know how people think. And nothing could be further from the truth. We carry preconceived ideas, fallacious, superstitious, and prejudiced, many of them long outdated. From being repeated so often as clichés, we still believe them, the same way plenty of people still believe we only use <a href="https://en.wikipedia.org/wiki/Ten_percent_of_brain_myth"target="_blank" rel="noopener">10% of our brain</a> or that <a href="/en/2008/12/16/off-topic-m-todo-cient-fico-vs-cargo-cult">you can&rsquo;t have mango with milk</a>.</p>
<p>And we don&rsquo;t have to guess. Just like with processes, there is a long literature on people: psychology, sociology (which evolved a great deal since the 90s thanks to the study of networks), behavioral economics, among others. It&rsquo;s impossible for someone from tech to become a specialist in the Humanities, but if the responsibility is to prioritize people, on top of processes, we&rsquo;d better equip ourselves well enough.</p>
<p>This is a Small Bite because I don&rsquo;t intend, this time, to go into detail on the subject. I&rsquo;d rather leave a few books I really like to give some grounding.</p>
<p>Within the tech field itself there are some classics worth reading:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams"target="_blank" rel="noopener">Peopleware</a> by Tom DeMarco</li>
<li><a href="https://en.wikipedia.org/wiki/The_Mythical_Man-Month"target="_blank" rel="noopener">The Mythical Man Month</a> by Fred Brooks</li>
<li><a href="https://www.amazon.com/dp/0932633420"target="_blank" rel="noopener">The Psychology of Computer Programming</a> by Gerald Weinberg</li>
</ul>
<p>From there we can move on to Behavioral Economics and Psychology:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow"target="_blank" rel="noopener">Thinking, Fast and Slow</a> by Nobel laureate Daniel Kahneman</li>
<li><a href="https://en.wikipedia.org/wiki/Predictably_Irrational"target="_blank" rel="noopener">Predictably Irrational</a> by Dan Ariely</li>
<li><a href="https://www.amazon.com/dp/0061995045"target="_blank" rel="noopener">The Upside of Irrationality: The Unexpected Benefits of Defying Logic</a> by Dan Ariely</li>
<li><a href="https://www.amazon.com/dp/0062183591"target="_blank" rel="noopener">The (Honest) Truth about Dishonesty</a> by Dan Ariely</li>
<li><a href="http://web.archive.org/web/20141130023720/http://www.lucifereffect.com/"target="_blank" rel="noopener">The Lucifer Effect</a> by Philip Zimbardo</li>
<li><a href="https://www.amazon.com/dp/B001HD8NZ8"target="_blank" rel="noopener">Talent Is Overrated</a> by Geoffrey Colvin</li>
<li><a href="https://www.amazon.com/dp/014303622X"target="_blank" rel="noopener">Descartes&rsquo; Error: Emotion, Reason, and the Human Brain</a> by Antonio Damasio</li>
<li><a href="https://www.amazon.com/dp/081297381X"target="_blank" rel="noopener">The Black Swan</a> by Nassim Taleb</li>
<li><a href="https://www.amazon.com/dp/0812975219"target="_blank" rel="noopener">Fooled by Randomness</a> by Nassim Taleb</li>
</ul>
<p>And, more specifically, about the behavior of various agents in groups (network theory):</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Linked:_The_New_Science_of_Networks"target="_blank" rel="noopener">Linked, the New Science of Networks</a> by Albert-László Barabási</li>
<li><a href="https://www.amazon.com/dp/0393325423"target="_blank" rel="noopener">Six Degrees: The Science of a Connected Age</a> by Duncan Watts</li>
<li><a href="https://www.amazon.com/dp/0307951790"target="_blank" rel="noopener">Everything Is Obvious: How Common Sense Fails Us</a> by Duncan Watts</li>
<li><a href="https://www.amazon.com/dp/0786887214"target="_blank" rel="noopener">Sync: How Order Emerges From Chaos In the Universe, Nature, and Daily Life</a> by Steven H. Strogatz</li>
<li><a href="https://www.amazon.com/dp/0143113453"target="_blank" rel="noopener">Chaos: Making a New Science</a> by James Gleick</li>
<li><a href="https://www.amazon.com/dp/0813349109"target="_blank" rel="noopener">Nonlinear Dynamics and Chaos</a> by Steven H. Strogatz</li>
<li><a href="https://www.amazon.com/dp/0465043577"target="_blank" rel="noopener">The (Mis)behavior of Markets</a> by Benoit Mandelbrot</li>
</ul>
<p>Yes, a lot of these books are pretty superficial (none is technical or specialist), but the intent is just to give an introduction to the various areas. Over time, I dropped some that were too superficial, already in the entertainment and self-help category, like Malcolm Gladwell, Dan Pink, Clayton Christensen, and Clay Shirky. Even so, some of them are worth reading.</p>
<p>The main thing is the conclusion: contrary to what we usually think, we, people, aren&rsquo;t as rational as we&rsquo;d like, and our behavior is heavily influenced by external agents and by the environment.</p>
]]></content:encoded><category>agile</category><category>psychology</category><category>management</category><category>off-topic</category></item><item><title>[Off-Topic] Agile: the Truth Behind the Method</title><link>https://akitaonrails.github.io/en/2014/09/28/off-topic-agile-a-verdade-por-tras-do-metodo/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2014/09/28/off-topic-agile-a-verdade-por-tras-do-metodo/</guid><pubDate>Sun, 28 Sep 2014 23:18:00 -0300</pubDate><description>&lt;p&gt;This year, on top of the &lt;a href="http://www.akitaonrails.com/2014/08/23/small-bite-um-pouco-tarde-o-grande-debate-sobre-tdd"target="_blank" rel="noopener"&gt;discussion about TDD&lt;/a&gt; (which isn&amp;rsquo;t dead!), none other than one of the Agile Manifesto signatories, Dave Thomas, declared the death of &amp;ldquo;Agile&amp;rdquo; as we know it today.&lt;/p&gt;
&lt;p&gt;A few articles that can set up the rest of the discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;by Dave Thomas: &lt;a href="https://pragdave.me/blog/2014/03/04/time-to-kill-agile/"target="_blank" rel="noopener"&gt;Agile Is Dead (Long Live Agility)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;by Richard Bishop: &lt;a href="http://web.archive.org/web/20140908134511/http://rubiquity.com/2014/03/12/agile-is-dead-angry-developer.html"target="_blank" rel="noopener"&gt;Agile Is Dead: The Angry Developer Version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;by Giles Bowkett: &lt;a href="http://gilesbowkett.blogspot.com/2014/09/why-scrum-should-basically-just-die-in.html"target="_blank" rel="noopener"&gt;Why Scrum Should Basically Just Die In A Fire&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At my company, since day one, we don&amp;rsquo;t use the word &amp;ldquo;Agile,&amp;rdquo; &amp;ldquo;Scrum,&amp;rdquo; or any other buzzword. We do have &amp;ldquo;sprints,&amp;rdquo; but things like grooming and planning poker (just kidding!) are by no means &amp;ldquo;imposed.&amp;rdquo; The practices get used, with or without the names, whenever they&amp;rsquo;re needed. I don&amp;rsquo;t like saying &amp;ldquo;Scrum,&amp;rdquo; &amp;ldquo;Kanban,&amp;rdquo; or any other label; mentioning these names gives me a mild sense of embarrassment.&lt;/p&gt;</description><content:encoded><![CDATA[<p>This year, on top of the <a href="http://www.akitaonrails.com/2014/08/23/small-bite-um-pouco-tarde-o-grande-debate-sobre-tdd"target="_blank" rel="noopener">discussion about TDD</a> (which isn&rsquo;t dead!), none other than one of the Agile Manifesto signatories, Dave Thomas, declared the death of &ldquo;Agile&rdquo; as we know it today.</p>
<p>A few articles that can set up the rest of the discussion:</p>
<ul>
<li>by Dave Thomas: <a href="https://pragdave.me/blog/2014/03/04/time-to-kill-agile/"target="_blank" rel="noopener">Agile Is Dead (Long Live Agility)</a></li>
<li>by Richard Bishop: <a href="http://web.archive.org/web/20140908134511/http://rubiquity.com/2014/03/12/agile-is-dead-angry-developer.html"target="_blank" rel="noopener">Agile Is Dead: The Angry Developer Version</a></li>
<li>by Giles Bowkett: <a href="http://gilesbowkett.blogspot.com/2014/09/why-scrum-should-basically-just-die-in.html"target="_blank" rel="noopener">Why Scrum Should Basically Just Die In A Fire</a></li>
</ul>
<p>At my company, since day one, we don&rsquo;t use the word &ldquo;Agile,&rdquo; &ldquo;Scrum,&rdquo; or any other buzzword. We do have &ldquo;sprints,&rdquo; but things like grooming and planning poker (just kidding!) are by no means &ldquo;imposed.&rdquo; The practices get used, with or without the names, whenever they&rsquo;re needed. I don&rsquo;t like saying &ldquo;Scrum,&rdquo; &ldquo;Kanban,&rdquo; or any other label; mentioning these names gives me a mild sense of embarrassment.</p>
<p>For anyone who actually applies agile practices day to day, none of this is news. Nobody argues about things like Collective Code Ownership (Github!), Continuous Integration (Jenkins, Travis, Semaphore, etc.), Test Driven Development (Rspec, Jasmine, Capybara, etc.), Refactoring, YAGNI, User Stories/Requirements/Use Cases (or whatever you want to call it: basically, scope). Look at how open source projects run: in terms of programming practices, it&rsquo;s not much more than that.</p>
<p>The problem is the process: project management itself. People talk endlessly about Waterfall vs Agile, but that&rsquo;s a load of bullshit. What&rsquo;s worth lamenting is how the world of consultancies &ldquo;specialized&rdquo; in &ldquo;Agile processes&rdquo; has <strong>prostituted</strong> Agility.</p>
<p>And it&rsquo;s true. That&rsquo;s why I don&rsquo;t &ldquo;sell&rdquo; things like &ldquo;methodology implementation,&rdquo; and I honestly don&rsquo;t recommend anyone hire a third party for it. If you really must, size up how much hands-on time in the actual code and the day-to-day the candidate really has. Most of them rack up more &ldquo;verbal&rdquo; hours than hours of action.</p>
<p>In this article I won&rsquo;t give the solution, that&rsquo;s for a future one. Here I just want to state the one big truth nobody warns you about, which is why any implementation attempt will fail: implementing any Agile practices, processes, and methods <strong>requires</strong> a good team, programmers and managers and everyone else.</p>
<p>Does &ldquo;good team&rdquo; mean a team of nothing but &ldquo;seniors&rdquo;? No. It requires people committed to their craft, whether juniors or seniors. And by the way, the folks many people today call &ldquo;seniors&rdquo; or &ldquo;ninjas&rdquo; (argh, whether it&rsquo;s because they give talks or because of their many years of &ldquo;experience&rdquo;) are almost all barely committed and merely arrogant. Again, more talk than action.</p>
<p>This point is crucial: plenty of people will try to implement &ldquo;Agile&rdquo; hoping to turn a bad team, or a bad company, into something better. That&rsquo;s not going to happen. At first it&rsquo;ll look like things &ldquo;improved&rdquo; or at least that something &ldquo;changed.&rdquo; But of course: you&rsquo;re implementing a few merely &ldquo;different&rdquo; practices, so naturally something will change for a while.</p>
<p>Programming is a profession of practice. You can&rsquo;t turn a bad programmer into a good one just by bolting on methods, the same way making a rookie soccer player sit through a two-day training will never turn him into a goal-scorer. Only hard, uninterrupted, consistent practice, made of small continuous improvements, will maybe get him there. In my cynicism, <a href="/en/2010/06/16/railsconf-2010-video-interview-robert-martin-english">I told Bob Martin directly</a> my theory about what motivated Ken Schwaber to create something as silly as Scrum Certification, at Railsconf 2010.</p>
<p>Anyone who was programming in the 80s and 90s didn&rsquo;t see anything that disruptive when the descriptions of the principles and practices called &ldquo;Agile&rdquo; showed up in the late 90s, up to the publication of the manifesto in 2001. What was different is that someone finally condensed everything into a marketable commercial package, mostly Scrum (which on its own includes none of the important programming practices from Extreme Programming). Want to see how the practices have been evolving for far longer? Read <a href="http://www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary-ebook/dp/B0026OR3LM/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1411957445&amp;sr=1-1&amp;keywords=the&#43;cathedral&#43;and&#43;the&#43;bazaar"target="_blank" rel="noopener">The Cathedral and the Bazaar</a> and <a href="http://www.amazon.com/The-Mythical-Man-Month-Engineering-Anniversary/dp/0201835959"target="_blank" rel="noopener">The Mythical Man Month</a>.</p>
<p>So no: implementing Scrum, or even starting to implement XP, <strong>will not</strong> save a bad team. One here or there, who already had the disposition, the talent, and the drive, will manage to become agile after practicing, screwing up, and practicing more. The rest, who don&rsquo;t have the talent or the disposition, or worse, are flat-out bad-character, won&rsquo;t change.</p>
<p>No methodology on Earth will ever change a person&rsquo;s personality, at least not in so little time. Think of it this way: his mother couldn&rsquo;t get the guy to quit being lazy and a stall-tactic artist, you won&rsquo;t either, and that&rsquo;s not your job anyway. Your job is to deliver value.</p>
<p>The unspoken truth of the Agile world is that applying agile practices comes naturally among good programmers who already have experience. It won&rsquo;t be useful on a rookie team, which still needs a lot of practice, with or without agile principles.</p>
<p>I said you just have to look at how the open source world works. Contrary to what a lot of newbie Brazilians imagine, open source has, in principle, nothing to do with inclusion or leftist movements. I&rsquo;d sum up open source as &ldquo;the most efficient capitalist way to maintain commodities.&rdquo; It&rsquo;s highly exclusive to developers.</p>
<p>With no employment ties, on a purely voluntary basis, the interests revolve around marketing: company exposure, developer exposure, cost reduction, opportunities. You really do need to be &ldquo;good&rdquo; to stay at the top of the list. Does everyone&rsquo;s opinion carry equal weight? <a href="http://linux.slashdot.org/story/13/07/15/2316219/kernel-dev-tells-linus-torvalds-to-stop-using-abusive-language"target="_blank" rel="noopener">Ask Linus Torvalds</a> what he does when a bad idea shows up.</p>
<p>The open source world exposes problems immediately. Just because you think your project is &ldquo;cool&rdquo; doesn&rsquo;t automatically translate into volunteers and exposure. The rate of projects that die is orders of magnitude higher than that of projects gaining traction. Compared to the commercial world, open source kills projects far faster.</p>
<p>Agile was built to <strong>expose</strong> problems as early as possible. Understand: Agile practices are problem-exposure mechanisms! Agile is a <strong>Risk</strong> reduction and management mechanism! Catch the obstacles the moment they happen and deal with them immediately to head off unnecessary future risk, the kind that only leads to waste.</p>
<p>Except nobody wants to do this. If the problem is the manager, what consultancy is going to remove him from his post, unless the owner above him is committed to cutting into his own flesh? If the problem is the bad-character programmer everyone likes (the most dangerous type: the one who knows how to work a room and build zones of influence among peers and superiors), how do you fire that guy?</p>
<p>Yes: fixing a team in a short window <strong>necessarily</strong> means replacing its members. Worst case, replacing all of them. If the method is applied well, it immediately demonstrates and exposes the problems. And since in the vast majority of cases the problem is behavior, not practice, you have to resolve it on the spot. If you, the stakeholder responsible for your company, aren&rsquo;t firing anyone after you start implementing Agile, you&rsquo;re doing it wrong.</p>
<p>And here&rsquo;s the big problem: nobody gets this commitment. There&rsquo;s no free lunch. There&rsquo;s no making an omelet without breaking some (or all) of the eggs. Without that understanding and that commitment, there&rsquo;s no agility. And this isn&rsquo;t the first time I say it, if you read my 2009 article: <a href="/en/2009/03/30/off-topic-net-negative-producing-programmer">Net Negative Producing Programmer</a>. But since most people still seem not to have gotten it, I decided to spell it out more clearly.</p>
<p>This was an introduction. Depending on the comments, maybe I&rsquo;ll walk down a few more steps to explain exactly the mechanisms of what I laid out very quickly here.</p>
]]></content:encoded><category>agile</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>[Off-Topic] Someone Important Left the Community! Now What??</title><link>https://akitaonrails.github.io/en/2014/07/06/off-topic-alguem-importante-deixou-a-comunidade-e-agora/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2014/07/06/off-topic-alguem-importante-deixou-a-comunidade-e-agora/</guid><pubDate>Sun, 06 Jul 2014 20:38:00 -0300</pubDate><description>&lt;p&gt;This week a well-known Node.js community developer announced he was jumping ship. It was &lt;a href="https://medium.com/code-adventures/farewell-node-js-4ba9e7f3e52b"target="_blank" rel="noopener"&gt;TJ Holowaychuk&lt;/a&gt;, one of the most prolific contributors to that community. As you&amp;rsquo;d expect, the news kicked up controversy, arguments, and people freaking out.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re an experienced programmer, you don&amp;rsquo;t need me to tell you this. But if the recent news rattled you, maybe what I have to say will give you some perspective.&lt;/p&gt;
&lt;p&gt;First, I want to share a few other articles I read over the last few days:&lt;/p&gt;</description><content:encoded><![CDATA[<p>This week a well-known Node.js community developer announced he was jumping ship. It was <a href="https://medium.com/code-adventures/farewell-node-js-4ba9e7f3e52b"target="_blank" rel="noopener">TJ Holowaychuk</a>, one of the most prolific contributors to that community. As you&rsquo;d expect, the news kicked up controversy, arguments, and people freaking out.</p>
<p>If you&rsquo;re an experienced programmer, you don&rsquo;t need me to tell you this. But if the recent news rattled you, maybe what I have to say will give you some perspective.</p>
<p>First, I want to share a few other articles I read over the last few days:</p>
<ul>
<li>
<p><a href="http://www.mikeperham.com/2014/07/02/my-next-chapter/"target="_blank" rel="noopener">My Next Chapter</a>: the statement by <a href="http://web.archive.org/web/20150321122529/https://plus.google.com/118252393888359805350"target="_blank" rel="noopener">Mike Perham</a>, one of the best-known Rubyists of this generation and creator of the ubiquitous, excellent Sidekiq. He&rsquo;s not abandoning the project; he&rsquo;s building a new product, and that product doesn&rsquo;t involve Ruby.</p>
</li>
<li>
<p><a href="http://www.ianbicking.org/blog/2014/02/saying-goodbye-to-python.html"target="_blank" rel="noopener">Saying Goodbye To Python</a>: here it was the Pythonista Ian Bicking, announcing he was trading Python for JavaScript, riding the current wave. Worth understanding that today&rsquo;s JavaScript bubble doesn&rsquo;t &ldquo;require&rdquo; you to &ldquo;leave&rdquo; anything for it. You can quietly stay a Pythonista and use JavaScript at the same time, no conflict.</p>
</li>
<li>
<p><a href="http://blog.jonathanoliver.com/why-i-left-dot-net/"target="_blank" rel="noopener">Why I Left the .Net Framework</a>: a developer named Jonathan Oliver also decided to lay out why he&rsquo;s leaving his day-to-day technology, weighing the pros and cons of the Microsoft stack. No troll here; it&rsquo;s actually a pretty interesting read.</p>
</li>
<li>
<p><a href="https://medium.com/tales-from-6w/java-again-5de2c1aa6857"target="_blank" rel="noopener">Java Again</a>: anyone from the first generations of the Java community remembers James Duncan Davidson, creator of nothing less than the first Tomcat and Ant. He left Java, spent a while in the Ruby community, and threw himself into photography (go look for photos of the RubyConfs from eight years ago and you&rsquo;ll see the official ones are all his). Now he&rsquo;s announced he&rsquo;s going back to Java.</p>
</li>
<li>
<p><a href="http://yager.io/programming/go.html"target="_blank" rel="noopener">Why Go Is Not Good</a>: as the title says, it&rsquo;s a critique arguing that a freshly launched language should have been thought through better to cover cases other languages already handle.</p>
</li>
<li>
<p><a href="http://jaredly.github.io/2014/03/22/rust-vs-go/"target="_blank" rel="noopener">Rust vs Go</a>: again with a whiff of sour grapes. Rust really does look like a technically superior language to Go in design and features, and the piece shows the frustration of watching Go stay more popular anyway.</p>
</li>
<li>
<p><a href="http://outspeaking.com/words-of-technology/why-perl-didnt-win.html"target="_blank" rel="noopener">Why Perl Didn&rsquo;t Win</a>: mandatory reading on the fortunes of one of the most popular languages from the late 80s to the late 90s, which fell into obscurity and disuse. Even Swift, released by Apple weeks ago, already has more active users than Perl 6. One of the takeaways: anything new has to aim at the problems of the future, not the ones from the past.</p>
</li>
</ul>
<p>Anyone from the first generations of the Ruby and Rails communities will remember the &ldquo;traumas&rdquo; we went through:</p>
<ul>
<li>
<p><a href="http://web.archive.org/web/20140709000638/http://www.akitaonrails.com/2008/1/1/zed-shaw-vs-rails"target="_blank" rel="noopener">Zed is Not Dead</a>: from 2008, when one of our most prolific developers, Zed Shaw, creator of Mongrel and one of the first to take on the challenge of measuring and optimizing Ruby&rsquo;s performance, announced he was leaving the community and moving to Python.</p>
</li>
<li>
<p><a href="http://web.archive.org/web/20140709094857/http://www.akitaonrails.com/2008/12/23/bomba-merb-e-rails-se-fundem"target="_blank" rel="noopener">Bomb: Merb and Rails Merge!</a>: also from 2008, when the Merb team was on a collision course with Rails Core. The solution, happy for many and unhappy for a stubborn few, was to fold Merb into Rails 3, and it left dead and wounded behind. In retrospect, it&rsquo;s worth reading <a href="http://web.archive.org/web/20140626092759/http://merbist.com/2012/02/29/learning-from-rails-failures/"target="_blank" rel="noopener">&ldquo;Learning from Rails&rsquo; failures&rdquo;</a> by Matt Aimonetti (who also moved to Go) and who counts among the wounded of that insurgency, and <a href="http://gilesbowkett.blogspot.fr/2014/06/the-railsmerb-merge-in-retrospect.html"target="_blank" rel="noopener">&ldquo;The Rails/Merb Merge In Retrospect&rdquo;</a> by Giles Bowkett (still a Rubyist), who breaks down the results with a very critical eye.</p>
</li>
<li>
<p><a href="http://www.akitaonrails.com/2011/04/16/twitter-muda-de-ruby-para-java-ruby-e-3x-mais-lento-que-java"target="_blank" rel="noopener">Twitter switches from Ruby to Java</a>: from 2011, when Twitter announced it was replacing the messaging-infrastructure parts written in Ruby with a proprietary solution in Scala. What the original news said and what people chose to remember are two different things, but the fact is it turned into a good Public Relations headache for us. Thankfully that one&rsquo;s behind us.</p>
</li>
</ul>
<p>And these are just the links I&rsquo;ve read and can recall off the top of my head. There are dozens more.</p>
<p>Anyone still young or inexperienced in software communities, especially newcomers to Node.js, must be asking themselves: <em>&ldquo;Now what? If someone important like TJ says he&rsquo;s leaving, shouldn&rsquo;t I leave too?&rdquo;</em> Do your homework and you&rsquo;ll see this isn&rsquo;t the first time. In 2012 the creator of Node.js, <a href="http://venturebeat.com/2012/01/30/dahl-out-mike-drop/"target="_blank" rel="noopener">Ryan Dahl announced</a> he&rsquo;d keep an eye on his project but would step out of the day-to-day coding. <em>&ldquo;Man, the world is ending!&rdquo;</em></p>
<h2>This Isn&rsquo;t Bad News. This Is an Excellent Opportunity! (Seriously!)<span class="hx:absolute hx:-mt-20" id="this-isnt-bad-news-this-is-an-excellent-opportunity-seriously"></span>
    <a href="#this-isnt-bad-news-this-is-an-excellent-opportunity-seriously" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>In 2006, right as I was starting my run as an activist in the Ruby and Rails world, I already knew what was coming. We were the newcomers, immature, with unfinished technology and a pile of expectations, so naturally the road would be as hard as it gets. That&rsquo;s why I wrote the article <a href="http://www.akitaonrails.com/en/2006/09/27/evolu%c3%a7%c3%a3o-pela-concorr%c3%aancia"target="_blank" rel="noopener">Evolution through Competition</a>.</p>
<p>A lot of people imagine the best of all worlds is the one where nobody questions what you&rsquo;re doing, everyone leaves you alone, and they take your promises on faith, promises you fully intend to keep, someday. (<em>yeah, right&hellip;</em>)</p>
<p>I disagree. Any promise or expectation worth having has to be questioned, pushed, scrutinized. If it&rsquo;s so fragile it can&rsquo;t take criticism, direct and indirect attacks, and sabotage, then the promise was weak to begin with and didn&rsquo;t deserve to move forward. The sooner it falls, the better, because that&rsquo;s less time wasted.</p>
<p>That&rsquo;s why I always welcome the attacks: I expect to be ready to hit back twice as hard or die trying. And I&rsquo;d expect nothing less from the Rails community. Everyone still believes constraints are bad, but I&rsquo;ve <a href="http://startupi.com.br/2013/restricoes-sao-libertadoras-menos-e-mais/"target="_blank" rel="noopener">said before</a> that constraints matter, because they&rsquo;re the only place <strong>innovation</strong> comes from.</p>
<p>Anyone who has to reach for the old trick of trashing others, the classic <em>&ldquo;I don&rsquo;t feel like getting better, so I&rsquo;ll drag the other guy down to look bigger&rdquo;</em> (I wrote about this back in 2007 too, <a href="http://web.archive.org/web/20140709023445/http://www.akitaonrails.com/2007/10/23/para-eu-ganhar-o-outro-precisa-perder"target="_blank" rel="noopener">&ldquo;For me to win, the other has to lose&hellip;&rdquo;</a>), is declaring himself weak all on his own. Stop and think back to articles, talks, and interviews where you heard someone you admire trashing another community. <em>&ldquo;Ah, Ruby, that girly thing. Because we men use JavaScript.&rdquo;</em> It makes me laugh and feel a little sorry, because to me it&rsquo;s clear that person will always be weak.</p>
<p>All the statements above, and others like them (&ldquo;I&rsquo;m leaving Node&rdquo;, &ldquo;I&rsquo;m leaving .NET&rdquo;, &ldquo;I&rsquo;m leaving Ruby&rdquo;, &ldquo;I&rsquo;m leaving X&rdquo;), I honestly believe came with no bad intent or bad faith, at least not consciously. But I have a theory. Everyone who makes statements like that wants validation from their peers, or worse, wants their peers to follow them, which is also validation of their own position. <em>&ldquo;I don&rsquo;t like my old toy anymore, but I don&rsquo;t want anyone else playing with it either.&rdquo;</em> It&rsquo;s a pretty childish stance.</p>
<p>Take the Ruby community as an example. Plenty of names sort of &ldquo;left&rdquo; their main activities without slamming the door or acting childish about it. Chad Fowler is in Germany running Wunderlist, focused on mobile and back-end development, and we don&rsquo;t hear him talk Ruby anymore. Ilya Grigorik had his startup bought by Google and eventually dropped off too. Matt Aimonetti, after the Merb vs Rails episode, quietly stepped back and now works with Go.</p>
<p>Ryan Bates, one of the most beloved in the community for his tireless years of work on RailsCasts, stopped publishing months ago and said nothing about it. David Chelimsky, maintainer of RSpec, handed off the baton and stepped away without any fuss. José Valim, one of the key people behind Rails 3, is over in Elixir and Erlang land now and rarely says a word about Ruby.</p>
<h2>&ldquo;O.M.G! You mean it&rsquo;s all over!? It went up in flames!?&rdquo;<span class="hx:absolute hx:-mt-20" id="omg-you-mean-its-all-over-it-went-up-in-flames"></span>
    <a href="#omg-you-mean-its-all-over-it-went-up-in-flames" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>No. In the meantime, hundreds of new Rubyists showed up and carried the work forward. The most immediate example is Carlos Antonio and Rafael França, who sort of picked up José Valim&rsquo;s mantle in Rails Core. Evan Phoenix picked up Chad Fowler&rsquo;s mantle at Ruby Central. Avdi Grimm sort of picked up Ryan Bates&rsquo; mantle with his excellent <a href="http://www.rubytapas.com"target="_blank" rel="noopener">RubyTapas</a>, and on it goes.</p>
<p>A community is made of individuals, and each individual performs best when acting to maximize their own benefit. The side effect is that they end up naturally influencing and pulling others up alongside them. It&rsquo;s always voluntary exchange for <strong>mutual</strong> benefit. Nobody acts with zero benefit to themselves; some believe they do, and those are exactly the ones who hit &ldquo;burnout&rdquo; fastest, because the question quickly becomes:</p>
<blockquote>"Why do I wear myself out collaborating in this community, stress myself out, and even so not everyone appreciates what I do? I do it all for them!"</blockquote>
<p>That&rsquo;s the wrong question, and the wrong question leads to the wrong answer. Some start to believe others owe them something, since they poured so much of their free time (especially in the open source world) into &ldquo;helping others&rdquo;. And &ldquo;the others&rdquo; figure they owe nothing, since nobody asked for that effort in the first place. In practice, &ldquo;the others&rdquo; are right.</p>
<p>If you take part in a community, you do it for yourself. Maybe because you understand that helping others is part of your own reward. Maybe because it gives you peace of mind or a clear conscience. Or because you&rsquo;re a good strategist and know certain contributions will open doors for you down the line. The reason doesn&rsquo;t matter, as long as there&rsquo;s a reward you don&rsquo;t force others to hand over. Demanding respect, demanding manners, demanding compassion, none of it makes sense without a counterpart. Nobody asked you to do what you&rsquo;re doing; if you are, understand it&rsquo;s for yourself. That&rsquo;s the definition of <strong>voluntary</strong> work.</p>
<p>And to be crystal clear: voluntary work means work without <strong>financial pay</strong>, and not work without benefit or purely altruistic. If your work is paid, that&rsquo;s a different conversation, and the best advice there comes from Don Draper:</p>
<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; height: auto; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'>

<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/EnPHp4vwxGM"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>
</div>
<p>Back to the topic, I imagine the names I mentioned above, the ones who stepped back partially or quietly, get this. They went looking for personal satisfaction elsewhere. They owe nothing to anyone, and nobody owes anything to them.</p>
<p>The ones who leave with bombastic declarations are, consciously or not, throwing it in everyone&rsquo;s face: <em>&ldquo;you didn&rsquo;t value me, now you&rsquo;ve lost your chance, and I know you&rsquo;ll miss me!&rdquo;</em> It isn&rsquo;t written that way, but that&rsquo;s what it adds up to. Otherwise, why throw it into the fan and turn it into a public controversy? Any written argument is only part of the reason, never &ldquo;the&rdquo; reason.</p>
<h2>You, the Individual<span class="hx:absolute hx:-mt-20" id="you-the-individual"></span>
    <a href="#you-the-individual" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The flip side is whoever follows, admires, and idolizes one of these people who walked away from where you are. Depending on how deep the admiration runs, you feel the floor drop out, stunned, not knowing which way to run. One of two things happens: you either go hunting for another idol and start the classic <em>&ldquo;he wasn&rsquo;t even that good&rdquo;</em>, or you sink into depression and the panic of <em>&ldquo;I don&rsquo;t know what happens now&rdquo;</em>.</p>
<blockquote>My advice: "don't have idols, have references."</blockquote>
<p>Stop thinking you owe others something and, by extension, stop dumping on others the job of helping still more people. That&rsquo;s what&rsquo;s going on: you don&rsquo;t understand your <strong>purpose</strong> and figure others should do what you yourself won&rsquo;t. Worse, you let others decide which road you take. If you&rsquo;re that insecure, stop for a second and think about what you &ldquo;are&rdquo; before anything else.</p>
<p>Your only purpose in life is to take care of yourself and produce, without getting in anyone else&rsquo;s way. When you do that, the natural effect is that spontaneous collaborations spring up, communities evolve, and everyone comes out ahead. A community where everyone makes demands on everyone grows without any purpose.</p>
<p>On technology, opinions, proposals, and promises, remember this too: you <strong>want</strong> to be under constant &ldquo;attack&rdquo; and constraint. Nothing is worse than being ignored. I wrote another article, a translation from someone far wiser than me, Kathy Sierra, called <a href="http://www.akitaonrails.com/en/2006/10/19/kathy-sierra-dilbert-e-a-zona-de-mediocridade"target="_blank" rel="noopener">Dilbert and the Zone of Mediocrity</a>, where I quote:</p>
<blockquote>
How brave are you? How far will you (or your employer) go to avoid the Zone of Mediocrity? Until or unless you're willing to risk passionate hate, you may never feel the love. Scott Adams agrees. In a recent post on the Dilbert blog, he wrote: "If everyone exposed to a product likes it, the product will not succeed... The reason that a product 'everyone likes' will fail is because no one 'loves' it. The only thing that predicts success is passion, even if only 10% of the consumers have it."
</blockquote>
<p>So what if someone left your community? Is it so fragile that one blow, no matter the size of the impact, brings the whole thing down? If you believe your community is only <strong>resistant</strong>, you&rsquo;re right: past a certain point, it collapses. But if it&rsquo;s <strong>resilient</strong>, malleable and adaptive, it survives. That&rsquo;s what guarantees the survival of species, the <a href="http://c2.com/cgi/wiki?SurvivalOfTheFittest"target="_blank" rel="noopener"><strong>Law of the Most Adaptable</strong></a> (not the &ldquo;strongest&rdquo;! Keep the difference between resistant and resilient in mind, you want to be the second one).</p>
<p>Are you adaptable? Or are you just fishing for other people&rsquo;s validation, letting them decide for you? One thing I&rsquo;ll say for sure: if I ever give up what I do, nobody will find out from a written statement. I settled that the day I started.
</content></p>
]]></content:encoded><category>open-source</category><category>philosophy</category><category>management</category><category>off-topic</category></item><item><title>[Off-Topic] Breaking Bad was a very successful startup</title><link>https://akitaonrails.github.io/en/2014/03/28/off-topic-breaking-bad-foi-uma-startup-de-muito-sucesso/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2014/03/28/off-topic-breaking-bad-foi-uma-startup-de-muito-sucesso/</guid><pubDate>Fri, 28 Mar 2014 06:00:00 -0300</pubDate><description>&lt;p&gt;First published on &lt;a href="http://web.archive.org/web/20150405090805/http://startupi.com.br/2014/03/breaking-bad-foi-uma-startup-de-muito-sucesso/"target="_blank" rel="noopener"&gt;2014-03-28T09:00:33+00:00&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I wrote this article in English right after the last episode of the series aired on TV, in &lt;a href="https://akitaonrails.tumblr.com/post/62925918688/breaking-bad-showed-a-startup-that-was-too-successful"target="_blank" rel="noopener"&gt;October 2013&lt;/a&gt;. A few months have passed, so I imagine everyone has had the chance to watch the whole thing by now. For me, this was one of the best TV dramas of the last few decades. It comes along with The Sopranos.&lt;/p&gt;
&lt;p&gt;I won&amp;rsquo;t review every detail of the series, since there are plenty of other blogs doing that with more competency than I would. I&amp;rsquo;ll assume you&amp;rsquo;ve watched the series, and I&amp;rsquo;m going to spoil parts of the finale, so go watch it before you keep reading.&lt;/p&gt;</description><content:encoded><![CDATA[<p>First published on <a href="http://web.archive.org/web/20150405090805/http://startupi.com.br/2014/03/breaking-bad-foi-uma-startup-de-muito-sucesso/"target="_blank" rel="noopener">2014-03-28T09:00:33+00:00</a></p>
<p>I wrote this article in English right after the last episode of the series aired on TV, in <a href="https://akitaonrails.tumblr.com/post/62925918688/breaking-bad-showed-a-startup-that-was-too-successful"target="_blank" rel="noopener">October 2013</a>. A few months have passed, so I imagine everyone has had the chance to watch the whole thing by now. For me, this was one of the best TV dramas of the last few decades. It comes along with The Sopranos.</p>
<p>I won&rsquo;t review every detail of the series, since there are plenty of other blogs doing that with more competency than I would. I&rsquo;ll assume you&rsquo;ve watched the series, and I&rsquo;m going to spoil parts of the finale, so go watch it before you keep reading.</p>
<p>People love the series, and they root for Heisenberg even knowing he commits plenty of crimes. Personally, I think what grabs people is the story the author is telling, far more than the crimes themselves.</p>
<p>This is the story of a very, very successful startup, literally the classic &ldquo;garage startup&rdquo;, except in this case inside a van. Walter and Jesse start with an idea, a few bucks, and a lot of work, cooking meth in the middle of the desert. Even with almost no money and no resources, Walt is adamant about the quality of the product, and that&rsquo;s a mark of great entrepreneurs. Jesse is the metaphor for the wannabe entrepreneur, a dropout trying to hit the jackpot without experience and without thinking ahead.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/514/talent.jpg" alt="Walt"  loading="lazy" /></p>
<p>For me, the whole idea of Breaking Bad revolves around entrepreneurship. Walt is not only a seasoned chemistry teacher, with real knowledge and talent; he&rsquo;s also a great businessman, and he proved it many times. One example is understanding that, to score big, growing organically by selling on the streets Jesse&rsquo;s way just isn&rsquo;t enough.</p>
<p>Then come Gus Fring and Los Pollos Hermanos, with the explosion in distribution channels. That&rsquo;s how you scale a business. Gus is Walt&rsquo;s &ldquo;angel investor&rdquo;, and once the money is in, the pressure only goes up. Jesse quickly gets fed up with working so hard in the lab, like every young idealist who doesn&rsquo;t yet understand what real hard work is. Walt, on the other hand, is focused on scoring big at any cost.</p>
<p>The show also demonstrates how to negotiate with partners you don&rsquo;t particularly like or trust, in a very demanding game. Once you get the opportunity, you don&rsquo;t have to do all the dirty work with your own hands: make big dog eat big dog, turn the Cartel against Gus. And if everything goes wrong, you can always blow up the nursing home.</p>
<p>In the process, what we see is Jesse growing up. Walt was a great mentor, and their adventures made him stronger. The finale is also about Jesse understanding what he really is and maybe becoming a better person, in terms of self-awareness. Now he&rsquo;s ready to commit and sacrifice, instead of being just an idealist.</p>
<p>In the real world, you have to commit and make sacrifices. There will be collateral damage, because you can&rsquo;t make an omelet without breaking some eggs. Nothing worthwhile is easy, and the process is never going to be pretty.</p>
<p>The finale is great because Walt finally admits it: when you&rsquo;re building an enterprise, you do it for yourself. Not for your family, not for your friends, not for the good of mankind. It&rsquo;s for you and you alone. If you&rsquo;re not doing it for yourself, you&rsquo;re doing it wrong, and that&rsquo;s the most basic core concept of entrepreneurship.</p>
<p>Benefiting (or hurting) others is always a side effect of actions you take with the single goal of benefiting yourself. As long as you&rsquo;re not doing it for yourself, you&rsquo;ll always use others as the easy way out, the excuse. &ldquo;I screwed up, but I did it with good intentions.&rdquo; Good intentions don&rsquo;t matter, results do. If you do everything for yourself, the responsibility is always your own. No excuses.</p>
<p>Being successful is much more than glory and fame. As Breaking Bad shows, when your business grows, the competition gets harsher, the attacks get more violent, and everybody wants a piece of your pie. Defending your own territory is up to you, and you can&rsquo;t always do it alone.</p>
<p>Sometimes you need good mercenaries and always a good lawyer, like Mike Ehrmantraut and Saul Goodman, to cover your tracks. It&rsquo;s the cold-blooded partners who handle the deals you can&rsquo;t touch all the time.</p>
<p>Marie represents the worst and most degrading thing in the world: mediocre normality. People so entrenched in the status quo, so bored by their own existence, that they&rsquo;re mortally jealous of anyone who won&rsquo;t follow their tiny version of &ldquo;truth&rdquo;, the path of &ldquo;being normal&rdquo;. People full of prejudice and full of themselves, who judge everything and everyone all the time. The best thing to do is stay as far away from that rotten kind as possible.</p>
<p>Skyler starts out the same as Marie, but being so close to Walt, she fights against herself. She suffers to get out of the box, to get used to taking risks, to think differently. She goes through all the <a href="https://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model"target="_blank" rel="noopener">common stages of transition</a>: denial, anger, bargaining, depression, and acceptance. In the end, we see that she finally understood.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/512/breaking_bad_entrepreneurship.jpg" alt="Breaking Bad"  loading="lazy" /></p>
<p>Walt was not the villain, he was a man doing what he does best. Someone who values his own work so much that he won&rsquo;t let anything or anyone stop him. That&rsquo;s &ldquo;drive&rdquo;, and it&rsquo;s the level of drive anyone who wants to be an entrepreneur needs to have. Reaching the goal, whatever it takes.</p>
<p>Walt is the ultimate entrepreneur role model, really a lot like Tony Soprano. The Mafia is the best MBA in the world.</p>
]]></content:encoded><category>startups</category><category>management</category><category>film-and-pop-culture</category><category>off-topic</category></item><item><title>[Off-Topic] Lean Is Dead, Long Live Efficiency</title><link>https://akitaonrails.github.io/en/2014/03/27/off-topic-lean-esta-morto-longa-vida-a-eficiencia/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2014/03/27/off-topic-lean-esta-morto-longa-vida-a-eficiencia/</guid><pubDate>Thu, 27 Mar 2014 15:03:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Update (3/29/14):&lt;/strong&gt; I published a post in October 2013 that lays out much more detailed arguments on this topic. Read &lt;a href="http://www.akitaonrails.com/en/2013/10/30/off-topic-matematica-trolls-haters-e-discussoes-de-internet"target="_blank" rel="noopener"&gt;&amp;ldquo;Math, Trolls, Haters, and Internet Discussions&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The year was 2001. A group of senior programmers gathered at a ski resort in Snowbird, Utah. The main names of programming in the United States were there: Kent Beck, Alistair Cockburn, Ward Cunningham, Martin Fowler, Jim Highsmith, Ron Jeffries, Brian Marick, Bob Martin, Ken Schwaber, Jeff Sutherland, Andy Hunt, Dave Thomas, Mike Beedle, Arie van Bennekum, James Grenning, Jon Kern, Steve Mellor. A &amp;ldquo;who&amp;rsquo;s who&amp;rdquo; list of the field.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Update (3/29/14):</strong> I published a post in October 2013 that lays out much more detailed arguments on this topic. Read <a href="http://www.akitaonrails.com/en/2013/10/30/off-topic-matematica-trolls-haters-e-discussoes-de-internet"target="_blank" rel="noopener">&ldquo;Math, Trolls, Haters, and Internet Discussions&rdquo;</a>.</p>
<p>The year was 2001. A group of senior programmers gathered at a ski resort in Snowbird, Utah. The main names of programming in the United States were there: Kent Beck, Alistair Cockburn, Ward Cunningham, Martin Fowler, Jim Highsmith, Ron Jeffries, Brian Marick, Bob Martin, Ken Schwaber, Jeff Sutherland, Andy Hunt, Dave Thomas, Mike Beedle, Arie van Bennekum, James Grenning, Jon Kern, Steve Mellor. A &ldquo;who&rsquo;s who&rdquo; list of the field.</p>
<p>From that historic meeting a <a href="http://agilemanifesto.org"target="_blank" rel="noopener">manifesto</a> of 4 values and 12 principles emerged, which became known as the &ldquo;Agile Manifesto.&rdquo;</p>
<p>Thirteen years later, Dave Thomas, author of <a href="http://pragprog.com/book/tpp/the-pragmatic-programmer"target="_blank" rel="noopener">&ldquo;The Pragmatic Programmer&rdquo;</a> and one of the people most directly involved in writing the manifesto text, published a frustrated article called <a href="http://pragdave.me/blog/2014/03/04/time-to-kill-agile/"target="_blank" rel="noopener">&ldquo;Agile is Dead, Long Live Agility&rdquo;</a>.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/404/big_Karl_Popper_Quotes_Venture.philosophy.jpg" alt="Karl Popper"  loading="lazy" /></p>
<p>The original agilists meant to break the outdated way of thinking about and executing software engineering, the same obsolete model still taught today in most of the country&rsquo;s universities. It caused a huge stir in the industry.</p>
<p>Along came the derivations, the trainings, the tools, the certifications, the conferences, the consultancies. A huge portfolio of options, for any size and any price. In the middle of this whole <strong>circus</strong>, what it really means to be an <em>agilist</em> got forgotten.</p>
<p>And, as Dave Thomas summed it up well in his vent, you don&rsquo;t &ldquo;do&rdquo; Agile or &ldquo;buy&rdquo; Agile. Agility is a quality, an adjective. To be agile, you have to go back to the principles. Quoting:</p>
<ul>
<li>Find out where you are</li>
<li>Take a small step towards your goal</li>
<li>Adjust your understanding based on what you learned</li>
<li>Repeat</li>
</ul>
<p>How to do this:</p>
<blockquote>
  <p>&ldquo;When faced with two or more alternatives that deliver roughly the same value, take the path that makes future change easier.&rdquo;</p>

</blockquote>
<p>And that&rsquo;s it: four lines and one practice.</p>
<p>Thirteen years after something so simple was first published, the world seems to have gotten way too complicated. Scrum, Kanban, Scrumban, Lean Programming, Lean Six Sigma, Agile PMI. In a moment where chaos reigns, whoever &ldquo;seems&rdquo; able to explain the chaos becomes a guru.</p>
<p>And so associations, certifications, trainings, and conferences emerge. That&rsquo;s how it works for diets, how it works for therapies, how it worked for software engineering. That&rsquo;s what Dave Thomas laments.</p>
<p>But it&rsquo;s an inevitable result. People are easy to fool: they always look for someone or something to follow and rarely question. They&rsquo;ve been dogmatized never to challenge authority and to root for soccer teams without any criteria.</p>
<p>In <strong>2010</strong> I was at a conference in Baltimore and had the chance to <a href="http://www.akitaonrails.com/en/2010/06/16/railsconf-2010-video-interview-robert-martin-english"target="_blank" rel="noopener">talk to Bob Martin</a>, who organized the Snowbird meeting. It was in his Object Mentor office that Ken Schwaber&rsquo;s first Scrum certification training took place.</p>
<p>I was already immune to the &ldquo;Agile Hype,&rdquo; but I wanted to tell Bob Martin what I thought of it. For those who don&rsquo;t know, the &ldquo;official&rdquo; Scrum Master training is a two-day course, and at the end you walk out certified. You don&rsquo;t even need to show up: just pay for the course.</p>
<p>I told him, cynically, that Ken&rsquo;s idea probably backfired. <em>&ldquo;Ken probably thought &lsquo;man, how do I convince these large corporations to adopt agile practices?&rsquo; and then he thought &lsquo;of course, large companies love certifications,&rsquo; and then he created a Trojan Horse, a joke 2-day course where serious people would know you can&rsquo;t learn anything serious in 2 days, but that way he could insert the idea into the companies. But everyone took it seriously, and that&rsquo;s when the shot backfired.&rdquo;</em> Skip straight to minute 6:24 of the video below if you want to hear that story.</p>
<div class="video-container">
    <video controls>
        <source src="https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-RailsConf2010RobertMartin974.mp4">
        Your browser does not support the video tag. [Direct Link](https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-RailsConf2010RobertMartin974.mp4)
    </video>
</div>
<h1>Learning to Learn</h1><p>Now let&rsquo;s step out of software a bit and enter the world of &ldquo;startups.&rdquo; That world has its own &ldquo;Agile,&rdquo; dubbed &ldquo;Lean Startup.&rdquo; Eric Ries coined the term in 2008 and made it famous with the book of the same name, from 2011, a direct derivation of Toyota&rsquo;s Lean principles. It&rsquo;s a repackaging of old ideas.</p>
<p>This Lean comes from the same ideas of W. Edwards Deming about <a href="http://en.wikipedia.org/wiki/PDCA"target="_blank" rel="noopener">PDCA, &ldquo;Plan, Do, Check, Act&rdquo;</a>. You&rsquo;ll notice the resemblance to Dave Thomas&rsquo;s four principles I cited above.</p>
<p>Pompous names, celebrities, gurus, expensive tools, and prominent titles don&rsquo;t matter. The basic principles of Agile and Lean are the same: deliver value as fast as possible with the least waste possible, learning and using that learning in the process, planning and replanning to reach goals that become clearer along the way. That&rsquo;s it.</p>
<p>The biggest problem shows up when an amateur programmer asks <em>&ldquo;what&rsquo;s the next step?&rdquo;</em> and the answer is <em>&ldquo;the goal is to set up a Kanban.&rdquo;</em> Or when an amateur entrepreneur asks <em>&ldquo;what&rsquo;s the next step?&rdquo;</em> and the answer is <em>&ldquo;the goal is to build a Business Canvas.&rdquo;</em></p>
<p>Kanban and Business Canvas aren&rsquo;t <strong>goals</strong>, they&rsquo;re means. If those means don&rsquo;t help reach the ends, delivering value to the customer and turning a profit in your business, then they&rsquo;re disposable. The goal is to have profit. MVP, prototype, Lean UX, and Business Canvas are just possible paths to get there. Which of them serve?</p>
<p>If you want to learn anything, the steps to start are simple:</p>
<ul>
<li>Don&rsquo;t create idols, never &ldquo;idolize&rdquo; anyone, at least not seriously.</li>
<li>Ignore almost everything you see or hear in groups. Take notes, but don&rsquo;t take everything seriously.</li>
<li>Ignore advice and mentoring. It&rsquo;s like a bank manager giving investment tips: if he were any good, he&rsquo;d be rich instead of selling advice. He&rsquo;s a salesperson by another name.</li>
<li>Everything, absolutely everything, starts with a few <strong>principles</strong>. Nobody becomes a heart surgeon wanting to cut the aorta before learning to wash their hands. Look for the principles and ignore the pompous titles.</li>
<li>Assume you know little, always. Approach every subject with the eyes of an ignorant person. Whoever thinks they already know everything learns nothing more. But be a smart ignoramus, not a dumb one.</li>
</ul>
<p>Learn to <strong>question</strong>. The whole world of the Sciences, from the absolutely small quantum world to the infinite and immense cosmological world, only exists because it accepts one principle: the <a href="https://pt.wikipedia.org/wiki/M%c3%a9todo_cient%C3%ADfico"target="_blank" rel="noopener">Scientific Method</a>.</p>
<p>It&rsquo;s basically PDCA: define the problem, make hypotheses, run controlled experiments, discard the hypotheses proven wrong, repeat. To be more accurate, Deming&rsquo;s PDCA is the one that draws directly on the Scientific Method.</p>
<p>There is the principle of everything. From Agile to Lean to PDCA, we come back to <a href="https://pt.wikipedia.org/wiki/Karl_Popper"target="_blank" rel="noopener">Karl Popper</a> and his philosophy of <a href="http://en.wikipedia.org/wiki/Critical_rationalism"target="_blank" rel="noopener">&ldquo;Critical Rationalism&rdquo;</a>, which teaches that everything should stay open to rational criticism.</p>
<p>That&rsquo;s why Lean, as an umbrella for selling products and services you don&rsquo;t need, is dead. Long live the principle of achieving value while avoiding waste through continuous learning, in other words, Efficiency. There are no magic formulas. If magic diets worked, there would be no obesity in the world.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/403/big_images.jpeg" alt="Karl Popper"  loading="lazy" /></p>
<p>PS: I know, there&rsquo;s #tongueincheek in the title and in the article, but the intention, as usual, is actually to provoke ;-)</p>
]]></content:encoded><category>agile</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>[Off-Topic] Remote Work — Small Office, Home Office (SoHo)</title><link>https://akitaonrails.github.io/en/2013/11/18/off-topic-trabalho-remoto-small-office-home-office-soho/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/11/18/off-topic-trabalho-remoto-small-office-home-office-soho/</guid><pubDate>Mon, 18 Nov 2013 19:11:00 -0200</pubDate><description>&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; This is a more complicated subject, and some points may need more explanation. Later I&amp;rsquo;ll see if I write an addendum or a follow-up post. Until then, if anyone disagreed, it may be along the lines that &lt;a href="https://twitter.com/porcelli/status/402555629371678720"target="_blank" rel="noopener"&gt;@porcelli also disagreed&lt;/a&gt; and I tried to explain over Twitter, though it&amp;rsquo;s more a case of us agreeing to agree than any real disagreement :-) The main point is simple: I&amp;rsquo;m not against remote work, quite the opposite. The TL;DR is that I don&amp;rsquo;t believe it&amp;rsquo;s the &amp;ldquo;only&amp;rdquo; solution, and the point here is to walk through a few scenarios. I know excellent professionals who work remotely. I myself, as I say in the article, have geographically separated teams, so that isn&amp;rsquo;t the point up for debate.&lt;/p&gt;</description><content:encoded><![CDATA[<p><em>Update:</em> This is a more complicated subject, and some points may need more explanation. Later I&rsquo;ll see if I write an addendum or a follow-up post. Until then, if anyone disagreed, it may be along the lines that <a href="https://twitter.com/porcelli/status/402555629371678720"target="_blank" rel="noopener">@porcelli also disagreed</a> and I tried to explain over Twitter, though it&rsquo;s more a case of us agreeing to agree than any real disagreement :-) The main point is simple: I&rsquo;m not against remote work, quite the opposite. The TL;DR is that I don&rsquo;t believe it&rsquo;s the &ldquo;only&rdquo; solution, and the point here is to walk through a few scenarios. I know excellent professionals who work remotely. I myself, as I say in the article, have geographically separated teams, so that isn&rsquo;t the point up for debate.</p>
<p>For a change, <a href="http://en.wikipedia.org/wiki/Small_office/home_office"target="_blank" rel="noopener">SoHo</a> is one of those subjects most of us only think about at the surface before deciding &ldquo;it&rsquo;s good&rdquo; or &ldquo;it&rsquo;s bad.&rdquo; It&rsquo;s bad that <a href="http://www.huffingtonpost.com/2013/04/19/marissa-mayer-work-from-home_n_3117352.html"target="_blank" rel="noopener">Marissa Mayer banned Home Office</a>. It&rsquo;s good that <a href="https://web.archive.org/web/20131122102549/http://37signals.com/remote/"target="_blank" rel="noopener">37signals is evangelizing Home Office</a>. It&rsquo;s bad that <a href="http://www.hanselman.com/blog/WorkingRemotelyConsideredDystopian.aspx"target="_blank" rel="noopener">Microsoft agrees with Home Office, but with a possibly dystopian view</a>. Worth remembering that the industry has been chewing on SoHo practically since the personal computer showed up in the mid-80s. There&rsquo;s nothing new about it.</p>
<p>A disclaimer: I own a software shop, a company that offers development services. The core of the company is programmers hired not only in São Paulo, where I live and have clients, but also in Porto Alegre, Fortaleza, and Natal. I don&rsquo;t intend to get into my process in this article.</p>
<p>I thought about dissecting the book <strong>Remote</strong>, which is the reference of the moment. But there isn&rsquo;t much to dissect. If you read the table of contents, you basically know everything the book says already, and the rest is filler. Look:</p>
<ul>
<li>
<p><strong>The Time Is Right for Remote Work:</strong> it lists everything we already know as the downside of big offices, the long meetings, the interruptions, the commute, the quality of life. Without reading the chapter, we already know what bugs us. The problem is that this is hard to argue against, because <em>any place</em> has things you like and things you don&rsquo;t. Listing only what you dislike isn&rsquo;t the most relevant thing. If you have a girlfriend or you&rsquo;re married, did you make a list of your partner&rsquo;s traits stacked up against Miss Universe or Mr. Universe? Is it the set of things that annoy you that matters, or the set of things you love?</p>
</li>
<li>
<p><strong>Dealing with Excuses:</strong> again, the &ldquo;arguments,&rdquo; the &ldquo;demagoguery,&rdquo; the &ldquo;rhetoric&rdquo; assumed to be the <em>excuses</em> managers and company owners use to block remote work. Half of them don&rsquo;t even come out of the companies&rsquo; mouths; they come from the motivational self-help crowd, along the lines of &ldquo;working close together boosts information exchange and therefore creativity.&rdquo; The other half are policies like data security, customer service, loss of control. Those items are secondary. As a company owner, almost all of them are easy to handle and agree with. The industry isn&rsquo;t that bad, and none of these points slipped by unnoticed over the past few decades. There are still leftovers, no doubt, but compare today with 20 years ago and you&rsquo;ll see the difference.</p>
</li>
<li>
<p><strong>How to Collaborate Remotely:</strong> it sums up what we already know, that technology shrank distances. Skype/Hangout, Basecamp/Tracker/Asana, Github/Bitbucket, IRC/Campfire. On top of that, plenty of outsourced services are already remote. An accountant is a good example, and I&rsquo;ll circle back to it later, so hold that thought.</p>
</li>
<li>
<p><strong>Beware the Dragons:</strong> the one part that &ldquo;balances&rdquo; the book and admits remote work isn&rsquo;t always a bed of roses. Not feeling lonely, not working more hours than you should, keeping healthy habits. These are tips that apply to remote work and to anybody&rsquo;s routine. Bottom line: use common sense, but you already knew that.</p>
</li>
<li>
<p><strong>Hiring and Keeping the Best:</strong> in short, and here I agree, there are excellent professionals in every corner of the world. That&rsquo;s my reason for looking beyond São Paulo. Again, it&rsquo;s easy to evangelize an argument without weighing every angle. I agree with the idea and I&rsquo;ll come back to it later.</p>
</li>
<li>
<p><strong>Managing Remote Workers:</strong> once more, management common sense. Good managers already know this. We&rsquo;ve had multinationals running on every continent for decades, and we&rsquo;re good at it. A lot of people believe companies reject remote work because they don&rsquo;t know how to manage people at a distance. That doesn&rsquo;t hold up: look at the massive movement of outsourcing services to countries like India. Like the newspapers, we only look at the bad news, but we know how to do this, and it keeps getting simpler. Outsourcing to individuals looks more complicated than outsourcing to branches in other countries, but overall the process is the same.</p>
</li>
<li>
<p><strong>Life as a Remote Worker:</strong> more common sense for anybody. Have discipline, build a balanced routine, set aside time for your family. The only genuinely relevant bit is the last one, &ldquo;make sure you aren&rsquo;t being ignored.&rdquo; That&rsquo;s my central point for the rest of the article, so hold on to it.</p>
</li>
</ul>
<p>To wrap up: of the 37signals books I&rsquo;ve read, this is easily the weakest. When reading the table of contents is enough to grasp the whole book, the conclusion comes easy. That doesn&rsquo;t make it wrong or bad, but a blog post could carry the same message: yes, there are plenty of advantages to remote work. And, of course, by pure coincidence they sell tools for exactly what the book describes. It&rsquo;s a terrific piece of self-marketing, and it&rsquo;d be dumb not to do it.</p>
<h2>The Truth About Remote Work<span class="hx:absolute hx:-mt-20" id="the-truth-about-remote-work"></span>
    <a href="#the-truth-about-remote-work" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Now for the other side of the coin. In my recent article <a href="http://www.akitaonrails.com/en/2013/10/30/off-topic-matematica-trolls-haters-e-discussoes-de-internet"target="_blank" rel="noopener">Math, Trolls, Haters and Internet Discussions</a> I tried to get across a simple but important idea: an incomplete formula is useless. To recap, a procedure, a methodology, or a process only becomes a &ldquo;formula&rdquo; once it defines the &ldquo;domain&rdquo; of the problem.</p>
<p>I&rsquo;ll assume 37signals is arguing that <strong>service professionals</strong> could work remotely. I&rsquo;m restricting it to computing because plenty of other fields simply don&rsquo;t work that way, like airline pilots, firefighters, doctors. The domain is limited to services, never production, and whose output doesn&rsquo;t need physical media, meaning it travels over the Internet. Musicians, programmers, writers, accountants, lawyers, architects (partly). Simple enough to define. For my purposes, I&rsquo;ll stick to software development services.</p>
<p>The biggest problem with books and people who evangelize about human behavior is ignoring Sociology, Psychology, and the fields that already studied this thing to death. The book Remote is convenient for 37signals&rsquo; domain and works there. The way it&rsquo;s described, it works only there. That&rsquo;s the first tell for separating serious research from self-help: <em>&ldquo;It worked for me, so it can work for you.&rdquo;</em> That&rsquo;s how they sell diets.</p>
<p>For several reasons, 37signals did very well as a product company. Among them, the ones <a href="http://vimeo.com/53494258"target="_blank" rel="noopener">Zed Shaw explains in this talk</a> and the capital injection from Jeff Bezos. Good for them, but it means the problem domain is &ldquo;product company that brings in revenue and profits very nicely.&rdquo; And that already knocks a huge slice of the market out of the equation. If you don&rsquo;t know the numbers, we&rsquo;re talking about a much bigger universe, one that in Brazil came close to <a href="https://web.archive.org/web/20131027022456/http://corporate.canaltech.com.br/noticia/profissional-de-ti/Brasil-deve-liderar-aumento-de-investimentos-no-mercado-de-TI-em-2013/"target="_blank" rel="noopener"><strong>R$ 37 billion</strong></a>. Way bigger than the narrow universe of tech startups.</p>
<p>Worth understanding another thing that both Getting Real and Remote try to argue, and could have simplified. Highly centralized structures, with heavy top-down control and little or no regard for the workforce, tend to be bad places to work. The hasty conclusion is that full decentralization is the best form. Worse still is picturing 37signals as a decentralized company just because everyone is remote and there&rsquo;s no rigid hierarchy. In practice it&rsquo;s centralized, with intermediate levels of decentralization.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/390/big_Screen_Shot_2013-11-18_at_3.35.48_PM.png" alt="Jason Fried, DHH at the center"  loading="lazy" /></p>
<p>It gives the impression of a decentralized organization because it uses <a href="http://www.catb.org/esr/writings/homesteading/"target="_blank" rel="noopener">open source processes</a> for execution. But the chain of command is clearly centralized in Jason Fried and David Hansson. There&rsquo;s nothing wrong with that, and it&rsquo;s exactly how it should be.</p>
<p>With that in mind, I want to show a chart I pulled from a <a href="http://www.youtube.com/watch?v=wadBvDPeE4E"target="_blank" rel="noopener">Nicholas Christakis</a> lecture. He cites a study on Broadway shows. Some are big hits, others are box-office flops, and the researchers wanted to know whether there was any correlation between the type of social network in the show&rsquo;s organization and the success rates.</p>
<p>Picture on the X axis the density of relationships among the show&rsquo;s team professionals. 0 is the highly centralized network, where people at the edges don&rsquo;t even talk to each other; 100 is the highly decentralized network, where anyone talks to anyone. Level 0, intuition already flags as bad, and the correlation confirms it: it shows up in the shows that flopped. The counterintuitive part is that fully decentralized networks flop just as much. The successful shows sit in the intermediate networks, with some decentralization and some centralization.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/389/big_Screen_Shot_2013-11-18_at_3.30.02_PM.png" alt="Success is in the middle"  loading="lazy" /></p>
<p>37signals isn&rsquo;t fully centralized, since the remote programmers talk over chat, via Github, and so on. And it isn&rsquo;t fully decentralized, because there&rsquo;s some level of specialization and, of course, a central strategic command.</p>
<p>I&rsquo;m testing different scenarios, and the first step, in my case, starts with this other diagram:</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/391/big_Screen_Shot_2013-11-18_at_3.43.24_PM.png" alt="Codeminer 42"  loading="lazy" /></p>
<p>But, as I said, I won&rsquo;t stray from the main subject here. Just a hint.</p>
<h2>The Career Problem<span class="hx:absolute hx:-mt-20" id="the-career-problem"></span>
    <a href="#the-career-problem" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>I keep repeating that defining the domain matters because, in 37signals&rsquo; case, you can raise people&rsquo;s salaries almost indefinitely. The product already hit a scale where revenue is orders of magnitude larger than costs and expenses. Well, if you can bankroll racing at <a href="https://web.archive.org/web/20130307181816/http://www.alms.com/drivers/david-heinemeier-hansson"target="_blank" rel="noopener">Le Mans</a>, you can pay programmers 5 or 6 figures.</p>
<p>Keep evolving the product, build new products carefully, keep old customers happy, do good marketing to draw new ones, in short, what a good company should do, and you can keep growing for a good while.</p>
<p>Except a product company like that isn&rsquo;t common. It&rsquo;s actually the rarest case in the industry, and the same rules don&rsquo;t apply to service companies, which are the majority. And the reason is structural, tied to the fundamentals of the industry.</p>
<p>From that comes the reasoning: <strong>&ldquo;That&rsquo;s why opening a service company isn&rsquo;t worth it, better to go straight to products.&rdquo;</strong> My answer is simple: &ldquo;good luck.&rdquo; The obvious premise is that product companies pan out right away. I already covered this in my previous article <a href="http://www.akitaonrails.com/en/2013/11/14/off-topic-tech-startups-superlotacao-de-b2c-boring"target="_blank" rel="noopener">Tech Startups, B2C overcrowding. Boring.</a>.</p>
<p><em>&ldquo;Oh, just follow Lean Startup, Agile processes, Business Canvas,&rdquo;</em> and the whole little package they sell today, with instructions any kid can follow and batteries included, and <strong>boom</strong>, automatic success&hellip; does anyone really buy that nonsense?</p>
<p>Now back to reality. The biggest problem with hiring home-office programmers is HR and career management, not just control. We&rsquo;re reaching a maturity level in software development where programming with good practices, good technology, efficiency, predictability, and easy future maintenance stopped being a <em>Premium</em> and became the norm. I won&rsquo;t offer a client a cheaper programmer because they&rsquo;re low quality. I want my junior to move up to mid-level fast, the client to get the same technical level no matter who does the work, and the quality to stay above average, because the industry average is still below the poverty line.</p>
<p>Except, if that&rsquo;s the norm, how does a company give programmers raises? Up to a point, technical ability makes a big difference. But cases of very high, still-experimental technology, where few people know what to do, are rare, in services and in products alike. The rest gets commoditized fast. The open source world all but guarantees that once a hard problem is solved, it gets replicated in no time. If making a responsive, halfway good-looking web front-end was once &ldquo;complicated,&rdquo; a Foundation or a Bootstrap already flattened most of that curve.</p>
<p>This is the core of the issue: just programming is too little for 90% of software projects. I discussed in another article, <a href="http://www.akitaonrails.com/en/2013/08/23/off-topic-estimativas-sao-promessas-promessas-devem-ser-cumpridas"target="_blank" rel="noopener">Estimates Are Promises. Promises Must Be Kept.</a>, that the hardest thing in a Software Engineer&rsquo;s career is realizing that much of a software project isn&rsquo;t solved with software. A &ldquo;senior&rdquo; professional is defined less by the prettiest code and more by managing client expectations, whether corporate or consumer, and by taking on responsibility.</p>
<p>Again, I won&rsquo;t get hung up on exceptions like research centers or established products. Inside a group, properties emerge that only exist inside a group. (See the Christakis talk again, or others like <a href="http://www.youtube.com/watch?v=B0vu3UVl8QY"target="_blank" rel="noopener">Duncan Watts</a>, to start getting a feel for these properties.) These are activities that usually don&rsquo;t happen solo: peer-to-peer training, where a junior gets to learn from someone more senior, plus the exercise of communication, negotiation, responsibility, and teamwork.</p>
<p>All of that is possible while remote, just much slower and much less obvious, because each individual really is isolated. A geographical cluster also influences the market and the local community around it, so it isn&rsquo;t confined to your primary group: secondary groups emerge. And each cluster relates the way Remote itself describes, with online tools and the occasional in-person trip.</p>
<p>In practice, how much more productive and efficient is a good senior developer than a junior? Ten times, tops? Meaning if a junior earns 1000, a senior earns 10,000 at most? And after that? Now, a good professional who trains, mentors, and self-scales from 1 to 3 has already climbed orders of magnitude. They easily reach 20,000 or more that way. Do this across clusters and soon you have a more resilient network.</p>
<p>I&rsquo;m not saying mentoring only happens in person, but the people who can pull it off remotely are still the exception, not the rule. We hire folks with little experience, or fresh out of college, and mentoring that person at a distance, while not impossible, is tricky. In the end, it always comes down to the person.</p>
<p>So is an individual working remotely <em>wrong</em>? Of course not. That&rsquo;s another problem with this kind of argument: it makes it look like there are only two paths. As with everything in sociology, there are many scenarios for many configurations. What the evidence flags as the most inefficient are precisely the two extremes, fully centralized and fully decentralized. In the range between them lives a whole series of different opportunities.</p>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>So yes, there&rsquo;s nothing wrong with what&rsquo;s in Remote. The mistake is treating it as the <em>only</em> solution. I could hire isolated home-office individuals with no problem at all. It&rsquo;s just that I still can&rsquo;t picture how to make them grow, expose them to more than coding, and I could hardly delegate responsibility beyond the code. The great advantage of working in the services market is having access to more companies and more situations than any employee of a single company or a single product ever would. Remote and isolated, very few of those opportunities are left.</p>
<p>And again, there are exceptions: big names in the open source world who work as freelancers, alone, doing great, their reputation only climbing. I&rsquo;ll fire back with a question: is that the rule or the exception? Exceptions exist, and if you can pull it off, being the exception is better. But evangelizing the exception&rsquo;s path all the time is deeply irresponsible.</p>
<p>Working from home is an experience worth trying. It is by no means automatically better than working inside a group, even counting the &ldquo;wasted time&rdquo; on the commute, which, by the way, is a lousy excuse. A lot depends on whether your region has options. If they&rsquo;re scarce, then remote becomes a good alternative. Just keep in mind there are always pros and cons.</p>
<!-- youtube video unavailable (deleted/blocked): dW9ztSUGY_Q -->
]]></content:encoded><category>career</category><category>management</category><category>off-topic</category></item><item><title>[Off-Topic] Agile Done Wrong</title><link>https://akitaonrails.github.io/en/2013/11/01/off-topic-agile-feito-errado/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/11/01/off-topic-agile-feito-errado/</guid><pubDate>Fri, 01 Nov 2013 10:48:00 -0200</pubDate><description>&lt;p&gt;One of the most common things I&amp;rsquo;ve seen in countless companies is adopting some methodology in the hope that it will improve things. Invariably nothing changes and sometimes it gets worse. I&amp;rsquo;ve repeated this countless times and I&amp;rsquo;ll repeat it again: Agile isn&amp;rsquo;t a silver bullet, and no magic recipe fixes bad professionals. Bad professionals can&amp;rsquo;t be fixed.&lt;/p&gt;
&lt;p&gt;The distinction matters. A junior professional, who still has technical deficiencies and wants to grow, learns techniques, practices, and tools, and gains technical quality, productivity, and efficiency. A bad professional, who may even have some technical capacity, is more interested in little work, little effort, and little responsibility, and turns bad-character in conduct and attitude. That one doesn&amp;rsquo;t change.&lt;/p&gt;</description><content:encoded><![CDATA[<p>One of the most common things I&rsquo;ve seen in countless companies is adopting some methodology in the hope that it will improve things. Invariably nothing changes and sometimes it gets worse. I&rsquo;ve repeated this countless times and I&rsquo;ll repeat it again: Agile isn&rsquo;t a silver bullet, and no magic recipe fixes bad professionals. Bad professionals can&rsquo;t be fixed.</p>
<p>The distinction matters. A junior professional, who still has technical deficiencies and wants to grow, learns techniques, practices, and tools, and gains technical quality, productivity, and efficiency. A bad professional, who may even have some technical capacity, is more interested in little work, little effort, and little responsibility, and turns bad-character in conduct and attitude. That one doesn&rsquo;t change.</p>
<p>Agile is another <a href="http://www.akitaonrails.com/en/2013/10/30/off-topic-matematica-trolls-haters-e-discussoes-de-internet"target="_blank" rel="noopener">formula</a> whose image (result) is the <a href="http://www.akitaonrails.com/en/2009/12/10/off-topic-voce-nao-entende-nada-de-scrum"target="_blank" rel="noopener">promise of hyper-productivity</a> that can reach 500% of the current. Again, what is the Domain (the premises)?</p>
<p>The most basic premise for Agile is that the team has technical capacity and commitment. No methodology teaches or changes that. Either each individual on the team is a capable person or it simply won&rsquo;t work. Well-made, well-organized code, following the known good practices, with tests and discipline, is the minimum to start, the rice and beans.</p>
<p>If that doesn&rsquo;t exist, give up. No methodology, no voodoo, no exorcism, no feng shui will help. Dropping Scrum, XP practices, Kanban, or anything else into a bad team with weak leadership produces some of the following prostitutions of the good practices:</p>
<h2>Planning for Show<span class="hx:absolute hx:-mt-20" id="planning-for-show"></span>
    <a href="#planning-for-show" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Good planning is only possible if the Product Owner commits to keeping a prioritized, well-defined backlog. And understand this: the definition of the User Stories should be ready <strong>before</strong> the Sprint Planning. A vague, poorly defined User Story helps nothing at all.</p>
<p>While the team works on the Sprint, the PO defines the upcoming User Stories, and can pull in one or more members of the team itself or of parallel teams to help. By the Sprint Planning everything should already be well defined, ideally pre-pointed and prioritized. The team just points the Sprint and, according to the current Velocity, sees what fits in the next one. A well-run meeting lasts 1 or 2 hours at most.</p>
<p>Symptoms: if it takes more than 2 hours, has too many people just to make quorum, poorly defined User Stories that spawn endless discussions and no action, you&rsquo;re doing it wrong.</p>
<h2>Pair Programming for Show<span class="hx:absolute hx:-mt-20" id="pair-programming-for-show"></span>
    <a href="#pair-programming-for-show" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Pair Programming is a very good practice, and the team decides how to run it. Except you can end up with a member who almost never programs well alone and, when doing the &ldquo;pair,&rdquo; turns into more of a listener than a participant. That&rsquo;s the famous &ldquo;dead weight.&rdquo; Sits there tossing out opinions, or just sits in silence playing Candy Crush and browsing Facebook. No value at all.</p>
<p>Symptoms: this happens more easily on very large teams (above 6), since it becomes easier to &ldquo;hide&rdquo; doing pair-fake with different people. In fact, I never recommend more than 4 people on an agile team. Even for a single product, if there are 15 people, for example, better to split into 3 teams of 5. Better still if people rotate across those teams so that &ldquo;cliques&rdquo; don&rsquo;t form where one bad guy covers for another.</p>
<h2>Departmental Protectionism<span class="hx:absolute hx:-mt-20" id="departmental-protectionism"></span>
    <a href="#departmental-protectionism" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Professional programmers today need to be multi-functional, versatile. Obviously each one is stronger at some type of capability than another. For example, what we&rsquo;d call a &ldquo;front-end&rdquo; should be the master of HTML 5, CSS 3, JavaScript, but should also know the minimum of Rails, Node.js, Python, or whatever the back-end is, enough to organize the templates and integrate with controllers, models, helpers, etc. And the &ldquo;back-ends&rdquo; should also minimally know HTML, and even infrastructure.</p>
<p>Pointing User Stories (whether in Story Points, Working Hours, etc.) should always be the same no matter who pulls the User Story. There&rsquo;s none of: &ldquo;these 3 stories are mine, these 2 are so-and-so&rsquo;s, these 4 are what&rsquo;s-his-name&rsquo;s.&rdquo; Stories are prioritized and each person pulls one story at a time as they finish the previous one.</p>
<p>Symptoms: stories pointed differently depending on who&rsquo;s going to pick them up, or &ldquo;reserved&rdquo; stories, or types of stories only one &ldquo;type&rdquo; of professional can pick up. There&rsquo;s none of &ldquo;this story is infra, only an infra guy should get it, and the back guy shouldn&rsquo;t even be looking at it.&rdquo; Sprints are the responsibility of the entire team.</p>
<p>One of the advantages of pair programming and small teams is that each person learns new capabilities from the others. A back-end dev can pull a Story with something of front-end in it, without being the best at front-end, and nothing stops them from asking to pair with a good front-end on the team when they need it. A User Story may take 2 hours if done by a good back-end, but it may take 5 hours if done by a front-end.</p>
<p>The right thing is for the front-end guy to get close to those 2 hours, not to reserve the story. The right thing is for the team&rsquo;s velocity to climb gradually, and for that the individual velocity of each member also has to climb. And for that they have to keep learning new capabilities. That&rsquo;s how everyone evolves. Reserving stories is the best example of a punch-the-clock worker wanting to &lsquo;protect&rsquo; their job and hide their mediocrity.</p>
<h2>Quality for Show<span class="hx:absolute hx:-mt-20" id="quality-for-show"></span>
    <a href="#quality-for-show" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Every member of the team should care about both the technical quality of the code and the functional quality, that is, whether the feature actually behaves correctly with end users. Many times teams allocate people with the sole goal of being a &ldquo;Q&amp;A&rdquo; (Quality Assurance), responsible for building test cases, automating integration tests, aligning with the PO and with business analysts, marketing, etc.</p>
<p>I&rsquo;ll say that personally I don&rsquo;t like this distinction, but I confess that in some cases it makes a lot of sense. Except it has to be done in a way that doesn&rsquo;t strip the team of the responsibility to deliver features that actually work. There can&rsquo;t be a feeling of &ldquo;who cares if there are bugs, the Q&amp;A will catch them later.&rdquo; But that&rsquo;s what often happens.</p>
<p>Symptom: look for User Stories that get delivered, then rejected, then redone, then rejected again, and stay that way for a long time. A User Story that goes 1 month without being accepted is a monstrous absurdity, an abomination. Even worse if there are team members who, when you look at the past backlog, are always involved in stories that always get rejected and always take days to be accepted. It&rsquo;s the typical case of the professional who keeps their job by solving problems they created themselves. Remove those rotten apples from the team as soon as possible, because they contaminate the whole barrel very fast.</p>
<h2>Excuses, Excuses, Excuses<span class="hx:absolute hx:-mt-20" id="excuses-excuses-excuses"></span>
    <a href="#excuses-excuses-excuses" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>&ldquo;I couldn&rsquo;t do it because we were missing a test, but the guy who does tests was overloaded so I got stuck.&rdquo;</p>
<p>&ldquo;I couldn&rsquo;t do it because there was an obstacle in the other team that they didn&rsquo;t resolve, so I got stuck.&rdquo;</p>
<p>&ldquo;I couldn&rsquo;t do it because it was poorly specified, I sent an email to clear it up, no one answered, so I got stuck.&rdquo;</p>
<p>A good professional gives solutions, doesn&rsquo;t point fingers or keep looking for excuses to justify their own incompetence. Does that mean nobody can complain? Of course not. There are always hard problems to solve, and people can and should seek help when needed.</p>
<p>Symptoms: it&rsquo;s easy to spot the professional procrastinator. The guy is never at his desk, spends more time chatting at the coffee machine than working. Shows up late every day, leaves early every day. When he&rsquo;s at his desk, you glance over and the poor soul is on YouTube or on Hacker News.</p>
<p>And let it be very clear: none of these activities, on its own, is a problem. Even I take a break and hang out on Facebook. It&rsquo;s just that whoever behaves this way <strong>constantly</strong>, <strong>routinely</strong>, is clowning around. Worse: if by the end of the day his task were finished, with well-made code and no bugs, I wouldn&rsquo;t complain. Usually it isn&rsquo;t. The task comes in incomplete, the code poorly made, always needing to be redone, and the guy shows up with excuses like the ones above.</p>
<p>That&rsquo;s being bad-character, that&rsquo;s a criminal&rsquo;s attitude. He&rsquo;s deliberately stealing from the company: his salary is being paid and the value isn&rsquo;t being delivered. He&rsquo;s a thief.</p>
<p>A good professional, who works seriously, doesn&rsquo;t wait to be pressed to say &ldquo;ah, I asked, no one answered, so I didn&rsquo;t do it.&rdquo; When they hit an obstacle, they chase the problem. Technical question, they ask the colleagues next to them (in person, email, chat, gtalk). Functional problem, they go straight to the PO. Departmental problem, they get up from the chair and walk over to the other team to clear it. If the task depends on a third party who wouldn&rsquo;t collaborate, they go straight to the boss to solve it.</p>
<p>The basic symptom of the bad professional is the opposite: he doesn&rsquo;t go after it. He&rsquo;s happy when he hits the obstacle, because a week from now, only at the next Review meeting, he&rsquo;ll say &ldquo;daaaamn, I even tried, but so-and-so didn&rsquo;t collaborate, so I couldn&rsquo;t.&rdquo; Give me a break.</p>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If your team has just 1 of the problems described above, it&rsquo;s already a catastrophe. If it has more than one, it&rsquo;s a military-intervention problem, Iraq level. Anything past that, only a nuclear bomb solves it. And worse still, someone who exhibits <strong>all</strong> the bad behaviors described above is a criminal sociopath. Scolding is useless, trying to fix them is useless: there&rsquo;s no fixing it&hellip; but there&rsquo;s a solution: swap out the rotten apples as soon as possible.</p>
<p>And again, to be clear, obviously there are all kinds of bad professionals, and I&rsquo;m not talking only about programmers. There are bad managers, bad analysts, bad coordinators, bad supervisors, bad directors, etc. This applies to everyone.</p>
<p>If you&rsquo;re a programmer and you see all this, chase after it. If the problem is in upper management, I&rsquo;m sorry to say there&rsquo;s nothing to do. Now, if you&rsquo;re a manager, a supervisor, someone in a position of authority, and you&rsquo;re taking no action knowing all this: resign, you&rsquo;re doing it very wrong and being complicit with an environment whose culture is bad character.</p>
<p>Applying &lsquo;some&rsquo; Agile practices, interpreted the wrong way, isn&rsquo;t being Agile, it&rsquo;s fooling yourself. It&rsquo;s like a nutritional diet. During the day you follow the diet to the letter, but when no one is looking you eat chocolate and sweets, and the next day you say &ldquo;damn, I don&rsquo;t know why this diet isn&rsquo;t working, I&rsquo;m following it right, I guess the diet&rsquo;s no good, let&rsquo;s try another one.&rdquo; #lamentable</p>
]]></content:encoded><category>agile</category><category>software-engineering</category><category>management</category><category>off-topic</category></item><item><title>[Off-Topic] #noEstimates Debunked</title><link>https://akitaonrails.github.io/en/2013/10/07/off-topic-noestimates-debunked/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/10/07/off-topic-noestimates-debunked/</guid><pubDate>Mon, 07 Oct 2013 11:35:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; One thing I forgot to mention. If you didn&amp;rsquo;t want to read all this, or you disagree altogether, ask yourself the following. You don&amp;rsquo;t want due dates, so are you willing to give up your salary&amp;rsquo;s due date as well? Why can&amp;rsquo;t you estimate what you&amp;rsquo;ll deliver and yet your client still has to pay you?&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s make this even: you do #noEstimates if, and only if, you&amp;rsquo;re willing to do #noSalary. Your employer holds your pay until you deliver, and in that scenario the amount gets depreciated the longer you take. Labor law doesn&amp;rsquo;t allow that, unfortunately. But it would be an interesting scenario.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Update:</strong> One thing I forgot to mention. If you didn&rsquo;t want to read all this, or you disagree altogether, ask yourself the following. You don&rsquo;t want due dates, so are you willing to give up your salary&rsquo;s due date as well? Why can&rsquo;t you estimate what you&rsquo;ll deliver and yet your client still has to pay you?</p>
<p>Let&rsquo;s make this even: you do #noEstimates if, and only if, you&rsquo;re willing to do #noSalary. Your employer holds your pay until you deliver, and in that scenario the amount gets depreciated the longer you take. Labor law doesn&rsquo;t allow that, unfortunately. But it would be an interesting scenario.</p>
<p>There are a lot of people talking about #noEstimates lately. I&rsquo;ve read most of the arguments in its favor, and anyone can run a quick Google search, so I won&rsquo;t keep referencing each of them. The gist is this: estimates will never be good enough, and the more specification and planning you do, the less the quality of the estimates seems to improve. In a dynamic market the specs change all the time, and the bigger the estimation effort, the bigger the waste. If estimation is that much of a waste, why not throw it all out at once?</p>
<p>It feels like a noble idea, especially for software developers. Software is malleable, it&rsquo;s abstract, and it just seems not to fit the traditional notions of project management. And while we&rsquo;re at it, why not throw out the entire notion of projects too? That&rsquo;s how another trend came along, #noProjects.</p>
<p>My intention here isn&rsquo;t to answer every argument, and that isn&rsquo;t even the point. What I&rsquo;ll do is explain why the whole idea is absurd right at the root. So let&rsquo;s start with the basics.</p>
<p>One thing I&rsquo;ve argued since at least 2008 is looking at project management and markets in general through the models of Complex Adaptive Systems, Chaos Theory, and Evolutionary Biology. I&rsquo;ve been heavily influenced by the ideas of Nassim Nicholas Taleb and his magnum opus &ldquo;The Black Swan&rdquo;. The idea is incredible: markets are driven by chaotic agents that influence a complex system, far from any linear path.</p>
<p>Every company is managed to deal with averages, with limited sigmas as the margin of operational error. But once something big happens, a &ldquo;Black Swan&rdquo; like the 2008 economic crisis, most aren&rsquo;t prepared. No model can predict it, and the whole system locks up and collapses.</p>
<p>If you don&rsquo;t know the idea, Google it for a second and you&rsquo;ll see that companies, markets, and human relationships in general are dynamic systems that obey the rules of evolutionary biology. Decentralized systems seem to be the way to go, and those concepts influence many of the Lean movements we see today. So, yes, I&rsquo;m well aware of these effects.</p>
<p>To sum it up, the ones with the most chance of surviving in a complex system like that are the most adaptable, far more than the ones who stick rigidly to plans. Following long-term plans with rigidity is the easiest way to fall down when the Black Swans show up.</p>
<p>That led me to another concept: Einstein&rsquo;s General Theory of Relativity. In modern cosmology it superseded Newton&rsquo;s Theory. When I first learned that, my first thought was: if Newton is &ldquo;wrong&rdquo;, why aren&rsquo;t we using Relativity to calculate everything in our daily lives?</p>
<p>The answer is that Newton is only &ldquo;wrong&rdquo; if you demand that it calculate anything. It doesn&rsquo;t apply to the very very large, to gravitational calculation, to galaxy-level calculations. But at Earth-like sizes, computing the path of an airplane or the trajectory of a bullet, it still holds, because the margins of error are negligible. In day-to-day life you can reduce the problem to Newton and leave General Relativity aside. It&rsquo;s a crude simplification, of course, but bear with me.</p>
<p>The same applies to companies. We&rsquo;re all subject to Power Law distributions, to Evolutionary Biology, to the relentless forces of Chaos that make everything behave like Complex Adaptive Systems. But in a constrained environment I&rsquo;ll argue that you can reduce the calculation back to Bell Curves. That&rsquo;s the hardest part to &ldquo;prove&rdquo;, so I won&rsquo;t try right now, but the explanation that follows may get you there.</p>
<p>Let&rsquo;s define what a company is: a set of operations. Operations are repetitive activities, like &ldquo;pay a supplier&rdquo;, &ldquo;send a purchase order&rdquo;, &ldquo;process the payroll&rdquo;, or &ldquo;transport products&rdquo;. The set of all those activities defines what a company is.</p>
<p>The core idea of a company is to run those operations as efficiently as possible. You do that by continuously refining the process in small steps, or through a breakthrough that completely changes the way you run a particular operation.</p>
<p>An example: back in the day there were entire groups of people dedicated to filling out paper forms and organizing them so information could flow inside the company. With the rise of digital systems, of ERPs, all that paperwork stopped being necessary. We got rid of an entire profession of typists and added efficiency and precision to the system. Breakthroughs are usually the digital automation of manual labor, or getting rid of a process entirely.</p>
<p>To reach those breakthroughs there are Projects. Projects are temporary endeavors where a group of people concentrate to hit a pre-established goal. They usually have a fixed start and due date, a fixed budget, and a fixed number of people involved.</p>
<p>And here we get to the Estimation part. Every project wants to hit some goal, and in the case of a software project we write code to get there. To do that, we come up with features and break them into Use Cases, User Stories, Requirements, or any artifact that describes what has to be built. Then we estimate how much resource (time, money, people) it takes to implement each piece and integrate them into a &ldquo;solution&rdquo; that solves the problem.</p>
<p>What developers complain about is that you can&rsquo;t estimate those pieces with precision, and that projects will always come out late and over budget. Hence the idea of estimating nothing, just starting to code, delivering value as fast as possible, and calling it done only when it&rsquo;s done.</p>
<p>Some developers get so fed up with this whole notion that they want to leave their companies and start their own startups, where they&rsquo;ll get to do whatever they want with no controls at all. Then off they go looking for investors, because they need a lot of money and a lot of time. Of course they do. What they don&rsquo;t realize is that <strong>EVERYBODY</strong> needs a lot of money and a lot of time.</p>
<p>And investors know this: the idea is irrelevant, execution is everything. The ones who deserve more money and more time are exactly the ones who can pressure themselves into delivering under budget and ahead of everyone else. Just doing something without worrying about constraints is the realm of the mediocre. And the mediocre deserve nothing.</p>
<p>Back to basics: there&rsquo;s a thing called <a href="https://en.wikipedia.org/wiki/Economy"target="_blank" rel="noopener">Economy</a> precisely because resources aren&rsquo;t infinite. Everything that has value has a price, whether it&rsquo;s a physical product or working hours.</p>
<p>Understand this: in the services business, where we developers all live, whether as an employee or a co-founder, value has only two variables, quality and efficiency. We tend to see quality as the only thing that matters. Worse: we tend to see what <em>we</em> think is quality as the only thing that matters.</p>
<p>This brings us back to <strong>CONTEXT</strong>. Most programmers are bad at estimates, and the root of it is that they&rsquo;re usually utterly incompetent at understanding context. As someone with a Math background, I read all those articles about processes, methodologies, and things like &ldquo;#noEstimates&rdquo; as if they were &ldquo;formulas&rdquo;.</p>
<p>Formulas alone don&rsquo;t mean a thing. Any mathematician knows you have to define a <a href="https://en.wikipedia.org/wiki/Domain_of_a_function"target="_blank" rel="noopener">Domain and an Image</a>, the source and the destination of every input and output. If I show you a formula like <tt>&ldquo;f(x) = 1 / x&rdquo;</tt>, you can say it&rsquo;s invalid, because you can&rsquo;t divide when x is zero. But if I tell you the Domain is every Natural number except zero, now it&rsquo;s a perfectly valid formula for the Image of the Rationals.</p>
<p>So when someone says &ldquo;#noEstimates&rdquo;, the natural question is: in which Domain and for what Image? That&rsquo;s the origin of the confusion in most Internet arguments. People argue for or against an idea because each one is in a different Domain. Same goes for Agile in general, Lean Startups, Lean Manufacturing, and so on: they tend to define only practices, procedures, formulas, but they rarely define Domain and Image. That creates confusion and misses the point.</p>
<p>What I&rsquo;ll define is this: Projects are necessary every time there&rsquo;s a defined goal to hit. That&rsquo;s the domain. And I&rsquo;ll also state that whoever says &ldquo;#noEstimates&rdquo; is thinking about the Domain of &ldquo;Ongoing Operations&rdquo;, while Projects are a separate Domain. That&rsquo;s exactly where Lean Manufacturing in general fits too.</p>
<p>I already explained Operations above, and it&rsquo;s where the small improvement steps (Kaizen) emerge. Sometimes the feedback from an operation gives enough input to justify a Project and take a bigger step, a breakthrough.</p>
<p>Projects, on the other hand, remain temporary endeavors. The whole idea is to set boundaries, like time and cost constraints. And we come back to the original question: is it impossible to predict the effort needed for something as malleable as software development?</p>
<p>First of all, yes, it&rsquo;s impossible to predict with exact precision. Let&rsquo;s define it again: it&rsquo;s impossible to predict a number with zero margin of error. Estimation is prediction with a margin of error. And why do some projects cost more than twice as much and take more than twice as long as the estimate?</p>
<p>Most of the time, in 90% of cases, because the team is incompetent. The problem isn&rsquo;t the estimate, it&rsquo;s the execution. Estimation is the establishment of an expectation, and expectations have to be managed. An estimate is only good if the context is taken into account.</p>
<p>Most people don&rsquo;t like to estimate because of the &ldquo;what if&rdquo; scenarios. What if the client changes their mind? What if we hit a hard obstacle? What if a meteor strikes the Earth and all living creatures perish? &ldquo;What if&rdquo; can&rsquo;t be managed; what can be managed is what you know, by creating constraints. A project&rsquo;s constraints start with its goal. To hit that goal, we also set the rules of engagement, the premises. Without goals and without premises, there&rsquo;s no game.</p>
<p>None of that guarantees a Prediction. An estimate is only as good as the execution. Now we have to manage it, and everybody has to manage it.</p>
<p>It&rsquo;s no use setting clear rules and then suddenly seeing a programmer sitting idle. You ask why he&rsquo;s idle, and the answer is &ldquo;<em>oh, because I emailed the client about some requirements and he never replied, so I was waiting</em>&rdquo;. You ask &ldquo;<em>and did you try calling him?</em>&rdquo;, and the answer is usually &ldquo;<em>No, I didn&rsquo;t</em>&rdquo;. No amount of process or methodology &ldquo;fixes&rdquo; an incompetent employee. Lack of technical skill can be fixed. Bad faith cannot.</p>
<p>The #noEstimates advocates can argue they&rsquo;re not like that, and I believe them. But 90% of the projects that failed had employees like that. Programmers tend to blame the client, the bosses, the market, but never themselves. And as a programmer I&rsquo;ll argue that most projects fail because of lazy employees, far more than because of changing requirements or limited time. Want to make projects go right? Start with Human Resources, then go find methodologies and practices.</p>
<p>The trouble with methodologies that don&rsquo;t state the Domain their formulas work in is that most people don&rsquo;t see where that Domain begins: at <strong>&ldquo;having competent, committed, and skilled employees&rdquo;</strong>. Most adopt methodologies hoping to turn incompetent employees into competent ones, and that just doesn&rsquo;t happen.</p>
<p>With that settled, why do we need estimates? Or, more generally, why do we need constraints? Because that&rsquo;s the essence of the value of any system. Nature puts pressure on every living species: changing climate, limited food, predators. The most adaptable species evolve, and the ones that can&rsquo;t adapt perish.</p>
<p>When someone says &ldquo;<em>it&rsquo;s impossible to do X</em>&rdquo;, that&rsquo;s probably the most valuable goal to chase. Because the full sentence is &ldquo;<em>it&rsquo;s impossible to do X with what we know today</em>&rdquo;. It was impossible to go around the globe in 24 hours, now it isn&rsquo;t. It was impossible to talk to the other side of the world in real time, now it isn&rsquo;t.</p>
<p>Constraints are the foundation of innovation. If I had to define innovation, I&rsquo;d say it&rsquo;s &ldquo;the process by which you accomplish something that was deemed impossible before&rdquo;.</p>
<p>If you have infinite resources, or you simply don&rsquo;t need to worry about constraints, which is what happens in bubbles, you don&rsquo;t innovate. This is so important that I&rsquo;ll repeat it:</p>
<blockquote>Innovation is the byproduct of Constraints.</blockquote>
<p>We estimate based on past knowledge. If we can&rsquo;t outdo our own past selves, how incompetent are we? You can argue that software isn&rsquo;t predictable, and I agree. But being off by orders of magnitude when recreating similar software just smells of incompetence to me.</p>
<p>Most of the software we produce is the same old thing: content websites, ecommerce, elearning, social networks, social commerce, forums, polls. It&rsquo;s rarely a brand-new idea or a breakthrough algorithm. Unless you work in research programs, what kind of truly different software have you built lately?</p>
<p>Estimation is rarely the problem. Every estimate starts from a set of premises, and the problem is not managing those premises. If the requirements change, fine, that we can always manage. What we can&rsquo;t manage is the pile of problems on the last day of the project, after the programmers kept pushing everything under the rug. Again, this is a Human Resources problem.</p>
<p>Meritocracy only exists in a system of scarcity, where one stands out against another in the face of a constraint. In a system of pure abundance, there&rsquo;s no need to innovate or to have merit. Companies that just got a humongous pile of cash invariably show symptoms of laziness, far more than of innovation.</p>
<p>The confusion comes from some of the &ldquo;practices&rdquo; being pushed coming out of this temporary, unreal bubble situation, and they can&rsquo;t take the pressure of time. Give it enough time and you&rsquo;ll ask yourself: &ldquo;how did we, with so much money and so much time, get so little done, and that little startup, with such limited resources, managed to outdo us?&rdquo;. That&rsquo;s the answer to why a Yahoo! buys a Tumblr, why a Facebook buys an Instagram, why a <a href="https://en.wikipedia.org/wiki/List_of_mergers_and_acquisitions_by_Google"target="_blank" rel="noopener">Google buys a Waze</a>.</p>
<p>If you advocate #noEstimation, why not go one step further and advocate #noWork? It&rsquo;s just one more step.</p>
]]></content:encoded><category>agile</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>[Off-Topic] Estimates Are Promises. Promises Must Be Kept.</title><link>https://akitaonrails.github.io/en/2013/08/23/off-topic-estimativas-sao-promessas-promessas-devem-ser-cumpridas/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/08/23/off-topic-estimativas-sao-promessas-promessas-devem-ser-cumpridas/</guid><pubDate>Fri, 23 Aug 2013 16:15:00 -0300</pubDate><description>&lt;p&gt;Browsing Quora, I found a simple but interesting question: &lt;a href="https://www.quora.com/Software-Engineering/What-is-the-hardest-thing-you-do-as-a-software-engineer/answer/Fabio-Akita"target="_blank" rel="noopener"&gt;&amp;ldquo;Software Engineering: What is the hardest thing for a software engineer&amp;rdquo;&lt;/a&gt;. It&amp;rsquo;s a subject I&amp;rsquo;ve been reflecting on for many years. I answered there in English, and it&amp;rsquo;s worth republishing a Portuguese version here too.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a software engineer and, after twenty years across different companies, markets, and teams, I see a pattern. Practically every engineer I&amp;rsquo;ve met starts with the premise that &amp;ldquo;code&amp;rdquo; is the goal and the solution to every problem.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Browsing Quora, I found a simple but interesting question: <a href="https://www.quora.com/Software-Engineering/What-is-the-hardest-thing-you-do-as-a-software-engineer/answer/Fabio-Akita"target="_blank" rel="noopener">&ldquo;Software Engineering: What is the hardest thing for a software engineer&rdquo;</a>. It&rsquo;s a subject I&rsquo;ve been reflecting on for many years. I answered there in English, and it&rsquo;s worth republishing a Portuguese version here too.</p>
<p>I&rsquo;m a software engineer and, after twenty years across different companies, markets, and teams, I see a pattern. Practically every engineer I&rsquo;ve met starts with the premise that &ldquo;code&rdquo; is the goal and the solution to every problem.</p>
<p>The truth is that, in the market at large, software problems aren&rsquo;t solved with software. I&rsquo;m not talking about the exceptional cases of research and development or academia. This is the first and hardest thing every engineer struggles to understand, and fights against.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/380/houseofcardskevinspacey.jpg" alt="Francis Underwood"  loading="lazy" /></p>
<blockquote>
  <p>Linda Vasquez: I know he made you a promise, but circumstances have changed.</p>

</blockquote>
<blockquote>
  <p>Francis Underwood: The nature of promises, Linda, is that they remain immune to changing circumstances.</p>

</blockquote>
<blockquote>
  <p>&ndash; House of Cards</p>

</blockquote>
<p>One thing a lot of people cite as the hardest is &ldquo;estimating,&rdquo; because you so rarely land on the right estimate. And that&rsquo;s where the problem lives: the phrase itself is confusing.</p>
<p>Estimates, by definition, will never be &ldquo;correct.&rdquo; If they were, we&rsquo;d call them &ldquo;predictions,&rdquo; and they&rsquo;re two separate words for exactly that reason. In a prediction the variables are known and fixed, the path is predictable and automatic. That&rsquo;s the lab scenario: <em>&ldquo;given ideal conditions of temperature and pressure, in a vacuum, with zero friction, a toy car at a constant speed of 10 meters per second, for 10 seconds, travels 100 meters.&rdquo;</em> And estimates?</p>
<p>Outside the lab, we have estimates, and estimates are <strong>PROMISES</strong>.</p>
<p>Promises are made to be kept. A promise doesn&rsquo;t resolve itself. You have to make a deliberate effort to reach it and keep your word. With estimates it&rsquo;s the same: you estimate and then you work hard to deliver what you promised.</p>
<p><em>&ldquo;But the manager/client/investor/boss keeps pressuring me to add more things, make changes all the time, breaking my concentration with irrelevant problems all day long.&rdquo;</em></p>
<p>Yes, they do this, and they&rsquo;ll keep doing it, yesterday, today, and always. The most common reaction is to get defensive. To avoid committing, people decide to give no estimate at all, or throw out a number so out of proportion that any &ldquo;extra&rdquo; is sure to fit. That&rsquo;s a terrible default.</p>
<p>Say you promise your daughter you&rsquo;ll be at her school presentation. You blow it and show up two hours after the whole thing is over. That failure is yours, and yours alone.</p>
<p>It wasn&rsquo;t traffic, it wasn&rsquo;t the surprise meetings, it wasn&rsquo;t the weather. You made the promise and didn&rsquo;t prepare for the bumps along the road: leaving earlier, getting ahead of the problems, building in slack for the unexpected. You left everything for the last hour, walked out at the last minute, and, of course, <em>shit happens.</em></p>
<p>With estimates it&rsquo;s the same. You said a number with no commitment, no sense of responsibility, and did nothing to get there beyond sitting down and writing code. You never went digging to explain the problems.</p>
<p>Saying it once, your way, doesn&rsquo;t mean the other end understood. Whoever starts the communication is responsible for finding a way to get the message across; without that, communication didn&rsquo;t happen. To communicate is to be understood, and being understood is the responsibility of the person talking.</p>
<p>So you failed at communicating, at managing your own time, at helping your peers with the problems. All of it was your responsibility. Writing code was the smallest part.</p>
<p>Having a sense of responsibility is exactly the second hardest thing every engineer faces. If the starting premise is that they only answer for &ldquo;writing code,&rdquo; they don&rsquo;t see the broken communication as their own failure. So they rarely own the outcome: it&rsquo;s much easier to blame everything else. And that comes straight from the first difficulty, the wrong premise that your only goal in life is to write code and that every problem is solved with code.</p>
<p>This doesn&rsquo;t apply to software alone. It applies to the musician, the cook, the builder. As a working professional, sure, you&rsquo;re expected to be great at your craft. But that&rsquo;s the bare minimum of the foundation, and there&rsquo;s nothing exceptional about being technically good, however impressive the skill may look.</p>
<p>There&rsquo;s no point writing the most elegant, perfect code if it solves the wrong problem. It&rsquo;s like composing the most perfect Beethoven-style classical piece for a job that called for music at a kids&rsquo; birthday party. So one of two things: either you don&rsquo;t take the kids&rsquo; party, or you write the best pop tune you can. If you took it and stayed, either you deliver with exceptional quality, within expectations, or you own the fact that you can&rsquo;t and step aside, without getting in the way of whoever can solve what you couldn&rsquo;t.</p>
<p>Anyone offering a service needs to understand one thing: the goal is to implement the best possible solution, but for the right set of problems. And the hardest part is finding that right set. Clients come to professionals precisely because they don&rsquo;t know either. It&rsquo;s on us to help find those problems, to judge whether keeping the promise is within our reach, and then to keep it, managing every obstacle that shows up along the way.</p>
<p>It sounds simple put like this, but even experienced engineers fail to grasp this truth, and plenty get away with breaking promises using tricks to hide the hole they dug.</p>
<p>So learn the first and hardest truth in the world: software is normally not solved with software, it&rsquo;s solved with human capabilities. On a Pareto distribution, I&rsquo;d say 80% of every software problem only gets solved when you invest the remaining 20% in communication, articulation, clear and rational thinking, breaking ambiguities, negotiation, and commitment.</p>
<p>Given all that, it can look easier to never promise anything. Except that never promising means never committing, and never committing means never being a professional. That&rsquo;s exactly what separates the amateur or hobbyist from the professional: making promises and working to keep them. It also happens that you don&rsquo;t hold up your side because it depended on the client, the boss, or whoever holding up their side first. A mutual exchange of promises is the whole reason there&rsquo;s a referee called Justice, and the instrument that records those two promises has a name: a contract.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/381/Promise-Quotes.jpg" alt="Promises"  loading="lazy" /></p>
<p>All that said, can you keep every promise? No, unfortunately you can&rsquo;t. But it&rsquo;s our responsibility as professionals to always chase that ideal, instead of inventing ways to dodge it.</p>
<p>I&rsquo;ve said more about what I consider a professional to be in a 2011 post, <a href="/en/2011/05/04/off-topic-opinioes-verdades-democracia-e-etica/">&quot;[Off-Topic] Opinions, Truths, Democracy, and Ethics&quot;</a>.</p>
]]></content:encoded><category>career</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>Predictably Irrational</title><link>https://akitaonrails.github.io/en/2013/07/12/previsivelmente-irracional/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/07/12/previsivelmente-irracional/</guid><pubDate>Fri, 12 Jul 2013 20:44:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Original from 4/3/2010&lt;/strong&gt;: &lt;a href="http://web.archive.org/web/20130724115712/http://info.abril.com.br/noticias/rede/gestao20/gestao/previsivelmente-irracional/"target="_blank" rel="noopener"&gt;Gestão 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a branch of research known as &amp;ldquo;Behavioral Economics,&amp;rdquo; a strand different from traditional Economics. Classical Economics starts from the premise that people are rational and decide based on cost-benefit analysis. Behavioral Economics factors in the social, cognitive, and emotional forces that shape our day-to-day decisions.&lt;/p&gt;
&lt;p&gt;We like to believe we make rational decisions all the time, but most of the time we&amp;rsquo;re guessing and deciding on emotion. And that produces some fascinating results. One of the best-known researchers in the field is Prof. Dan Ariely, author of the book &amp;ldquo;Predictably Irrational.&amp;rdquo;&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original from 4/3/2010</strong>: <a href="http://web.archive.org/web/20130724115712/http://info.abril.com.br/noticias/rede/gestao20/gestao/previsivelmente-irracional/"target="_blank" rel="noopener">Gestão 2.0</a></p>
<p>There&rsquo;s a branch of research known as &ldquo;Behavioral Economics,&rdquo; a strand different from traditional Economics. Classical Economics starts from the premise that people are rational and decide based on cost-benefit analysis. Behavioral Economics factors in the social, cognitive, and emotional forces that shape our day-to-day decisions.</p>
<p>We like to believe we make rational decisions all the time, but most of the time we&rsquo;re guessing and deciding on emotion. And that produces some fascinating results. One of the best-known researchers in the field is Prof. Dan Ariely, author of the book &ldquo;Predictably Irrational.&rdquo;</p>
<p>In the book he looks at how we see prices, why price isn&rsquo;t a simple matter of &ldquo;supply and demand,&rdquo; why we&rsquo;re dishonest, and how the placebo effect works. It&rsquo;s the result of years of empirical experimentation.</p>
<p>Watch this excerpt I subtitled from his TED talk on the subject:</p>
<div class="video-container">
    <video controls>
        <source src="https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-DanArielyPrevisivelmenteIrracional859.mp4">
        Your browser does not support the video tag. [Direct Link](https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-DanArielyPrevisivelmenteIrracional859.mp4)
    </video>
</div>
<p>Why does this matter? Because we deal with people every day. We make decisions influenced by others or, worse, that will affect others. And we sleep with a clear conscience, convinced we picked the best rational option with the data we had on hand.</p>
<p>But what if our decisions aren&rsquo;t that rational after all? What if we&rsquo;re easily influenced by data and circumstances? Better yet: what if recognizing this fact helps us understand our limitations and actually decide better?</p>
<p>That&rsquo;s why it&rsquo;s worth understanding your own psychology. Anyone in a management position needs it more than most, because the job itself is already &ldquo;managing people.&rdquo;</p>
<p>We are irrational, predictably irrational. Use it to your advantage.</p>
]]></content:encoded><category>psychology</category><category>economics</category><category>management</category><category>off-topic</category></item><item><title>Introduction to Agility</title><link>https://akitaonrails.github.io/en/2013/06/28/introducao-a-agilidade/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/06/28/introducao-a-agilidade/</guid><pubDate>Fri, 28 Jun 2013 20:08:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Original from 6/18/2010&lt;/strong&gt;: &lt;a href="http://web.archive.org/web/20130723202056/http://info.abril.com.br/noticias/rede/gestao20/gestao/introducao-a-agilidade/"target="_blank" rel="noopener"&gt;Gestão 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I got back last weekend from a trip to Baltimore, Maryland, where I spoke at RailsConf. It was an event full of great talks, some aimed not just at Ruby on Rails but at the programming career in general. One of them was by no one less than Robert Martin, of Object Mentor. I translated an article of his in my previous post.&lt;/p&gt;
&lt;p&gt;I recommend watching the talk in full.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original from 6/18/2010</strong>: <a href="http://web.archive.org/web/20130723202056/http://info.abril.com.br/noticias/rede/gestao20/gestao/introducao-a-agilidade/"target="_blank" rel="noopener">Gestão 2.0</a></p>
<p>I got back last weekend from a trip to Baltimore, Maryland, where I spoke at RailsConf. It was an event full of great talks, some aimed not just at Ruby on Rails but at the programming career in general. One of them was by no one less than Robert Martin, of Object Mentor. I translated an article of his in my previous post.</p>
<p>I recommend watching the talk in full.</p>
<p>Since I started this blog, I&rsquo;ve tried to explain the conditions and difficulties a Project Manager faces. But I&rsquo;ve been careful not to repeat the term &ldquo;Agile&rdquo; at every turn. We&rsquo;re in the middle of an &ldquo;agility&rdquo; fever. Every CIO, CTO, manager, or consultant, to seem modern, says they know &ldquo;Scrum&rdquo; and that they&rsquo;re &ldquo;agile&rdquo;.</p>
<p>That has a good side: some companies might finally adopt these ideas the right way. It also has a bad side, and a big one. We&rsquo;re burning the name &ldquo;Agile&rdquo; because of bad consultancies that implement everything wrong at the client. The result is the perception, among the uninformed, that &ldquo;Agile doesn&rsquo;t work&rdquo;.</p>
<p>Well, during RailsConf, I had the chance to talk to and interview Robert Martin, whose recording you can watch below:</p>
<div class="video-container">
    <video controls>
        <source src="https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-RailsConf2010RobertMartin974.mp4">
        Your browser does not support the video tag. [Direct Link](https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-RailsConf2010RobertMartin974.mp4)
    </video>
</div>
<p>From this interview, the part I want to present is the story of how &ldquo;Agile&rdquo; came about. Robert Martin, also known as &ldquo;Uncle Bob&rdquo;, has been a programmer for decades, certainly more than any of us. In the 90s he was one of those who noticed the rise of &ldquo;light&rdquo; or &ldquo;lean&rdquo; methodologies. Much of that came from the manufacturing concepts that revolutionized Japanese industry from the 60s onward.</p>
<p>Several big names started proposing smarter ways to develop software. Kent Beck with Extreme Programming (XP); Ken Schwaber and Jeff Sutherland with Scrum; Alistair Cockburn with Crystal.</p>
<p>They all followed a similar line: short iterations, constant feedback, and a lot of communication. Seeing that pattern, Uncle Bob reached out to Martin Fowler, another strong name in the world of software architecture, and together they began organizing a meeting, summoning a group of these professionals.</p>
<p>The legendary meeting took place at the Snowbird ski resort in Utah, between February 11 and 13, 2001. Seventeen professionals spent three days there and walked out with the &ldquo;Agile Manifesto&rdquo;. It brings together <strong>4 values</strong> and <strong>12 principles</strong> that all the participants accepted as the minimum common denominator in the practice of software development. The manifesto says:</p>
<blockquote>
  <p>We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:</p>
<p>Individuals and interactions over processes and tools</p>
<p>Working software over comprehensive documentation</p>
<p>Customer collaboration over contract negotiation</p>
<p>Responding to change over following a plan</p>
<p>That is, while there is value in the items on the right, we value the items on the left more.</p>

</blockquote>
<p>As I said before, there&rsquo;s a growing fever in the adoption of agile methodologies. Worse than that, there&rsquo;s a tendency to expropriate the term &ldquo;Agile&rdquo; and its derivatives, like &ldquo;XP&rdquo; and &ldquo;Scrum&rdquo;, creating real frankensteins that blend the old way with the new. It&rsquo;s the case of trying to join RUP with Scrum, or PMI with Scrum, and so on.</p>
<p>These are opportunistic attempts riding the fever to make easy money. Some companies, for example, insist on a &ldquo;Certified Scrum Master&rdquo; in a manager&rsquo;s resume, among other equally <strong>irrelevant</strong> things.</p>
<p>And, to make it worse, many try to implement agile methodologies <em>&ldquo;by the book&rdquo;</em>, that is, dogmatically. Every dogma, by definition, is dumb.</p>
<p>Back to the 4 values: the priority is working software and value to the client. Implementing a methodology comes after that, if it comes at all. The first value is clear: it values Individuals and Interactions much more than Processes and Tools. What we see today is the opposite, an effort to push processes, methodologies, and tools.</p>
<p>Now is a good time to start demystifying the Agile world. This here is just an introduction, but the advice Uncle Bob gives in the interview holds: <strong>follow the originals</strong>. If you&rsquo;re really committed to improving things and delivering projects with quality and value, drop this new generation of consultancies. Start with the first books by Ken Schwaber, Kent Beck, Alistair Cockburn, and Mike Cohn.</p>
<p>Ask yourself all the time: am I in agreement with the 4 values?</p>
<p>If you&rsquo;re putting more emphasis on the process than on people, you&rsquo;ve already started wrong. Very wrong.</p>
]]></content:encoded><category>agile</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>Processes, Methodologies, and the Human Brain</title><link>https://akitaonrails.github.io/en/2013/06/21/processos-metodologias-e-o-cerebro-humano/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/06/21/processos-metodologias-e-o-cerebro-humano/</guid><pubDate>Fri, 21 Jun 2013 20:00:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Original from 6/24/2010&lt;/strong&gt;: &lt;a href="http://web.archive.org/web/20130311020016/http://info.abril.com.br/noticias/rede/gestao20/gestao/processos-metodologias-e-o-cerebro-humano/"target="_blank" rel="noopener"&gt;Gestão 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The human brain is a fantastic machine, and saying that is basically a redundancy of the term. But there are many anecdotes and mysticism when people talk about it.&lt;/p&gt;
&lt;p&gt;Everyone has at some point discussed the separation of &lt;strong&gt;&amp;ldquo;Emotion&amp;rdquo;&lt;/strong&gt; from &lt;strong&gt;&amp;ldquo;Reasoning.&amp;rdquo;&lt;/strong&gt; Since the time of Plato, emotions have been seen as something that gets in the way of logical thinking. Worse: most people believe that, at least in the most important decisions, we&amp;rsquo;re capable of setting emotions aside. The idea is to think according to classical economics, based on facts, evidence, and cost-benefit.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original from 6/24/2010</strong>: <a href="http://web.archive.org/web/20130311020016/http://info.abril.com.br/noticias/rede/gestao20/gestao/processos-metodologias-e-o-cerebro-humano/"target="_blank" rel="noopener">Gestão 2.0</a></p>
<p>The human brain is a fantastic machine, and saying that is basically a redundancy of the term. But there are many anecdotes and mysticism when people talk about it.</p>
<p>Everyone has at some point discussed the separation of <strong>&ldquo;Emotion&rdquo;</strong> from <strong>&ldquo;Reasoning.&rdquo;</strong> Since the time of Plato, emotions have been seen as something that gets in the way of logical thinking. Worse: most people believe that, at least in the most important decisions, we&rsquo;re capable of setting emotions aside. The idea is to think according to classical economics, based on facts, evidence, and cost-benefit.</p>
<p>But in the vast majority of cases, that&rsquo;s not how we behave. When we go to the supermarket, we rarely stand there doing arithmetic, weighing each product&rsquo;s ingredients or nutritional value. Usually we look at a product and decide whether to buy it based on how we feel.</p>
<p>Among dozens of brands for the same type of product, we choose based on past experiences, on some memorable event, on memories, and all in fractions of a second. We prefer to buy an &ldquo;80% light&rdquo; product over a &ldquo;20% fat&rdquo; one, even though both phrases say the same thing.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/354/parkinsons.gif" alt="Brain"  loading="lazy" /></p>
<p>Antonio Damasio is a well-known neurologist who studies the brain and our behavior. He followed patients who literally lost the ability to have emotions because of brain damage, whether from a tumor or a genetic problem. We might imagine, as the philosopher Plato did, that a person without emotions would make the best decisions all the time, since they wouldn&rsquo;t be influenced by them.</p>
<p>But without emotions, these people can&rsquo;t learn. Any trivial decision becomes a cost-benefit analysis. Everyday choices like what clothes to wear, what TV channel to watch, tea or coffee, all the mundane things we decide almost instantly, can take hours before this type of patient reaches a conclusion.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/354/parkinsons.gif" alt="Brain"  loading="lazy" /></p>
<p>A fact we already know: all emotions, sadness, compassion, joy, depression, pleasure, are chemical reactions in the brain. And we already know how to influence or control many of them.</p>
<p>Drug users know the sensation of pleasure. People who take antidepressants do too. They&rsquo;re all chemicals that act on the brain and modify our emotions. Schizophrenia and Parkinson&rsquo;s, on the other hand, are damage to this chemical system.</p>
<p>Another fact is that our brain evolved to learn. We learn through trial and error. We learn by observing and inferring patterns. Emotions strongly influence our decisions, and that&rsquo;s good.</p>
<p>When we learn some pattern, dopamine is released in the brain and creates a sensation of pleasure. We like to discover the pattern of things and to try to predict future events.</p>
<p>Take an experiment with monkeys: we ring a bell and then give a banana. The monkey learns the pattern &ldquo;after the bell comes the banana.&rdquo; You can measure dopamine being released the moment the bell rings, because the monkey starts to anticipate that event.</p>
<p>If we turn on a light, ring the bell, and then give the banana, the monkey learns that the &ldquo;light&rdquo; event precedes the bell and then the banana. The pattern can be repeated with several stages, and the monkey learns it. But if we follow the pattern and the banana doesn&rsquo;t come at the end, the monkey gets sad, because the prediction failed.</p>
<blockquote>
  <p>We also work this way.</p>

</blockquote>
<p>For many simple events, with few variables, this works well. Perhaps that&rsquo;s why many like routine, where the results are well defined.</p>
<p>Our brain, however, has a flaw: in its eagerness to find patterns, it tries to fit them where they don&rsquo;t exist. That&rsquo;s how <strong>superstitions</strong> are born. Before we understood meteorology, primitive tribes thought &ldquo;it&rsquo;s raining&rdquo; was tied to a dance they had just done, and imagined that repeating the dance would bring the rain back.</p>
<p>I translated on my other blog a Scientific American article showing how we are &ldquo;mathematically ignorant.&rdquo; We try to find a pattern for everything. A passage that illustrates our superstitions and explanations about coincidence is this:</p>
<blockquote>
  <p>It&rsquo;s always possible to combine random data and find some regularity. A very well-known example is the comparison of coincidences in the lives of Abraham Lincoln and John Kennedy, two presidents with 7 letters in their last names, and elected 100 years apart, 1860 and 1960. Both were assassinated on a Friday in the presence of their wives, Lincoln at the Ford Theater and Kennedy in an automobile made by Ford. Both assassins have 3 names: John Wilkes Booth and Lee Harvey Oswald, with 15 letters in each full name. Oswald shot Kennedy from a warehouse and ran to a theater, and Booth shot Lincoln in a theater and ran to a kind of warehouse. Both successor vice presidents were Southern Democrats and former senators named Johnson (Andrew and Lyndon), with 13 letters in their names and born 100 years apart, 1808 and 1908.</p>

</blockquote>
<blockquote>
  <p>But if we compare other relevant attributes, we fail to find coincidences. Lincoln and Kennedy were born and died on different dates (day and month) and in different states, and none of the dates are 100 years apart. Their ages were different, as were their wives&rsquo; names. Of course, if any of these had matched, they would be on the list of &ldquo;mysterious&rdquo; coincidences. For any person with a life reasonably full of events, it&rsquo;s possible to find coincidences between them. Two people meeting at a party often find shocking coincidences between them, but what they are – birthdays, hometowns, etc. – aren&rsquo;t predicted in advance.</p>

</blockquote>
<p>The real world is full of <strong>randomness</strong>, and it isn&rsquo;t hard to find patterns in it. Actually it&rsquo;s very easy. Complex situations have many random aspects, more than we imagine. And our brain hasn&rsquo;t evolved enough to feel comfortable in a totally random world.</p>
<p>An example is successful people. Imagine a mega-investor like Warren Buffett. Books upon books get printed, with analyses, biographies, and theories, trying to explain the process that takes an ordinary person to earning billions on the stock exchange. Just as speculation: what if Warren Buffett is nothing more, nothing less, than a statistical accident?</p>
<p>Nassim Taleb explains this in a Malcolm Gladwell article:</p>
<blockquote>
  <p>Suppose that there were ten thousand investment managers out there — which is not an outlandish number — and that every year, entirely by chance, half of them made money and half of them lost money. And suppose that every year the losers were tossed out, and the game replayed with those who remained. At the end of five years, there would be three hundred and thirteen people who had made money in every one of those years, and after ten years there would be nine people who had made money every single year in a row — all out of pure luck. And who&rsquo;s to say Buffett isn&rsquo;t one of those nine?</p>

</blockquote>
<p>Our brain takes pleasure in looking for patterns in everything, especially in success stories. We want to find the recipe, the magic formula. Sometimes we get that feeling of &ldquo;what does he have that I don&rsquo;t?&rdquo;</p>
<p>Sometimes two people are technically equally capable, but one gets rich and the other doesn&rsquo;t. The difference can simply be randomness. &ldquo;But that isn&rsquo;t fair!&rdquo; you complain. The world wasn&rsquo;t made to be fair. Justice is a human concept, and reality has no sense of morality: it simply &ldquo;is.&rdquo;</p>
<p>Science, fortunately, has a procedure to avoid this trap of the brain: the scientific method. Everything can start with one of these misfirings, thinking it found a pattern and generating a theory. Now that theory has to be put to the test.</p>
<p>For it to become a good theory, we need not only to try to prove it but, mainly, to try to disprove it. And even if we don&rsquo;t find a way to disprove the hypothesis, that doesn&rsquo;t make it a &ldquo;Law.&rdquo; Science is very careful with the claims it makes.</p>
<p>Even if a theory works well a thousand times, a single failure is enough for it to be rejected. It&rsquo;s thanks to this way of thinking that we have solid and reliable foundations in science, free of superstition and mysticism.</p>
<h3>Processes, Methodologies, and Superstitions<span class="hx:absolute hx:-mt-20" id="processes-methodologies-and-superstitions"></span>
    <a href="#processes-methodologies-and-superstitions" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>I gave that whole explanation to get to the main topic of this blog: project and people management. Anyone following my posts noticed that at no point do I preach a methodology, a process, a cookbook recipe. Things like &ldquo;how to make correct estimates&rdquo; or &ldquo;how to predict the success of a project.&rdquo;</p>
<p>If you&rsquo;re well informed, you know there&rsquo;s a whole market of individuals and companies that try exactly this: to sell you processes and methodologies. Whether traditional Software Engineering, PMI, or the so-called &ldquo;Agile methodologies.&rdquo;</p>
<p>First I need to leave a warning: all these methodologies were thought up with the best of intentions. The idea was to share the factors that led a certain project to success.</p>
<p>My explanation is more or less this: the leaders of these projects, or rather, their brains, tirelessly start looking for patterns. Maybe it&rsquo;s the post-it on the wall. Maybe the kind of document used. Maybe the way people sit at the table.</p>
<p>All of this forms a set of &ldquo;pseudo-truths&rdquo; that the brain understands as the &ldquo;lights&rdquo; and &ldquo;bells&rdquo; that lead to the &ldquo;banana.&rdquo; These leaders apply the recipe to other projects and, as Nassim Taleb explained, succeed consecutively.</p>
<p>Eureka! It seems we found the formula for turning iron into gold! Quickly these pseudo-truths get formatted as methodologies, canned, packaged, and sold.</p>
<p>But think for a moment: what if all these methodologies are exactly like the rain dance? As I said, it&rsquo;s very easy to find patterns in randomness.</p>
<p>When we start discussing minutiae, what level of detail to make an estimate at, what metrics to use, what mechanisms for team communication, I can&rsquo;t help thinking of primitive tribes discussing &ldquo;What feathers should we wear? What colors on our face? Should we take long or short steps in the dance?&rdquo;</p>
<p>But the main question never comes up: is the rain dance the thing that actually makes it rain? Or, in our case, is the methodology the thing that actually takes the project to success?</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/356/rainDance.jpg" alt="Rain Dance"  loading="lazy" /></p>
<p>And the scientific method? The problem is that a &ldquo;project&rdquo; is a very complex situation. Even the smallest projects are complex, in the sense that they have more variables than it&rsquo;s possible to measure.</p>
<p>One way to test a theory is to run a double-blind experiment, like drug labs do: one group receives the real medication and another receives a placebo, without knowing. If both have approximately the same result, the drug doesn&rsquo;t work.</p>
<p>But a methodology is more complicated than a drug. Even if we create two isolated and identical work environments, put two groups of &ldquo;approximately&rdquo; similar people in each, start at the same time and with the same requirements, one side with methodology &ldquo;A&rdquo; and the other with &ldquo;B,&rdquo; we still have no way to compare the results.</p>
<p>That&rsquo;s because methodologies involve the micro-decisions and capabilities of each person, and &ldquo;approximately similar&rdquo; is very different from &ldquo;equal.&rdquo; It&rsquo;s impossible to duplicate the same group of people in each environment.</p>
<p>We would first have to successfully clone the people. Then, with exactly identical groups, we could run a double-blind experiment. But that&rsquo;s impossible.</p>
<p>The conclusion is that proving a methodology of this type as &ldquo;correct&rdquo; is impossible, just as it&rsquo;s hard to disprove it. So it&rsquo;s useless to try to claim they work or not. Of course they influence, and separately, each technique can be tested more carefully. But I don&rsquo;t think it&rsquo;s possible to scientifically claim that they work.</p>
<blockquote>
  <p><em>&ldquo;But I tested methodology X on my project and it worked!&rdquo;</em></p>

</blockquote>
<p>Excellent, good for you. But for every project that succeeded with a certain methodology, you can find a case where it went wrong.</p>
<p>And the individuals and consultancies that sell these methodologies are clever: if the project worked, it was thanks to the methodology; if it went wrong, it&rsquo;s because the people didn&rsquo;t follow the methodology as they should have. The methodology is never at fault. It&rsquo;s excellent rhetoric for building a sales argument.</p>
<p>And since people aren&rsquo;t used to evaluating things rationally, and as I explained, most of the time they don&rsquo;t reason at all, we&rsquo;re left with lots of consultants making a lot of money without having to commit to results.</p>
<p>That matters because many people believe that, with the help of the fashionable methodology, simply applying it to a team of nothing but inexperienced people will make a good result appear, as if what mattered were the process and not the people. The opposite happens.</p>
<p>Most of the time these methodologies don&rsquo;t describe the exact qualifications each member needs to have, because it&rsquo;s impossible to list them all. At most they offer vague descriptions of &ldquo;roles,&rdquo; which generate more discussion than answers. A project with a chance of succeeding starts with at least some very experienced people, capable of guiding the rest of the team.</p>
<p>Anyway, my recommendation: study the so-called &ldquo;methodologies,&rdquo; because, as I said, some techniques there have value. But understand that none of them represents the truth.</p>
<p>And there&rsquo;s no point in adding two half-methodologies together thinking it makes them &ldquo;more complete.&rdquo; Projects are executed by people, human behavior is hard to predict, and the real world is full of unpredictable variables, forming a complex system with a lot of randomness involved.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/355/evolution.jpg" alt="Evolution"  loading="lazy" /></p>
<p>Start by accepting that the world is random and beyond your control. In complex situations it&rsquo;s better to err sooner than later, because errors bring information that helps refine the next decisions.</p>
<p>Accept that predicting the future in a complex system is impossible, and adapt: some things will go as planned and others will need to change. Maybe some unforeseen feature will need to be built, and the deadline will have to stretch. Maybe some planned feature wasn&rsquo;t so necessary after all and can be dropped. That&rsquo;s how you deal with a complex and unpredictable environment: <strong>adapting</strong>.</p>
<p>Biology explains it: all living beings on the planet are the result of a constant sequence of trial and error. Nature isn&rsquo;t &ldquo;perfect,&rdquo; in the sense that there is no creator, no intelligent design, no grand plan, no destiny. Every living being came from a very bad biological draft that, little by little, via natural selection, discarded what didn&rsquo;t work and favored what did.</p>
<p>We humans carry biological leftovers, like the appendix. We are a product in constant evolution, and for plenty of things the current stage is &ldquo;good enough.&rdquo; In terms of a project, that&rsquo;s exactly the point where it can be launched: when it&rsquo;s &ldquo;good enough,&rdquo; still with rough edges to fix, but working overall.</p>
<p>Trial and error. Adaptation. Evolution. That&rsquo;s how you manage anything.</p>
<p>If you want a more detailed view on this topic, I recommend starting with the following books:</p>
<ul>
<li><a href="http://www.amazon.com/How-We-Decide-Jonah-Lehrer/dp/0618620117"target="_blank" rel="noopener">How We Decide</a> by Jonah Lehrer</li>
<li><a href="http://www.amazon.com/Descartes-Error-Emotion-Reason-Human/dp/014303622X"target="_blank" rel="noopener">Descartes’ Error</a> by Antonio Damasio</li>
<li><a href="http://www.amazon.com/Predictably-Irrational-Revised-Expanded-Decisions/dp/0061353248"target="_blank" rel="noopener">Predictably Irrational</a> by Dan Ariely</li>
<li><a href="http://www.amazon.com/Fooled-Randomness-Hidden-Chance-Markets/dp/1400067936"target="_blank" rel="noopener">Fooled by Randomness</a> by Nassim Taleb</li>
<li><a href="http://www.amazon.com/Lucifer-Effect-Understanding-Good-People/dp/0812974441"target="_blank" rel="noopener">The Lucifer Effect</a> by Philip Zimbardo</li>
</ul>
]]></content:encoded><category>psychology</category><category>agile</category><category>management</category><category>off-topic</category></item><item><title>What Does It Mean to Be a Manager?</title><link>https://akitaonrails.github.io/en/2013/06/07/o-que-significa-ser-um-gerente/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/06/07/o-que-significa-ser-um-gerente/</guid><pubDate>Fri, 07 Jun 2013 19:40:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Original from 10/10/2010&lt;/strong&gt;: &lt;a href="https://web.archive.org/web/20130414102358/http://info.abril.com.br/noticias/rede/gestao20/gestao/o-que-significa-ser-um-gerente/"target="_blank" rel="noopener"&gt;Gestão 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As incredible as it sounds, there is no good, simple, clear, short definition for what it means to be a &amp;ldquo;manager.&amp;rdquo; Manager isn&amp;rsquo;t a profession. You can&amp;rsquo;t &amp;ldquo;learn&amp;rdquo; to be a manager in a school or a course. The only way to learn is by trying, erring, and improving, continuously and indefinitely.&lt;/p&gt;
&lt;p&gt;One of the best definitions I&amp;rsquo;ve found is from no one less than Professor Henry Mintzberg, in his recent book &amp;ldquo;Managing,&amp;rdquo; published in 2009. A mature and light read.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original from 10/10/2010</strong>: <a href="https://web.archive.org/web/20130414102358/http://info.abril.com.br/noticias/rede/gestao20/gestao/o-que-significa-ser-um-gerente/"target="_blank" rel="noopener">Gestão 2.0</a></p>
<p>As incredible as it sounds, there is no good, simple, clear, short definition for what it means to be a &ldquo;manager.&rdquo; Manager isn&rsquo;t a profession. You can&rsquo;t &ldquo;learn&rdquo; to be a manager in a school or a course. The only way to learn is by trying, erring, and improving, continuously and indefinitely.</p>
<p>One of the best definitions I&rsquo;ve found is from no one less than Professor Henry Mintzberg, in his recent book &ldquo;Managing,&rdquo; published in 2009. A mature and light read.</p>
<div id='playeriQYQtEuITsRw'></div>
<script type='text/javascript'>
    jwplayer('playeriQYQtEuITsRw').setup({
        file: 'https://s3.amazonaws.com/videos-akitaonrails/Akitaonrails-HenryMintzbergSobreMBAs258.flv',
        title: 'Henry Mintzberg',
        width: '100%',
        aspectratio: '4:3',
        fallback: 'false'
    });
</script>
<p>I recommend the read. If you&rsquo;re a beginner manager, or want to be one, maybe the book gives you some sense of what&rsquo;s coming. If you&rsquo;re already a manager, you&rsquo;ll be surprised. So many theory books paint scenarios you&rsquo;ve never seen in practice, and they leave you second-guessing whether you&rsquo;re on the right track. This one does a better job of naming the real problems you deal with day to day.</p>
<p>I want to bring a few excerpts from the first half of the book.</p>
<h2>Management Isn&rsquo;t a Profession<span class="hx:absolute hx:-mt-20" id="management-isnt-a-profession"></span>
    <a href="#management-isnt-a-profession" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><blockquote>
  <p>After years of seeking Holy Grails, it is time to recognize that managing is neither a science nor a profession; it is a practice, learned primarily through experience, and rooted in context.</p>

</blockquote>
<blockquote>
  <p><strong>It is certainly not a Science</strong>. Science has to do with developing systematic knowledge through research. That&rsquo;s nowhere near the purpose of management, which has to do with helping get things done in organizations. Management isn&rsquo;t even an applied science, because that&rsquo;s still science. Management certainly applies science: managers need to use all the knowledge they can. And they certainly use analysis, rooted in the scientific method (which means here more scientific proof than scientific discovery).</p>

</blockquote>
<blockquote>
  <p>But effective management is more dependent on art and is especially rooted in craft. Art produces &ldquo;insight&rdquo; and &ldquo;vision,&rdquo; based on intuition (Peter Drucker wrote in 1954 that &ldquo;the days of the &lsquo;intuitive&rsquo; manager are numbered.&rdquo; Half a century later, we&rsquo;re still counting.) And craft has to do with learning from experience — working things out as the manager moves forward.</p>

</blockquote>
<p>So it&rsquo;s worth repeating what Mintzberg often says: it&rsquo;s impossible to form managers in school. That much is a certainty. In school you learn accounting techniques, marketing, repeatable technical knowledge. None of that makes a manager, much less a leader.</p>
<p>When a school or an MBA course slaps &ldquo;We Form Leaders&rdquo; on the brochure, it&rsquo;s lying. Those schools form technicians. Those technicians go work in technical activities until they grow, take on responsibilities, and maybe, one day, actually manage something.</p>
<h2>Management Is a Practice<span class="hx:absolute hx:-mt-20" id="management-is-a-practice"></span>
    <a href="#management-is-a-practice" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><blockquote>
  <p>Put together a good portion of craft with the right touch of art along with some use of science and you end up with a job that is, above all, a practice. There is no &ldquo;one best way&rdquo; to manage; everything depends on the situation.</p>

</blockquote>
<blockquote>
  <p>It isn&rsquo;t even a Profession. It has been pointed out that engineering also isn&rsquo;t a science or an applied science so much as a practice in its own right. But engineering applies a good portion of science, codified and certified as to its efficiency. And therefore it can be called a profession, meaning it can be taught before practice, out of context. In a way, a bridge is a bridge, or at least iron is iron, even if its use has to be adapted to the situation at hand. The same can be said of medicine. But not of management:</p>

</blockquote>
<blockquote>
  <p>Many medical diagnostic, inference, and treatment skills &hellip; assume that a disease can be decomposed into separate problems that don&rsquo;t differ much between patients and can be treated by reasonably standard remedies &hellip; In contrast, much of management work involves dealing with problems that are highly interdependent with other parts of the organization, are specific to this particular firm, market and industry and not easily reducible to a standard general syndrome that can be treated by specific techniques.</p>

</blockquote>
<p>Managing is a work of negotiation, of trades, of yielding, of conquering. There&rsquo;s no procedure, no methodology, no rigid body of knowledge that defines this role. You can&rsquo;t know &ldquo;what level&rdquo; a manager is at because there&rsquo;s no &ldquo;standard&rdquo; for comparison. There are good managers and bad managers, just that. &ldquo;Bad managers,&rdquo; in reality, couldn&rsquo;t even be called &ldquo;managers&rdquo; because they&rsquo;re actually not managing.</p>
<h2>Real Management<span class="hx:absolute hx:-mt-20" id="real-management"></span>
    <a href="#real-management" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><blockquote>
  <p>It has been said that an expert is someone who knows more and more about less and less until finally he or she knows everything about nothing. The manager&rsquo;s problem is the opposite: to know less and less about more and more until finally he or she knows nothing about everything.</p>

</blockquote>
<p>Many people think that taking a pile of courses, postgrad, MBAs, and the like will necessarily turn them into good managers. That correlation doesn&rsquo;t exist. Yes, there are excellent managers with good training, but what really formed them was practice. Correlation isn&rsquo;t causation. In the general case, this person is just postponing the thing that would actually give them a shot at becoming a good manager: practice.</p>
<blockquote>
  <p>Managers who don&rsquo;t do and deal, and so don&rsquo;t know what is going on, can become incapable of coming up with sensible decisions and robust strategies.</p>

</blockquote>
<p>There&rsquo;s also the idea that managers shouldn&rsquo;t get their hands dirty, since it&rsquo;s either they manage or they execute. That doesn&rsquo;t mean the manager can be ignorant about the area where they work. Quite the opposite: a manager with excellent technical knowledge of their area has a better shot at understanding the <strong>context</strong>.</p>
<blockquote>
  <p>Thinking is heavy — thinking too much can exhaust a manager — while acting is light — acting too much can make the manager unable to stop.</p>

</blockquote>
<blockquote>
  <p>Similarly, too much leadership can result in a job without context — without aim, without focus, without action — while too much relationship can produce a job disconnected from its internal roots — public relations instead of tangible connections. The manager who only communicates never finishes anything, while the manager who only &ldquo;does&rdquo; ends up doing everything alone. And the manager who only controls risks ends up controlling an empty shell of yes-men and yes-women. We don&rsquo;t need people-oriented, information-oriented, or action-oriented managers; we need managers who operate on these three planes. Only together, across all three planes, do these roles provide the balance that is essential to the practice of management.</p>

</blockquote>
<p>Mintzberg points out something obvious: if you want to be a renowned management author, writing books and giving talks, you have to focus on a single aspect and exalt it as the &ldquo;missing piece.&rdquo; But in reality, a manager who focuses on only one aspect of the practice is certainly doing the wrong thing. A good manager balances the different roles as the situation demands, and uses all of them whenever needed.</p>
<p>Anyway, as you can see, the role of the Manager is much broader than it seems. Just studying procedures doesn&rsquo;t make you a manager, just as studying a color table doesn&rsquo;t make you a painter, or knowing how to read a score doesn&rsquo;t make you a composer.</p>
<p>Art, Craft, Technique, and Practice. This is the definition of Management. A manager who doesn&rsquo;t understand that will always be a terrible manager.</p>
<p>As an addendum, one word of caution. Sometimes we see very active professionals, and not only managers, who seem to do a lot because they talk to a lot of people, act a lot, and are always running hot. That&rsquo;s usually the symptom of the &ldquo;hero-professional.&rdquo; In my definition, it&rsquo;s precisely the person who is doing the job the wrong way. They look productive, but in practice they&rsquo;re just being inefficient and, worse, cleaning up the mistakes they generate along the way. It looks like they&rsquo;re solving plenty when, in fact, they&rsquo;re just chasing their own tail.</p>
]]></content:encoded><category>management</category><category>psychology</category><category>learning</category><category>off-topic</category></item><item><title>Processes and Methodologies Won't Help You</title><link>https://akitaonrails.github.io/en/2013/05/24/processos-e-metodologias-nao-vao-te-ajudar/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/05/24/processos-e-metodologias-nao-vao-te-ajudar/</guid><pubDate>Fri, 24 May 2013 19:29:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Original from 3/4/2011&lt;/strong&gt;: &lt;a href="http://web.archive.org/web/20130414095829/http://info.abril.com.br:80/noticias/rede/gestao20/software/processos-e-metodologias-nao-vao-te-ajudar/"target="_blank" rel="noopener"&gt;Gestão 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/352/eloperdido.jpg" alt="Missing Link" loading="lazy" /&gt;&lt;/p&gt;
&lt;p&gt;After so much time talking about methodologies, processes, and procedures, there&amp;rsquo;s one thing that should already be obvious but that most companies ignore: methodologies will never replace good professionals.&lt;/p&gt;
&lt;p&gt;If I say this to anyone, everyone will say: &lt;em&gt;&amp;ldquo;but that&amp;rsquo;s obvious.&amp;rdquo;&lt;/em&gt; And my urge is to retort: &amp;ldquo;then why the hell are you trying to implement this methodology?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;First of all, let&amp;rsquo;s go through some definitions:&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original from 3/4/2011</strong>: <a href="http://web.archive.org/web/20130414095829/http://info.abril.com.br:80/noticias/rede/gestao20/software/processos-e-metodologias-nao-vao-te-ajudar/"target="_blank" rel="noopener">Gestão 2.0</a></p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/352/eloperdido.jpg" alt="Missing Link"  loading="lazy" /></p>
<p>After so much time talking about methodologies, processes, and procedures, there&rsquo;s one thing that should already be obvious but that most companies ignore: methodologies will never replace good professionals.</p>
<p>If I say this to anyone, everyone will say: <em>&ldquo;but that&rsquo;s obvious.&rdquo;</em> And my urge is to retort: &ldquo;then why the hell are you trying to implement this methodology?&rdquo;</p>
<p>First of all, let&rsquo;s go through some definitions:</p>
<ul>
<li>Methodology: a system of methods used in a particular area of study or activity.</li>
<li>Processes: a series of actions or steps taken to reach a particular goal.</li>
<li>Procedure: an established or official way of doing something.</li>
</ul>
<p>Notice that in software development we always talk about processes or methodologies, never procedures. That&rsquo;s because there&rsquo;s no established or official way of making software. The problem is that most people confuse processes and methodologies with procedures and try to apply them as if they were the &ldquo;official&rdquo; way of making software. And they aren&rsquo;t.</p>
<p>That&rsquo;s exactly why disputes like Agile vs PMI make no sense. PMI calls its set of processes PMBOK, where BOK means Body of Knowledge precisely because it isn&rsquo;t a procedure. It&rsquo;s just a body of knowledge that may or may not be useful depending on your sector of activity. Agile is no different: a set of methodologies and techniques that may or may not be useful in your company. None of them, and none of the others, are procedures. Understand this first.</p>
<p>Once you understand that, comes the second mistake. People who don&rsquo;t practice software development notice that the software being produced is of low quality. The indicators are obvious: customer complaints, internal complaints, the sense of excessive delay in completing any software work, and so on.</p>
<p>Seeing this, the first conclusion they reach is: &ldquo;we&rsquo;re missing procedures.&rdquo; And the search for the missing link begins. They find various processes and methodologies and try to institutionalize them. For a short period it seems the result is what they expected, but it doesn&rsquo;t take long to see that things haven&rsquo;t changed all that much. Then they blame the methodologies for &ldquo;not working.&rdquo;</p>
<p>Software development is an activity of <strong>&ldquo;practice.&rdquo;</strong> And watch out: &ldquo;practicing&rdquo; and &ldquo;being practical&rdquo; aren&rsquo;t the same thing. So one more definition:</p>
<p>Practice: 1. the actual application or use of an idea, belief, or method as opposed to theories about its application or use. 2. repeated exercise in or performance of an activity or skill so as to acquire or maintain proficiency in it. (Read a more refined definition on Wikipedia.)</p>
<p>Repeat with me: if you don&rsquo;t practice software, you don&rsquo;t understand software. It&rsquo;s like saying you were good at soccer 10 years ago, but you don&rsquo;t practice anymore and still want to believe you&rsquo;re good. If you haven&rsquo;t practiced for 10 years, you&rsquo;ve been bad for 10 years, and there&rsquo;s nothing to discuss.</p>
<p>In software, not practicing continuously, daily, <strong>deliberately</strong>, for 5 years is the same as a civil engineer saying he hasn&rsquo;t practiced engineering in 50 years. 5 years in software age is an eternity.</p>
<p>And if you don&rsquo;t practice software, you have nothing to say about it, by definition. So here&rsquo;s the tip: processes and methodologies won&rsquo;t help you, precisely because they aren&rsquo;t procedures.</p>
<p>If software had a procedure, it wouldn&rsquo;t be a practice. You&rsquo;d just mechanically follow the series of steps and, at the end, you&rsquo;d have quality software. More than that: if it were a procedure, it would already be possible to have software that generates software on its own, with no human help. But that doesn&rsquo;t exist, and never will.</p>
<p>If a restaurant has bad food, processes won&rsquo;t help it; changing the cook will. If your orchestra plays badly, processes won&rsquo;t help it; changing the musicians will. If your soccer team plays badly, processes won&rsquo;t help it; changing the players will.</p>
<p>Replacing them is perhaps drastic. Before that, I&rsquo;d say &ldquo;practicing&rdquo; and &ldquo;training&rdquo; will certainly help. But here&rsquo;s the thing: if your soccer player believes he only needs to play after he punches in his time card, and can stop when he punches out, he isn&rsquo;t a good player. So forcing them to train won&rsquo;t help and, consequently, processes and methodologies definitely won&rsquo;t help you.</p>
<p>With a good programmer it&rsquo;s the same. You don&rsquo;t need to force him to put his code into a versioned repository: he himself will miss it and do something about it. You don&rsquo;t need to force him to test his code: he himself will miss it and do something about it. You don&rsquo;t need to force him to refactor: he himself will feel that it&rsquo;s bad and do something about it.</p>
<p>A good practitioner doesn&rsquo;t need others to tell them what to do. They know what constitutes good work and will perform accordingly, or they will look for what they&rsquo;re missing and train until they become proficient at it.</p>
<p>A good practitioner lives by the idea that they have to be better today than they were yesterday, and keep that pace every day. A procedure professional knows that today&rsquo;s work is the same as yesterday&rsquo;s.</p>
<p>That&rsquo;s the difference. If your company manufactures screws, it follows procedures. Today there are people assembling those screws, following procedures; tomorrow you&rsquo;ll probably replace them with machines that will do the same job better and faster. That&rsquo;s the destiny of every procedure professional.</p>
<p>If your company is in gastronomy, music, sports, literature, art, or software, you want practitioners. If you don&rsquo;t have them, remember: processes and methodologies aren&rsquo;t procedures. Processes and methodologies can&rsquo;t be installed as procedures. Processes and methodologies will never transform people with a procedure mindset into practitioners. And without practitioners, your result will always be bad.</p>
<p>We&rsquo;ve been developing software for over 70 years. If the solution were that simple, don&rsquo;t you think everyone would have done it that way decades ago, with excellent results sustained for decades? Don&rsquo;t be naïve thinking you&rsquo;ve found the &ldquo;missing link&rdquo;: it doesn&rsquo;t exist.</p>
<p>The only thing we can do, always, is to try to be better tomorrow than today. But that isn&rsquo;t done with meetings, committees, procedures, magic recipes, gurus, or talks. It&rsquo;s done with practice. Want to be better at software? Practice software.</p>
<p>Now, do you have a good team, good professionals who really care about practice? Then yes, refining the processes and applying good techniques and tactics will improve things even more. But the order is this: good professionals first, then good methodologies. Repeating: good methodologies don&rsquo;t create good professionals, but good professionals will certainly know how to take advantage of good methodologies.</p>
<div class="embed-container">


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/cOQnBdQvqOs"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

</div>
]]></content:encoded><category>software-engineering</category><category>learning</category><category>management</category><category>off-topic</category></item><item><title>[Translation] Standards: excellence vs. mediocrity</title><link>https://akitaonrails.github.io/en/2013/05/17/traducao-padroes-excelencia-vs-mediocridade/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/05/17/traducao-padroes-excelencia-vs-mediocridade/</guid><pubDate>Fri, 17 May 2013 19:25:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Original from 4/24/2011&lt;/strong&gt;: &lt;a href="http://web.archive.org/web/20130414102405/http://info.abril.com.br/noticias/rede/gestao20/gestao/padroes-excelencia-vs-mediocridade/"target="_blank" rel="noopener"&gt;Gestão 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The text below is a translation of the excellent article &lt;a href="http://jchyip.blogspot.com/2011/04/standards-excellence-vs-mediocrity.html"target="_blank" rel="noopener"&gt;Standards: excellence vs mediocrity&lt;/a&gt;, written by Jason Yip, a Thoughtworks consultant I had the pleasure of meeting in person last year.&lt;/p&gt;
&lt;p&gt;Before the translated text, a short introduction. Plenty of concepts we treat as foundational in the Western world carry a radically different meaning in the Eastern world. One of the hardest to carry across is precisely &amp;ldquo;standard.&amp;rdquo;&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original from 4/24/2011</strong>: <a href="http://web.archive.org/web/20130414102405/http://info.abril.com.br/noticias/rede/gestao20/gestao/padroes-excelencia-vs-mediocridade/"target="_blank" rel="noopener">Gestão 2.0</a></p>
<p>The text below is a translation of the excellent article <a href="http://jchyip.blogspot.com/2011/04/standards-excellence-vs-mediocrity.html"target="_blank" rel="noopener">Standards: excellence vs mediocrity</a>, written by Jason Yip, a Thoughtworks consultant I had the pleasure of meeting in person last year.</p>
<p>Before the translated text, a short introduction. Plenty of concepts we treat as foundational in the Western world carry a radically different meaning in the Eastern world. One of the hardest to carry across is precisely &ldquo;standard.&rdquo;</p>
<p>In the Western world, a &ldquo;standard&rdquo; is a common denominator: static, rigid, hard to change, the status quo. In the Eastern world, &ldquo;standard&rdquo; means &ldquo;the best.&rdquo; If tomorrow another &ldquo;best&rdquo; shows up, that becomes the new standard. It isn&rsquo;t something unreachable that we admire from below, knowing we&rsquo;ll hardly get there, like a &ldquo;record.&rdquo;</p>
<p>Imagine a world where the &ldquo;record&rdquo; is the &ldquo;standard.&rdquo; I wrote about this in another article, <a href="/en/2009/06/14/off-topic-padr-es-commodities-e-inova--es">Standards, Commodities, and Innovations</a>, and it&rsquo;s worth the read. Here&rsquo;s the translation of Jason&rsquo;s article:</p>
<p>A few years ago, I went on a Lean study tour in Japan. As expected, we did a plant visit at Toyota. Unexpectedly, this visit was hosted by the plant manager who also accompanied us on the standard guided tour. At one point, we were looking at a demonstration area of fundamental skills training &ndash; developing the basic skills necessary to be a productive member on the assembly line. Most of this was about hand-eye coordination and motor skills. For example, there&rsquo;s an exercise where you take a thin rope and wrap it around a set of pegs following a known clockwise or counter-clockwise sequence. I&rsquo;ve sketched an example of what this might look like:</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/351/note.png" alt="Test"  loading="lazy" /></p>
<p>I was able to do the exercise in 8 seconds. We then watched a video showing the plant champion doing it in 4 seconds. We asked the plant manager what the standard was, expecting the answer to be something like 5 - 6 seconds. His answer? 4 seconds, of course. If someone is able to do 5 - 6 seconds, they&rsquo;d train them to achieve 4 but slower than that, and they&rsquo;d probably find the candidate something else to do.</p>
<p>Our basic assumption was that &ldquo;standard&rdquo; is supposed to be something easy enough that everyone can do it. Sometimes that &ldquo;standard&rdquo; comes with an expectation of training but many times it ends up being about lowest common denominator in order to achieve consistency. Obviously, we can&rsquo;t achieve consistency if our standards can only be achieved by a subset of people. The consequence of this mindset is that &ldquo;standards&rdquo; inevitably pull the organisation toward mediocrity.</p>
<p>The Toyota assumption was that the best should be the standard. There is still an expectation that people can do it (with training) and an expectation of consistency but it&rsquo;s a standard of excellence rather than lowest common denominator. This creates a much higher expectation of performance and challenge. The consequence of this mindset is that &ldquo;standards&rdquo; inevitably pull the organisation toward excellence, especially as people&rsquo;s capabilities continue to develop over time.</p>
<p>In one case, standards are an anchor; in the other case, standards are an engine.</p>
<p>Is this any different in our world of information technology and software development? I don&rsquo;t think so. Think about the last standard you encountered (e.g., coding standard, design standard, etc.). Was it designed as an anchor or as an engine? And what would it be like if every standard was designed to be an engine?</p>
]]></content:encoded><category>software-engineering</category><category>agile</category><category>management</category><category>off-topic</category></item><item><title>[Translation] Estimation — The Best We Can Do</title><link>https://akitaonrails.github.io/en/2013/04/05/traducao-estimativa-o-melhor-que-podemos-fazer/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/04/05/traducao-estimativa-o-melhor-que-podemos-fazer/</guid><pubDate>Fri, 05 Apr 2013 16:47:00 -0300</pubDate><description>&lt;div style="float: right; margin: 10px"&gt;&lt;img src="http://s3.amazonaws.com/akitaonrails/assets/image_asset/image/331/Ron_Jeffries-nobull.jpg"/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Ron_Jeffries"target="_blank" rel="noopener"&gt;Ron Jeffries&lt;/a&gt; is one of the 17 original signatories of the Agile Manifesto and one of the 3 founders of Extreme Programming. He publishes articles in the Pragmatic Programmers e-magazine, and the April 2013 issue ran &amp;ldquo;Estimation: The Best We Can Do.&amp;rdquo; I asked editor Michael Swaine for permission to translate this article into Portuguese, since it was a subject I meant to write about myself and Ron did a better job of it. I still have plenty to say about estimates, but for now I&amp;rsquo;ll go straight to the translation:&lt;/p&gt;</description><content:encoded><![CDATA[<div style="float: right; margin: 10px"><img src="http://s3.amazonaws.com/akitaonrails/assets/image_asset/image/331/Ron_Jeffries-nobull.jpg"/></div>
<p><a href="http://en.wikipedia.org/wiki/Ron_Jeffries"target="_blank" rel="noopener">Ron Jeffries</a> is one of the 17 original signatories of the Agile Manifesto and one of the 3 founders of Extreme Programming. He publishes articles in the Pragmatic Programmers e-magazine, and the April 2013 issue ran &ldquo;Estimation: The Best We Can Do.&rdquo; I asked editor Michael Swaine for permission to translate this article into Portuguese, since it was a subject I meant to write about myself and Ron did a better job of it. I still have plenty to say about estimates, but for now I&rsquo;ll go straight to the translation:</p>
<blockquote>
  <p>Two months ago in these pages, Ron Jeffries told us that estimates are evil. Now he&rsquo;s back to tell us they&rsquo;re a necessary evil and, done the right way, they aren&rsquo;t even evil.</p>

</blockquote>
<p>Yes, there are many abuses perpetrated by organizations around the notion of estimation. Many developers have suffered grievances from these abuses more than once in their careers.</p>
<p>Unfortunately, this leads to the common naïve view among would-be agile practitioners who are still early in learning: they want to abolish estimates completely. That&rsquo;s probably not possible, and certainly not ideal. We have the ability to estimate how quickly we can do things, and companies can make better decisions if we share what we know.</p>
<p>Software development isn&rsquo;t a perfect machine that spits out features quickly. I know it&rsquo;s comfortable to think we have no responsibility for business concerns like money, time, or dates. But that isn&rsquo;t true. What we build isn&rsquo;t solely influenced by some Lord of the Products who decides what we&rsquo;re going to do and takes on all the risks. Executives are the ones with the final decision, but many of the decisions are better made by the team — and not only in how to do things, but what to do. We have the responsibility to help guide the projects, using our creativity and our special knowledge.</p>
<p>The Agile Manifesto says, &ldquo;the best architectures, requirements, and designs emerge from self-organizing teams,&rdquo; and that&rsquo;s what we meant (my emphasis). Agile developers usually have a good sense of how long things will take, and that&rsquo;s a valuable component of selecting and refining requirements. Developers need to have the attitude of talking about possible costs of what they&rsquo;re asked to do.</p>
<h2>Concerns About Estimates<span class="hx:absolute hx:-mt-20" id="concerns-about-estimates"></span>
    <a href="#concerns-about-estimates" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>There really are several serious problems related to estimating a software job. In a previous article <a href="http://web.archive.org/web/20130420092744/http://pragprog.com/magazines/2013-02/estimation-is-evil"target="_blank" rel="noopener">&ldquo;Estimation is Evil&rdquo;</a>, I described some of them. Let&rsquo;s review them:</p>
<ul>
<li>Pre-defined work backlogs reduce creativity and inhibit adjusting the project for success.</li>
<li>Demanding delivery of &ldquo;everything&rdquo; on some fixed date is a trick that never works.</li>
<li>Treating estimates as promises leads to conservative teams and frustrating results.</li>
<li>Trying to improve the &ldquo;quality&rdquo; of the estimates is attention that could give better results if turned toward improving the quality of the product.</li>
<li>And so on.</li>
</ul>
<p>In that article, I argued that the result of this focus is &ldquo;weak Agile.&rdquo; In essence, teams focused on estimates are usually on the weak side of the balance between cost and value. Better teams focus more on value and less on cost. They still consider cost, because cost is an important component in delivering value. But value is their primary interest.</p>
<p>It&rsquo;s true that many first-rate teams don&rsquo;t estimate in the real sense of the term. They work on small stories, small enough that to get a sense of progress you can just count them. They work on the highest-value things first — using whatever notion of value they have. They adjust their vision frequently, and adjust what they&rsquo;ll work on next according to what is happening. They work to produce a continuous flow of valuable software, and they deliver as frequently as possible, usually daily.</p>
<p>Since estimation is often associated with weak and dysfunctional teams, and since great teams seem to work without estimates, many Agile practitioners strongly resist any estimates of any kind. And it&rsquo;s a good thing to build a team — and an organization — that is strong enough to work without estimates. But it&rsquo;s an advanced way of working, never the way to start. It isn&rsquo;t good to refuse to estimate, or even to feel resentful about it, in an organization where it&rsquo;s necessary. On the contrary, we need to learn to do it right, in a way that influences the organization positively.</p>
<h2>Budgeting New Projects<span class="hx:absolute hx:-mt-20" id="budgeting-new-projects"></span>
    <a href="#budgeting-new-projects" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Now, let&rsquo;s look at a legitimate need — helping the organization decide whether to proceed or not with a project.</p>
<p>When something goes wrong with our house or car, and we don&rsquo;t have all the money in the world, we probably get estimates to fix those things. We probably consider alternatives: if the trunk lid is scratched, should we repaint the whole car to match the color perfectly, just spray the lid, try to polish the scratches, or just live with the scratches? We choose the option that seems to be the best use of our money.</p>
<p>Business people budgeting projects have the same problem of allocating funds. They need to consider how to deliver the greatest value possible within the budget. In a small organization trying to create wonderful new products, the concern is even greater. We need to start generating positive cash flow before the money runs out!</p>
<p>In situations like that, we really need to have estimates. We need to know whether it&rsquo;s a wise decision to go ahead with the new project. Business people already have some estimates in mind: how many people will be interested? What percentage of prospects will become buyers? How much will buyers pay for the product?</p>
<p>But they need to decide: can we start bringing in enough money to stay alive before our money runs out?</p>
<p>The decision-maker knows that all these estimates are estimates, and uses the best judgment to value them. But there&rsquo;s a key area they don&rsquo;t know much about: how much of this product can be done, by what date, for how much money? That&rsquo;s a technical question, and it needs to be answered by technical people.</p>
<p>Yes, of course, we don&rsquo;t know either. We really don&rsquo;t know how long it will take. But let&rsquo;s face the facts — we have a better idea of how long things will take compared to the poor entrepreneur, and they need our help.</p>
<p>I believe we can give a better guess whether it will take a week, a month, a quarter, or a year before we start having a good idea of how quickly we can progress. And this guess, however broad, is a better guess than a business person can give.</p>
<p>We can&rsquo;t just say <em>&ldquo;Should we try?&rdquo;</em> It seems we can say something like:</p>
<p><em>&ldquo;Our team costs $10K per week. Let&rsquo;s start working on the most important, riskiest, most informative parts of your product, and create a sense of how hard it will be and how long things will take. You&rsquo;ll see us building what you asked for. You&rsquo;ll see us working. You&rsquo;ll be able to decide whether you want to keep investing or stop.&rdquo;</em></p>
<p>It seems to make sense to say that — unless it&rsquo;s your $10K coming out of your pocket every week. Then you have more questions. <em>&ldquo;Will I know after a week? Will I have to wait a whole month to know? Will I know by June? Jeez, guys, that&rsquo;s about $100K from now until June. That&rsquo;s a ton of money! Give me a break here! How much is this going to cost?&rdquo;</em></p>
<p>We need to take hold of this kind of challenge. We should give the most solid answer we can, even when we don&rsquo;t have an absolutely concrete answer.</p>
<p>We&rsquo;re walking on sand. How do we get concrete?</p>
<p>The question is, <em>&ldquo;How long will it take, and how much money will it cost, to get to a product people can buy?&rdquo;</em></p>
<p>We&rsquo;d like to say, <em>&ldquo;Well, start spending some money with us, and if you get bored, stop,&rdquo;</em> but that doesn&rsquo;t help at all. Can we change this idea a little? Let&rsquo;s start with a pretty broad estimate just to get a sense of where we are.</p>
<p>We probably already have some notion of whether it will take a week, a month, or six months to do something usable. If so, let&rsquo;s talk about it. Our investor already has a value in mind that they can spend. Let&rsquo;s find out how much that is, or get a sense of it in the conversation.</p>
<p>Suppose we imagine that we might get a rudimentary but usable version of the product in six months, and the investor is willing to invest up to $1 million until we achieve positive cash flow. $1 million is roughly a year of our time, and if we take 9 months instead of 6, we&rsquo;ll need to bring in $1 million in three months to reach positive. Let&rsquo;s talk about that. How quickly does he expect revenue to grow with the first version? Suppose he thinks revenue will grow quickly, so if we take 9 months, we&rsquo;re fine. That sounds risky to me, but it seems the project at least looks good enough to explore.</p>
<p>Remember how Agile works. We want business people to be fully engaged in decision-making about spending money based on what they see. So let&rsquo;s start thinking about selecting features, not just dates.</p>
<h2>Estimates That Won&rsquo;t Make You Regret<span class="hx:absolute hx:-mt-20" id="estimates-that-wont-make-you-regret"></span>
    <a href="#estimates-that-wont-make-you-regret" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p><em>&ldquo;OK, intuitively, we think we can deliver an initial version in six months, and we think that if we take nine months, the project would be viable. It sounds good, but it still sounds risky. We&rsquo;d hate to see you spend all this and get nowhere, and what we have is still rough guesses.&rdquo;</em></p>
<p><em>&ldquo;So let&rsquo;s do this: let&rsquo;s spend two weeks to produce a more concrete answer. Two weeks will cost you only $20K, which is much less than $1 million. In these two weeks, you&rsquo;ll actively work with us on the most important aspects of the product. Some will be interface things, some will be driven by business or technical risks we can predict now. At the end of these two weeks, we decide whether we want to continue. Our job will be to show you, concretely, what we can build that convinces us of whether to proceed or not. Your job will be to guide us by describing what you want, and to work with us to identify risks and concerns.&rdquo;</em></p>
<p><em>&ldquo;If after these two weeks, things look bad, we&rsquo;ll know it, and we&rsquo;ll recommend you stop. If things look good by then, we&rsquo;ll decide together what the next decision point will be. It could be a month from now, or three months from now. Frankly, we&rsquo;re perfectly happy to do this every two weeks.&rdquo;</em></p>
<p><em>&ldquo;Yes, that&rsquo;s right. Every two weeks we&rsquo;ll talk with you about what to do next. Let&rsquo;s do it and show you. If it&rsquo;s good enough, we continue. If not, we stop.&rdquo;</em></p>
<p><em>&ldquo;That way, your risk will never be greater than another $20K. You can decide whether to use that money to get more information, to redirect your efforts, or to see whether you should spend that money some other way.&rdquo;</em></p>
<p><em>&ldquo;Can we work this way?&rdquo;</em></p>
<p>If he says yes, let&rsquo;s start. If he says no, we need to find out why, and even whether this project is for us.</p>
<p>This is definitely estimating, and it&rsquo;s a kind of estimating that we can do in conjunction with our business people rather than in conflict with them.</p>
<p>We estimate, with some certainty, that we can produce useful information in two weeks. If we don&rsquo;t think we can do that, we&rsquo;d better suggest four or six or eight weeks.</p>
<p>More than that, we estimate that a viable product is probably possible in six or nine months. If we had no idea, or worse, if we honestly doubted it, then we can&rsquo;t legitimately invite him to find out — at least not on the terms above. We owe it to him to say <em>&ldquo;Frankly, this looks like a two- or three-year project to us. We could be wrong: here&rsquo;s what we need to learn to find out. Here&rsquo;s what it would cost to find out, and our best guesses now are that the answer will be bad news.&rdquo;</em></p>
<p>Sometimes we have a good idea of what we can do. Sometimes we know less. Either way, by estimating what we know, we can design experiments — investments — that improve our ability to decide what to do.</p>
<p>When we&rsquo;re talking about spending other people&rsquo;s money, I think we owe them to think and act this way.</p>
<h2>This Is Estimation, Not Negotiation!<span class="hx:absolute hx:-mt-20" id="this-is-estimation-not-negotiation"></span>
    <a href="#this-is-estimation-not-negotiation" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>An estimate doesn&rsquo;t have to be <em>&ldquo;This project will be finished on Tuesday, May 14, at 2:35 PM.&rdquo;</em> An estimate is supposed to be expressed with a range of possibilities. It would be perfectly OK to say something like, <em>&ldquo;We see no possibility of this being done before April. If everything goes perfectly, we can be ready by mid-May. Based on our experience, we&rsquo;re thinking June, maybe July.&rdquo;</em></p>
<p>Whether we say this or not, chances are we know it, or at least suspect it. And if that&rsquo;s what we think, the project needs that information. However, if we put it that way, we&rsquo;ll be pushed back. Someone will challenge us to prove, without a shadow of a doubt, that we can&rsquo;t deliver by April 30, and if we prove that, they&rsquo;ll say <em>&ldquo;How about May 5?&rdquo;</em> Bah, we hate it when they do that. So how can we deliver information the project needs without playing this game?</p>
<h3>Move from Estimated Date to Estimated Velocity<span class="hx:absolute hx:-mt-20" id="move-from-estimated-date-to-estimated-velocity"></span>
    <a href="#move-from-estimated-date-to-estimated-velocity" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Let&rsquo;s use the Five-Card method from previous articles, not to estimate a date, but to break the whole project into sub-stories small enough that our team does, say, five of them in two weeks. Of course we can end up having only three done. We may have six, but we doubt it. Then we arrive at an estimate in terms of velocity:</p>
<p><em>&ldquo;We broke the project into smaller stories. We believe that with stories of this size, we&rsquo;ll be able to do between three and five every two weeks. And at the end of a two-week period, everything we do will be visible, tested, integrated, and working. So whether it&rsquo;s five or six or two per week, we&rsquo;ll know, and you&rsquo;ll know.&rdquo;</em></p>
<p><em>&ldquo;If you can remove or defer some of these stories and still have a viable product, you&rsquo;ll have the product sooner. If you can simplify, you can have the product sooner. If you add stories, or make things harder, you&rsquo;ll delay the product to later.&rdquo;</em></p>
<p><em>&ldquo;It&rsquo;s up to you. We can break things into this size, we can guess our velocity now as three items every two weeks, and you&rsquo;ll know every two weeks what&rsquo;s really happening. You can use that information to decide what to do, what to defer, in order to get the best product by whatever dates you choose.&rdquo;</em></p>
<h3>Help Management Learn About Velocity<span class="hx:absolute hx:-mt-20" id="help-management-learn-about-velocity"></span>
    <a href="#help-management-learn-about-velocity" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Now management may still want to negotiate about this with us. If they try to add up the numbers to get dates, and then start adjusting the dates, don&rsquo;t negotiate: turn the conversation back to the rate of progress. <em>&ldquo;The date is up to you. If you choose to do more, it&rsquo;ll be later. If you choose to do less, it&rsquo;ll be sooner. We think we&rsquo;ll do between three to five items every two weeks. We may be wrong: if we are, you&rsquo;ll know as soon as we do.&rdquo;</em></p>
<p>Someone may try to push velocity. <em>&ldquo;Can&rsquo;t you do seven every two weeks? Then you could finish on time.&rdquo;</em></p>
<p>Remember how Agile works: developers work at a sustainable optimal pace; developers aren&rsquo;t responsible for the dates; the business side owns the dates, and owns the responsibility of reaching those dates.</p>
<p>The developers&rsquo; job is to deliver at the best possible pace: <em>&ldquo;We think we can do three to five. If we happen to go faster, you&rsquo;ll know. If we&rsquo;re slower, you&rsquo;ll know too. When we finish depends on that, but depends even more on how little you give us to do. What goes into those dates depends on you. You should plan on three to five items every two weeks, and check what&rsquo;s actually happening.&rdquo;</em></p>
<p>This can press more than once to go faster. But we have the facts at our disposal, as they are. <em>&ldquo;Based on our experience, we&rsquo;ll have three to five done. It wouldn&rsquo;t be wise to assume anything greater than that, because it probably won&rsquo;t happen. If something happens that makes us go faster, we&rsquo;ll all know it and you can select more items into the version.&rdquo;</em></p>
<p>All of this, of course, has much more to do with communication, not estimation, and emphatically not negotiation. The estimation was trivial: we did it right at the beginning when we separated the cards. Now we&rsquo;re communicating what we know, what we guess, what we believe.</p>
<p>We give management our best estimates and production rates, and we commit to them, improving as we evolve. We continue to make it clear that the business side controls the dates by choosing how much work they ask for.</p>
<h2>Optimizing the Product<span class="hx:absolute hx:-mt-20" id="optimizing-the-product"></span>
    <a href="#optimizing-the-product" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Whether you&rsquo;re in favor of estimates or not, you should know that Agile is about building products incrementally, in good condition, from day one to the last day, and extracting value from it as early as possible. That requires great technical skills, but technical skills aren&rsquo;t enough. The people paying for our work need to allocate their resources. They need to manage their money, and they need to coordinate our work with activities and stakeholders outside our team.</p>
<p>To do this efficiently, they need information about how long things will take, which translates into how much things will cost, and how long it will take for us to start getting our money back. They need the information we have to do this work well. The fact that our information is vague, flawed, and uncertain isn&rsquo;t a reason not to expose it. We need to put our information in their hands, and do it in a way that gives them the best opportunity to use it as well as possible.</p>
<p>Refusing to estimate isn&rsquo;t the right thing to do. Estimating is necessary, and effective communication of the estimate is necessary too.</p>
<p>The best thing to do is to develop small features at the best sustainable pace possible, and use the information generated to help business people decide what to ask for, and what to defer. To do this, we need to estimate. We break stories into small estimable sizes, and we estimate our rate of delivering them. This type of estimation isn&rsquo;t evil at all: it&rsquo;s incredibly useful and is what the best agile teams do.</p>
<blockquote>
  <p>Ron Jeffries has been developing software longer than any living person. He holds advanced degrees in mathematics and computer science, both earned before negative integers had been invented. His teams built operating systems, compilers, relational database systems, and several large applications. Ron&rsquo;s software products generated more than half a billion dollars in revenue, and he wonders why he didn&rsquo;t earn any of it.</p>

</blockquote>
<blockquote>
  <p>Send <a href="mailto:michael@pragprog.com?subject=estimating">feedback</a> to the author or discuss the article on the magazine forum.</p>

</blockquote>
]]></content:encoded><category>agile</category><category>management</category><category>software-engineering</category><category>off-topic</category></item><item><title>[Off-Topic] Opinions, Truths, Democracy and Ethics</title><link>https://akitaonrails.github.io/en/2011/05/04/off-topic-opinioes-verdades-democracia-e-etica/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2011/05/04/off-topic-opinioes-verdades-democracia-e-etica/</guid><pubDate>Wed, 04 May 2011 03:18:00 -0300</pubDate><description>&lt;p&gt;A lot of people probably didn&amp;rsquo;t get my position in the previous article, &lt;a href="https://akitaonrails.github.io/en/2011/04/25/off-topic-mea-culpa-organizacoes-democraticas-nao-funcionam"&gt;Mea Culpa: Democratic Organizations Don&amp;rsquo;t Work&lt;/a&gt;. I recommend reading that one carefully to understand the correct concept of Democracy. Here I&amp;rsquo;ll fill in the rest.&lt;/p&gt;
&lt;p&gt;The biggest problem everyone has is believing that &amp;ldquo;democracy&amp;rdquo; is the only and best way to govern, or to decide anything, because &amp;ldquo;the majority,&amp;rdquo; &amp;ldquo;the people,&amp;rdquo; &amp;ldquo;the masses&amp;rdquo; are supposedly always right, and whatever was decided collectively must prevail. That&amp;rsquo;s the greatest mistake of all time.&lt;/p&gt;</description><content:encoded><![CDATA[<p>A lot of people probably didn&rsquo;t get my position in the previous article, <a href="/en/2011/04/25/off-topic-mea-culpa-organizacoes-democraticas-nao-funcionam">Mea Culpa: Democratic Organizations Don&rsquo;t Work</a>. I recommend reading that one carefully to understand the correct concept of Democracy. Here I&rsquo;ll fill in the rest.</p>
<p>The biggest problem everyone has is believing that &ldquo;democracy&rdquo; is the only and best way to govern, or to decide anything, because &ldquo;the majority,&rdquo; &ldquo;the people,&rdquo; &ldquo;the masses&rdquo; are supposedly always right, and whatever was decided collectively must prevail. That&rsquo;s the greatest mistake of all time.</p>
<p><img src="http://s3.amazonaws.com/akitaonrails/assets/2011/5/4/medical%20symbol_original.jpg?1304489548" alt=""  loading="lazy" /></p>
<p>To recap what I said before: liberty is important, defending liberty is important, and the most important liberty to defend is the individual&rsquo;s. The majority must never tyrannize the minority. And the smallest minority is always the individual. If an individual is deprived of his liberty, there is no liberty for anyone.</p>
<p>In a state of liberty, everyone has the right to form and express their opinions. The confusion starts when an opinion is uttered by a &ldquo;majority.&rdquo; Democratically speaking, that &ldquo;opinion&rdquo; seems to gain a lot of weight. And there&rsquo;s another great mistake.</p>
<p>Let&rsquo;s define:</p>
<ul>
<li>
<p>Opinion: a view or judgment formed about something, not necessarily based on fact or knowledge.</p>
</li>
<li>
<p>True: according to fact or reality. Accurate, exact. Real.</p>
</li>
</ul>
<blockquote>
  <p>Opinion is not fact nor truth.</p>

</blockquote>
<p>The opinion of a majority will never automatically be a truth. Any opinion of a majority will never be worth more than the proven truth uttered by a single individual, no matter how large that majority is.</p>
<p>This matters. That&rsquo;s exactly why I said the best way to think about organizations stays far from the &ldquo;purely&rdquo; democratic model. In our niche of software development, many assume that agilists and agile methods are &ldquo;democratic.&rdquo; If you read the <a href="http://en.wikipedia.org/wiki/Scrum_%28development%29"target="_blank" rel="noopener">Wikipedia entry on Scrum</a>, you&rsquo;ll find this definition of a &ldquo;team&rdquo;:</p>
<blockquote>
  <p>The Team is responsible for delivering the product. A Team is typically made up of 5–9 people with cross-functional skills who do the actual work (analyse, design, develop, test, technical communication, document, etc.). It is recommended that the Team be self-organizing and self-led, but often work with some form of project or team management.</p>

</blockquote>
<p>Nowhere does it say the Team can be anarchic. But people read the concept of <a href="/en/2009/07/08/off-topic-agilidade-caos-auto-organizacao">self-organization</a> wrong, as <em>&ldquo;we do as we please.&rdquo;</em> And that&rsquo;s completely wrong.</p>
<p>It&rsquo;s the same problem as a purely democratic system of government. The majority can decide among themselves the <strong>implementation</strong> of a law, a principle, or a truth. One inviolable and indisputable principle, for example, is that an individual must be able to keep for himself the products of his own work. The community can decide, democratically, whether the implementation will be a police force whose cost is split equally among everyone.</p>
<p>That&rsquo;s the point missing when we talk about agile organizations or teams. Teams can decide democratically how to carry out the implementation, but everyone needs to understand that inviolable principles limit which decisions this &ldquo;democracy&rdquo; gets to make.</p>
<p>Ignorant voting in large volume, to me, just means a large volume of ignorance. Want to define what&rsquo;s true? Study, research, demonstrate, prove. It takes a single individual with the correct demonstration to shatter the opinion of any majority. The reverse never happens.</p>
<p><a href="http://en.wikipedia.org/wiki/Galileo_affair"target="_blank" rel="noopener"><img src="http://s3.amazonaws.com/akitaonrails/assets/2011/5/4/Galileo_facing_the_Roman_Inquisition_original.jpg?1304489723" alt=""  loading="lazy" /></a></p>
<p>Take a company: its goal is to obtain as much profit as possible. A job has no other goal than to turn a profit. So it does you no good to build the best-made software (in your personal opinion, by the way, which doesn&rsquo;t make it a fact) if it generates loss instead of profit.</p>
<p>Profit is a premise, but not the only one. Remember the definition of &ldquo;Team.&rdquo; A team must be &ldquo;accountable,&rdquo; meaning it has to commit to delivering a project the way the client expects, including managing that expectation (something I&rsquo;ll detail in another article).</p>
<p>A project commissioned to a team belongs to whoever pays for it. A so-called agile team, when it takes on a project, takes on the client&rsquo;s expectations along with it, from start to finish, far beyond simply coding the requested product.</p>
<p>More than that: the goal of a project is to achieve a result for the client. The client doesn&rsquo;t care whether the software uses technique X or Y to raise its quality, because quality is a trivial trait already expected by whoever orders it. The client&rsquo;s value comes from the result the software produces.</p>
<p>Think about an e-commerce project. What matters is the sales it generates, far more than the software itself. If you build the most advanced system in the world, with the best architectures and technologies, but it never sold a single product, it&rsquo;s worth nothing. Meanwhile an e-commerce built with the worst technologies, full of every documented hack, but that helped generate a million direct sales for the client, is infinitely superior, no argument.</p>
<p>A developer should value their technical work. That&rsquo;s great and should continue. A systems architect values their analysis and architecture, no problem at all. An agilist values their processes and rituals. Every professional should always try to do their best at what they do.</p>
<p>The thing is, none of these activities is more important than the others, and none of them is an end in itself. A developer worried only and exclusively about their own code, at any cost, is a terrible professional.</p>
<p><img src="http://s3.amazonaws.com/akitaonrails/assets/2011/5/4/oath_original.jpg?1304490176" alt=""  loading="lazy" /></p>
<p>And here&rsquo;s the difference between a professional and an amateur: <a href="http://en.wikipedia.org/wiki/Professional_ethics"target="_blank" rel="noopener"><strong>professional ethics</strong></a>.</p>
<blockquote>
  <p>The professional carries additional moral responsibilities to those held by the population in general and in society. This is because professionals are capable of making and acting on informed decisions in situations that the general public cannot, because they have not received the relevant training. For example, a lay member of the public could not be held responsible for failing to act to save a car crash victim because they could not give an emergency tracheotomy. This is because they do not have the relevant knowledge. In contrast, a fully trained doctor (with the correct equipment) would be capable of making the correct diagnosis and carrying out the procedure and we would think it wrong if they stood by and failed to help in this situation. You cannot be held accountable for failing to do something that you do not have the ability to do. Ethics are rules and values used in a professional setting.</p>

</blockquote>
<p>The tradition of medicine, for example, inherits the <a href="http://en.wikipedia.org/wiki/Hippocratic_Oath"target="_blank" rel="noopener">Hippocratic Oath</a>, updated over millennia. This is the modern version:</p>
<ul>
<li>I swear to fulfill, to the best of my ability and judgment, this covenant:</li>
<li>I will respect the hard-won scientific gains of those physicians in whose steps I walk, and gladly share such knowledge as is mine with those who are to follow.</li>
<li>I will apply, for the benefit of the sick, all measures which are required, avoiding those twin traps of overtreatment and therapeutic nihilism.</li>
<li>I will remember that there is art to medicine as well as science, and that warmth, sympathy, and understanding may outweigh the surgeon&rsquo;s knife or the chemist&rsquo;s drug.</li>
<li>I will not be ashamed to say &ldquo;I know not,&rdquo; nor will I fail to call in my colleagues when the skills of another are needed for a patient&rsquo;s recovery.</li>
<li>I will respect the privacy of my patients, for their problems are not disclosed to me that the world may know. Most especially must I tread with care in matters of life and death. If it is given me to save a life, all thanks. But it may also be within my power to take a life; this awesome responsibility must be faced with great humbleness and awareness of my own frailty. Above all, I must not play at God.</li>
<li>I will remember that I do not treat a fever chart, a cancerous growth, but a sick human being, whose illness may affect the person&rsquo;s family and economic stability. My responsibility includes these related problems, if I am to care adequately for the sick.</li>
<li>I will prevent disease whenever I can, for prevention is preferable to cure.</li>
<li>I will remember that I remain a member of society, with special obligations to all my fellow human beings, those sound of mind and body as well as the infirm.</li>
<li>If I do not violate this oath, may I enjoy life and art, respected while I live and remembered with affection thereafter. May I always act so as to preserve the finest traditions of my calling and may I long experience the joy of healing those who seek my help.</li>
</ul>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/IiQNx2YP8CQ"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>It&rsquo;s far from a &ldquo;definitive&rdquo; version, but I&rsquo;ll take the chance to adapt, closely following the Hippocratic Oath, what a draft oath for programmers might look like. Just to make clear the idea that every professional carries responsibilities greater than their general work activity:</p>
<ul>
<li>I swear to fulfill, to the best of my ability, this covenant:</li>
<li>I will respect the hard-won scientific gains of those programmers in whose steps I walk, and gladly share such knowledge as is mine with those who are to follow.</li>
<li>I will apply, for the benefit of the client, all measures which are required, avoiding the two-edged swords of overapplying technologies or prejudice against brands or technologies I don&rsquo;t know.</li>
<li>I will remember that there is art to software development as well as science, and that warmth, sympathy, and understanding may outweigh the programmer&rsquo;s code or the analyst&rsquo;s diagram.</li>
<li>I will not be ashamed to say &ldquo;I know not,&rdquo; nor will I fail to call in my colleagues when the skills of another are needed for the benefit of the client&rsquo;s project.</li>
<li>I will respect the privacy of my clients, for their problems are not disclosed to me that the world may know. Most especially must I treat with care the projects of my company or my clients. If I am given the task of delivering a project, all thanks. But it may also be within my power to recover a failing project; this awesome responsibility must be faced with great humbleness and awareness of my own frailty. Above all, I must not mess around on the job.</li>
<li>I will remember that I do not deal with a code file or an editing tool, but a project, whose result may affect the client&rsquo;s economic stability, the client company&rsquo;s employees, and their families. My responsibility includes these related problems, if I am to develop the project adequately.</li>
<li>I will prevent bugs and technical problems whenever I can, for prevention is preferable to correction.</li>
<li>I will remember that I remain a member of society, with special obligations to all kinds of projects, those I can start from scratch my own way, or those I inherit in someone else&rsquo;s style.</li>
<li>If I do not violate this oath, may I enjoy life and art, respected while I live and remembered with affection thereafter. May I always act so as to preserve the finest traditions of my calling and may I long experience the joy of developing projects for those who seek my help.</li>
</ul>
<p>My point with this text is to remind you of the following:</p>
<ul>
<li>stop using &ldquo;democracy&rdquo; with <a href="http://en.wikipedia.org/wiki/Populism"target="_blank" rel="noopener">populist</a> connotations. What needs to be protected and benefited is the client&rsquo;s result and their projects, way ahead of the &ldquo;team.&rdquo; Never forget that.</li>
<li>certain principles are inviolable and not open to a vote: business objectives on one end, professional ethics on the other.</li>
<li>everyone has the right to hold and express personal opinions, but an opinion is just that: an opinion. And no vote turns an opinion into a truth. 2 + 2 will be 4 no matter how many people vote that it&rsquo;s 5.</li>
<li>show a little respect and dignity for your profession. You work for your own benefit, sure, but without causing harm to others. I&rsquo;ll repeat this <em>ad nauseam</em>: you only have work because there&rsquo;s someone willing to pay for it. Be ethical, be professional.</li>
</ul>
<p><img src="http://s3.amazonaws.com/akitaonrails/assets/2011/5/4/Stupid_Opinion_original.jpg?1304489739" alt=""  loading="lazy" /></p>
<p>Honestly, it bothers me to imagine a world where an ignorant majority can decide, by vote, that the Earth is flat, that folk charms work, that an employee &ldquo;deserves&rdquo; a salary higher than the company can afford, that a &ldquo;professional&rsquo;s&rdquo; fun ranks above their responsibilities. Swear to yourselves, not to me or some third party, that you&rsquo;ll be professionals. Or give up working in the same field we do, so you stop embarrassing those of us who take this seriously.</p>
]]></content:encoded><category>management</category><category>philosophy</category><category>off-topic</category></item><item><title>[Off-Topic] Mea Culpa: Democratic Organizations Don't Work</title><link>https://akitaonrails.github.io/en/2011/04/25/off-topic-mea-culpa-organizacoes-democraticas-nao-funcionam/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2011/04/25/off-topic-mea-culpa-organizacoes-democraticas-nao-funcionam/</guid><pubDate>Mon, 25 Apr 2011 04:12:00 -0300</pubDate><description>&lt;p&gt;Anyone who has followed me for about four years in the discussions about how companies are managed and organized will remember that I often flirted with and tried to defend a kind of &amp;ldquo;democratic&amp;rdquo; organization. That concept was always incomplete, and I imagined that sooner or later the equation would close.&lt;/p&gt;
&lt;p&gt;Instead, I&amp;rsquo;m going back to zero and redefining everything. The first thing I need to correct is the use of the word &amp;ldquo;Democracy.&amp;rdquo; It doesn&amp;rsquo;t describe the kind of organization I have in mind.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Anyone who has followed me for about four years in the discussions about how companies are managed and organized will remember that I often flirted with and tried to defend a kind of &ldquo;democratic&rdquo; organization. That concept was always incomplete, and I imagined that sooner or later the equation would close.</p>
<p>Instead, I&rsquo;m going back to zero and redefining everything. The first thing I need to correct is the use of the word &ldquo;Democracy.&rdquo; It doesn&rsquo;t describe the kind of organization I have in mind.</p>
<p>My line of thought always started from <a href="http://akitaonrails.com/en/2007/08/23/off-topic-inimigos-da-razo"target="_blank" rel="noopener">Darwinian Evolutionism</a>. It&rsquo;s the only way in which Chaos tends toward a certain Order, through <a href="http://akitaonrails.com/en/2009/07/08/off-topic-agilidade-caos-auto-organizacao"target="_blank" rel="noopener">self-organization</a>. This process involves several mechanisms, and it&rsquo;s about them that I&rsquo;ve already given talks: <a href="http://web.archive.org/web/20110715222633/http://akitaonrails.com/2008/09/13/off-topic-matando-a-m-dia"target="_blank" rel="noopener">Scale-Free Networks</a>, <a href="http://web.archive.org/web/20110429053557/http://info.abril.com.br/noticias/rede/gestao20/gestao/off-topic-complexidade-em-biologia/"target="_blank" rel="noopener">Complex Adaptive Systems</a>, and how all of that leads to <a href="http://web.archive.org/web/20110429053602/http://info.abril.com.br/noticias/rede/gestao20/gestao/processos-metodologias-e-o-cerebro-humano/"target="_blank" rel="noopener">processes and methodologies</a>, including the much-discussed <a href="http://akitaonrails.com/en/2009/12/10/off-topic-voce-nao-entende-nada-de-scrum"target="_blank" rel="noopener">Scrum</a>.</p>
<p>This line of study, which you can follow in my blogs and talks of the last three years, brushes past biology, sociology, psychology, philosophy, physics, and mathematics. In the end, the most coherent path seemed to lead to what today is called <a href="http://web.archive.org/web/20110718113816/http://www.worldblu.com/democratic-design/"target="_blank" rel="noopener">Democratic Organizations</a>, mainly because of famous <em>cases</em> like <a href="http://web.archive.org/web/20100815104400/http://info.abril.com.br/noticias/rede/gestao20/gestao/minha-primeira-visita-a-semco/"target="_blank" rel="noopener">Semco, of Ricardo Semler</a>, plus democratic aspects observed in companies like Southwest Airlines, Dreamhost, Groupon, and Zappos.</p>
<p>Except I fell into exactly what I always criticize: a handful of positive evidence about a model, however good it may be, never proves the model. Concluding from positive evidence alone is the same as <a href="http://akitaonrails.com/en/2008/12/16/off-topic-m-todo-cient-fico-vs-cargo-cult"target="_blank" rel="noopener">cargo cult</a>. So I need to correct course: the kind of organization I describe and defend has nothing to do with &ldquo;Democracy.&rdquo; In my conception, the term &ldquo;Democratic Organizations&rdquo; is a <strong>mistake</strong>.</p>
<h2>Democracy vs Republic<span class="hx:absolute hx:-mt-20" id="democracy-vs-republic"></span>
    <a href="#democracy-vs-republic" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Thank goodness our country is called &ldquo;Federative Republic of Brazil.&rdquo; These days I don&rsquo;t know anyone who speaks ill of the word &ldquo;democracy.&rdquo; I won&rsquo;t give a politics lesson, since I&rsquo;ve studied almost no political science. Without going into all the ramifications, I want to go down first to the minimal definitions of the term and the original ideas.</p>
<p>I don&rsquo;t defend the owner of the site I&rsquo;m about to quote, nor all of his ideas, but the text serves my purpose, so I decided to translate it directly. The original is this article by <a href="http://web.archive.org/web/20110720010200/http://www.garymcleod.org/republic.htm"target="_blank" rel="noopener">Gary McLeod</a>. If you search Google for &ldquo;democracy vs republic,&rdquo; you&rsquo;ll find hundreds of articles detailing the differences. For now, this one serves. Here&rsquo;s the translation:</p>
<h2>Rule by Law vs Rule by Majority<span class="hx:absolute hx:-mt-20" id="rule-by-law-vs-rule-by-majority"></span>
    <a href="#rule-by-law-vs-rule-by-majority" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Just after the completion and signing of the Constitution, in reply to a woman&rsquo;s inquiry as to the type of government the Founders had created, Benjamin Franklin said, <strong>&ldquo;A Republic, if you can keep it.&rdquo;</strong></p>
<p><strong>Not only have we failed to keep it, most don&rsquo;t even know what it is.</strong></p>
<p>A Republic is representative government ruled by law (the Constitution). A democracy is direct government (<strong>Akita&rsquo;s note:</strong> yes, there is representative democracy, but as I said I won&rsquo;t go down all the ramifications) ruled by the majority (mob rule). A Republic recognizes the inalienable rights of individuals while democracies are only concerned with group wants or needs (the public good). Lawmaking is a slow, deliberate process in our Constitutional Republic requiring approval from the three branches of government, the Supreme Court and individual jurors (jury-nullification). Lawmaking in our unlawful democracy occurs rapidly requiring approval from the whim of the majority as determined by polls and/or voter referendums. A good example of democracy in action is a lynch mob.</p>
<p>Democracies always self-destruct when the non-productive majority realizes that it can vote itself handouts from the productive minority by electing the candidate promising the most benefits from the public treasury. To maintain their power, these candidates must adopt an ever-increasing tax and spend policy to satisfy the ever-increasing desires of the majority. As taxes increase, incentive to produce decreases, causing many of the once productive to drop out and join the non-productive. When there are no longer enough producers to fund the legitimate functions of government and the socialist programs, the democracy will collapse, always to be followed by a Dictatorship.</p>
<p>Even though nearly every politician, teacher, journalist and citizen believes that our Founders created a democracy, it is absolutely not true. The Founders knew full well the differences between a Republic and a Democracy and they repeatedly and emphatically said that they had founded a republic.</p>
<blockquote>
  <p>Article IV Section 4, of the Constitution &ldquo;guarantees to every state in this union a Republican form of government&rdquo;&hellip;. Conversely, the word Democracy is not mentioned even once in the Constitution. Madison warned us of the dangers of democracies with these words,</p>
<p>&ldquo;Democracies have ever been spectacles of turbulence and contention; have ever been found incompatible with personal security or the rights of property; and have in general been as short in their lives as they have been violent in their deaths&hellip;&rdquo;,</p>
<p>&ldquo;We may define a republic to be &hellip; a government which derives all its powers directly or indirectly from the great body of the people, and is administered by persons holding their offices during pleasure for a limited period, or during good behavior. It is essential to such a government that it be derived from the great body of the society, not from an inconsiderable proportion or a favored class of it; otherwise a handful of tyrannical nobles, exercising their oppressions by a delegation of their powers, might aspire to the rank of republicans and claim for their government the honorable title of republic.&rdquo; James Madison, Federalist No. 10, (1787)</p>
<p>&ldquo;A wise man will not leave the right to the mercy of chance, nor wish it to prevail through the power of the majority. There is but little virtue in the action of masses of men.&rdquo; Henry David Thoreau (1817-1862)</p>

</blockquote>
<p>Our military training manuals used to contain the correct definitions of Democracy and Republic. The following comes from Training Manual No. 2000-25 published by the War Department, November 30, 1928.</p>
<p>DEMOCRACY:</p>
<ul>
<li>A government of the masses.</li>
<li>Authority derived through mass meeting or any other form of &ldquo;direct&rdquo; expression.</li>
<li>Results in mobocracy.</li>
<li>Attitude toward property is communistic, negating property rights.</li>
<li>Attitude toward law is that the will of the majority shall regulate, whether it be based upon deliberation or governed by passion, prejudice, and impulse, without restraint or regard to consequences.</li>
<li>Results in demagogism, license, agitation, discontent, anarchy.</li>
</ul>
<p>REPUBLIC:</p>
<ul>
<li>Authority is derived through the election by the people of public officials best fitted to represent them.</li>
<li>Attitude toward law is the administration of justice in accord with fixed principles and established evidence, with a strict regard to consequences.</li>
<li>A greater number of citizens and extent of territory may be brought within its compass.</li>
<li>Avoids the dangerous extreme of either tyranny or mobocracy.</li>
<li>Results in statesmanship, liberty, reason, justice, contentment, and progress.</li>
<li>Is the &ldquo;standard form&rdquo; of government throughout the world.</li>
</ul>
<p>The manuals containing these definitions were ordered destroyed without explanation about the same time that President Franklin D. Roosevelt (F.D.R.) made private ownership of our lawful money (US Minted Gold Coins) illegal. Shortly after the people turned in their $20 gold coins, the price was increased from $20 per ounce to $35 per ounce. Almost overnight, F.D.R., the most popular president this century (elected 4 times), looted almost half of this nation&rsquo;s wealth, while convincing the people that it was for their own good. Many of F.D.R.&rsquo;s policies were suggested by his right hand man, Harry Hopkins, who said,</p>
<blockquote>
  <p>&ldquo;Tax and Tax, Spend and Spend, Elect and Elect, because the people are too damn dumb to know the difference.&rdquo;</p>

</blockquote>
<h2>It Can&rsquo;t Be Democracy<span class="hx:absolute hx:-mt-20" id="it-cant-be-democracy"></span>
    <a href="#it-cant-be-democracy" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If you research at least the Wikipedia articles on <a href="http://en.wikipedia.org/wiki/Democracy"target="_blank" rel="noopener">Democracy</a> and <a href="http://en.wikipedia.org/wiki/Republic"target="_blank" rel="noopener">Republic</a>, you&rsquo;ll see that the subject is much more complex than this.</p>
<p>What I most admire about the <a href="http://en.wikipedia.org/wiki/Founding_Fathers_of_the_United_States"target="_blank" rel="noopener">Founding Fathers of the United States</a> is the philosophical and political clarity that led them to describe a Republic based on inalienable Individual Rights. Out of that came solid foundations like the <a href="http://en.wikipedia.org/wiki/United_States_Declaration_of_Independence"target="_blank" rel="noopener">Declaration of Independence</a> and the <a href="http://en.wikipedia.org/wiki/United_States_Bill_of_Rights"target="_blank" rel="noopener">Bill of Rights</a>. I&rsquo;m not saying they were perfect people, they all had a thousand flaws, but that&rsquo;s not where we should get stuck (that would be the <a href="http://en.wikipedia.org/wiki/Straw_man"target="_blank" rel="noopener">Straw Man Fallacy</a>).</p>
<p>The so-called <strong>Democratic Organizations</strong> fail precisely at this point, in the foundation. It simply doesn&rsquo;t exist. And worse, from a philosophical point of view, it&rsquo;s incompatible with the Constitution.</p>
<p>There&rsquo;s no &ldquo;official&rdquo; document with these principles, so I&rsquo;ll borrow the list from <a href="http://web.archive.org/web/20110927201708/http://www.worldblu.com/democratic-design/principles.php"target="_blank" rel="noopener">WorldBlu</a>, an organization that tries to spread the idea of Democratic Organizations around the world. For the details, it&rsquo;s worth reading their page. In summary, the principles are these:</p>
<ol>
<li>Purpose and Vision: normal, any company needs this clear, what its core business is, and what it exists for.</li>
<li>Transparency: there are controversies, not everything can be open, including some things that are actually legally protected.</li>
<li>Dialogue + Listening: I agree, the concept is valid, and against top-down authoritarianism.</li>
<li>Equality + Dignity: hard to define, some differences in treatment are more cultural than mandatory.</li>
<li>&ldquo;Accountability&rdquo;: hard to translate into Portuguese, but it&rsquo;s something like &ldquo;Responsibility&rdquo;; in this concept it&rsquo;s more about better defining who is responsible for what.</li>
<li>Individual + Collective: this is where the whole concept starts to fall apart.</li>
<li>Choice: implementable, but within limits.</li>
<li>Integrity: mentions &ldquo;morally&rdquo; and &ldquo;ethically&rdquo; correct, and that&rsquo;s a problem.</li>
<li>Decentralization: instead of centralization, I&rsquo;m always in favor of this, but within limits.</li>
<li>Reflection + Evaluation: a &ldquo;touch&rdquo; of Toyota&rsquo;s Hansei+Kaizen model.</li>
</ol>
<p>The last two points, Decentralization and Reflection + Self-Evaluation, are the only ones I would call &ldquo;principles.&rdquo; If you read the articles I linked in the introduction, you&rsquo;ll understand why.</p>
<p>My problem with these <em>principles</em> is that they are rhetorical, and so they don&rsquo;t work as <em>principles</em>. Saying &ldquo;it has to be transparent&rdquo; is pure rhetoric. I can claim I never told a lie, and who&rsquo;s going to disprove me?</p>
<p>The same goes for &ldquo;dialogue&rdquo; and &ldquo;dignity&rdquo;: they&rsquo;re good rhetoric, but they describe conduct. They&rsquo;re process, not foundation. They don&rsquo;t answer the real principle: <em>&ldquo;Why should I act this way?&rdquo;</em></p>
<p>And this lands on &ldquo;Integrity,&rdquo; on doing what is morally and ethically right. But who defines what is morally and ethically right? Without a philosophy behind it, everything stays undefined and open to interpretation, because there&rsquo;s no <strong>objective</strong>, unambiguous principle holding the idea up.</p>
<h2>Private Property<span class="hx:absolute hx:-mt-20" id="private-property"></span>
    <a href="#private-property" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>I finally get to the points &ldquo;Individual + Collective&rdquo; and &ldquo;Choice,&rdquo; which deal directly with &ldquo;Democracy.&rdquo; These two knock down all the others. Democracy and Collective are bad principles. Any system where the majority can crush the minority, and the minority has no objective, defined property rights, doesn&rsquo;t work by definition.</p>
<p>And &ldquo;right,&rdquo; to be clear, isn&rsquo;t just anything. Things like <em>&ldquo;right to bonuses&rdquo;</em> or <em>&ldquo;right to more rest hours per week&rdquo;</em> run into the fundamental problem of any organization: <em>&ldquo;And who pays the bill?&rdquo;</em> If, for one individual to have a right, another has to work for free, that&rsquo;s slavery and, by definition, cannot be a right. Read my article on <a href="http://akitaonrails.com/en/2009/09/09/off-topic-direitos-do-homem"target="_blank" rel="noopener">Rights of Man</a> to understand it better.</p>
<p>More than that: &ldquo;Transparency&rdquo; as unrestricted access to all company data, and &ldquo;Choice&rdquo; over every relevant matter, should never be automatic rights of employees.</p>
<p>Let&rsquo;s get to the foundation of all this: every company and organization is <strong>private property</strong> of its owner, partners, or shareholders. It does <strong>not</strong> belong to the employees, unless they are also shareholders, for example via a <em>stock options</em> program or something of the sort.</p>
<p>Employees are individuals who trade their capability and their work hours, in a voluntary negotiation with the company, for a value called &ldquo;salary.&rdquo; It&rsquo;s a fair, voluntary exchange, for <a href="http://akitaonrails.com/en/2011/02/03/off-topic-a-revolta-de-atlas-dinheiro-e-a-raiz-de-todo-o-mal"target="_blank" rel="noopener">mutual benefit</a>. The employee&rsquo;s right ends where what is written in the signed work contract ends. There&rsquo;s nothing to &ldquo;claim.&rdquo;</p>
<p>Want more access to confidential information and more say in strategic decisions? <strong>Earn it.</strong> Make yourself deserve it, don&rsquo;t expect it to fall into your lap automatically. Show good work, deliver results, and demonstrate the capacity to decide; only then earn the <strong>merit</strong> of being part of it. From the employees&rsquo; point of view, the principle of an organization should always be <strong>meritocracy</strong>.</p>
<p>But what about the various companies that are positive &ldquo;evidence&rdquo; that &ldquo;democratic organizations&rdquo; work?</p>
<p>Here&rsquo;s the <em>key point</em> of this whole article: <strong>these cases of Democratic Organizations are not necessarily Democratic</strong>. At least not as people imagine it should be.</p>
<p>Actually, if you read my articles on animal groups, chaos leading to order, and self-organization, it makes full sense <strong>within limits</strong>. No organization needs to control even the color of the sock each employee wears. That&rsquo;s not efficient or productive. How the team works, what hours, with what tools and codes of conduct, is something the team itself can decide.</p>
<p>Except that, to get to that point, the company&rsquo;s goals were already defined: where it wants to go, what it wants to produce, how it wants to enter the market, and all the rest.</p>
<p>What the teams will decide &ldquo;democratically&rdquo; is how that strategy gets implemented. The &ldquo;upper echelon&rdquo; still exists, the company still belongs to its owners, and the strategy arrives ready. What&rsquo;s left to the employees is the tactics, the implementation.</p>
<p>This is the natural path of organizations. If you want to call that &ldquo;democratic,&rdquo; fine. I prefer to slap no label on it and treat it as one more evolutionary step of &ldquo;Organizations.&rdquo;</p>
<p>Leaving &ldquo;the way of implementing the strategy&rdquo; in the hands of the people who will implement it is just another way that seems efficient to run a business. It doesn&rsquo;t necessarily work for all of them. And in the companies treated as <em>cases</em>, I believe we find more evidence that they adopted more efficient means of production. The &ldquo;democratic&rdquo; label runs too big for what actually happens in them.</p>
<p>It&rsquo;s like the Toyota Production System (TPS, or Lean for us) at Toyota. It doesn&rsquo;t show up on the popular &ldquo;democratic organization&rdquo; lists and probably doesn&rsquo;t even fit WorldBlu&rsquo;s principles, but it does employ &ldquo;democratic,&rdquo; or &ldquo;participatory,&rdquo; tactics in the implementation of production. That&rsquo;s the real goal.</p>
<p>And no, I also don&rsquo;t think the right term would be &ldquo;Republican Organizations,&rdquo; just because I talked so much about Republic at the start. It&rsquo;s neither one. Organizations are Private Properties that need to be managed. In its foundation, the whole organization cannot be &ldquo;democratic&rdquo; to employees who aren&rsquo;t shareholders, by definition.</p>
<p>A publicly traded company can even have an almost &ldquo;republican&rdquo; structure. But the point where we want to study and intervene is the day-to-day management of teams, and there we have a &ldquo;silo&rdquo; with &ldquo;participatory&rdquo; implementations inside a wrapper that isn&rsquo;t democratic.</p>
<p>The reason for this long explanation is simple: if you think too long about the colloquial definition of &ldquo;Democracy,&rdquo; it quickly slides into &ldquo;Collectivism,&rdquo; &ldquo;Populism,&rdquo; &ldquo;Communism,&rdquo; and &ldquo;Socialism.&rdquo; I&rsquo;m absolutely against this line of evolution, it&rsquo;s philosophically unhealthy. In the political realm, it should stop at &ldquo;Republic.&rdquo; In the business realm, it&rsquo;s simply &ldquo;Capitalism,&rdquo; nothing added or taken away.</p>
<p>And the title &ldquo;Democratic Organizations Don&rsquo;t Work&rdquo; is, of course, a provocation. It points to the fact that I&rsquo;m correcting myself on the wrong use of &ldquo;Democracy,&rdquo; when in reality we&rsquo;re talking about &ldquo;Organizations with Efficient Processes,&rdquo; especially the ones that grow organically with an evolutionary-Darwinist logic, like Lean/TPS.
</content></p>
]]></content:encoded><category>management</category><category>business</category><category>off-topic</category></item></channel></rss>