Live data from Hacker News

Software development requires servant leaders

adl.io

161–170 of 209 posts

Re: Software development requires servant leaders

#161
post #154
post #108

Earlier quoted context omitted.

Right, and this model is itself monstrously inefficient and a result of 19th century (and earlier) modes of production persisting due to the presence of a guild and the absence any reform in the legal system. This is how furniture making and shipping used to work too, but then we invented factories and wage labor.

Any sort of consulting work is effectively a bespoke product - I don't see how you can get to the point where you can 'mass manufacture' professional services.

But people don't want "professional services" at all: they want justice for the vendor who ripped them off and skipped town. They want a divorce. They want to make sure that, when they die, their daughter gets the house. They want a partnership agreement for their hot dog truck business. Later on, they might want to make sure that their partner doesn't skip town with the truck and stick him with the debts.

These things don't necessarily require professional services. They certainly don't require taking time off in the middle of the day to go to an oak-paneled office with potted plants and an anteroom. We could organize our society to give people justice without traditional law practices. We've chosen not to because the benefits accrue to a well-connected minority and the downsides accrue dripwise to the rest of us.

Note that LegalZoom and a few others are indeed trying to do this, but even they are forced to equivocate that they're not really lawyers. It's the legal equivalent of making tobacco companies put diseased lungs on their cigarette packaging, except it's not correcting for an externality, but imposing one. Why do I even need LegalZoom for a will? Shouldn't there be a government website where I can register my will for free? Should I need a lawyer and a judge to give me a no-fault divorce?

Re: Software development requires servant leaders

#162
post #161
post #154

Earlier quoted context omitted.

Any sort of consulting work is effectively a bespoke product - I don't see how you can get to the point where you can 'mass manufacture' professional services.

But people don't want "professional services" at all: they want justice for the vendor who ripped them off and skipped town. They want a divorce. They want to make sure that, when they die, their daughter gets the house. They want a partnership agreement for their hot dog truck business. Later on, they might want to make sure that their partner doesn't skip town with the truck and stick him with the debts. These thin…

> Why do I even need LegalZoom for a will?

You don't. You can hand write it on paper.

> Shouldn't there be a government website where I can register my will for free?

Registering a will is mostly a fallback to let people locate it.

> Should I need a lawyer and a judge to give me a no-fault divorce?

If there is nothing in dispute, you only need a judge (because a divorce is a court order.) You may need a lawyer to sure that your settlement achieves what you want, or to deal with disputes about the resolution as to property, etc.

Re: Software development requires servant leaders

#163
post #156

Earlier quoted context omitted.

> ...making them finally write a quick, limited capability prototype is a MAJOR effort. Fair, but why is that. I've been talked into just-for-now solutions over and over in my career. Rarely does the org actually go back and clean it up in a timely fashion. It's possible, regardless of servantness, that leaders don't have a good reputation for following through and finishing things.

Rarely? Try never. Then its now your job to support the mess from now on. You can call me a recalcitrant developer if you want, but its like asking "Oh, well what bridge can you build in two weeks?" Sometimes you should build a raft instead of trying to pretend you can build major infrastructure in no time flat.

The raft metaphor is a good one.

I've often used a similar one: "first we build a go-kart. It's a cool little go-kart, and will help us overcome certain barriers to adoption with a certain kind of customer for whom a go-kart meets their needs."

I find that the main arguments against the raft/go-kart strategy (from the the business leader) are along the lines of "we need a Ferrari man! not a go-kart; our target customers won't even consider a go-kart".

Its at this point that an very important discussion has to be had about how customer development and barriers to adoption are overcome. BTW - the applies to both new product development and features for existing products.

This is not easy. This discussion must include "Look, the experts who are building this are telling you ________ and ________; you can choose to accept that or continue down a path of uncertainty and investigation until they come up with another set of recommendations...". The goal for the technical leader is to setup a set of options for the business leaders to choose - none of which are allowed to be chaos.

If chaos is the norm, either the business leader or technical leader will be removed - or the business will likely fail due to that chaos and its effects on the team.

Re: Software development requires servant leaders

#164

Earlier quoted context omitted.

> ...making them finally write a quick, limited capability prototype is a MAJOR effort. Fair, but why is that. I've been talked into just-for-now solutions over and over in my career. Rarely does the org actually go back and clean it up in a timely fashion. It's possible, regardless of servantness, that leaders don't have a good reputation for following through and finishing things.

The market doesn't any longer condone leadership where finishing and following through matter the most. We're in a race to the bottom as we barrel ever further down an economic rabbit hole. I can't, therefore, blame "leaders" for the conditions you correctly point out.

That is 100% a leadership problem. There is a cult around Minimum Viable Product but that can be mitigated by technical leaders who are willing to stonewall the business leaders on unit tests and documentation. I don't even bother telling them that testing and documentation are separate tasks and roll it into development time.

Re: Software development requires servant leaders

#165
There seems to be this odd sentiment in the comments here that, unless you're an absolute tyrant, then you must be a weak leader, not directing people and not holding teams accountable. This concerns me greatly, because thinking that "strong leaders" have to be tyrants is a big part of what lead to the Maryland football tragedy.

Re: Software development requires servant leaders

#166
post #2

In my experience it is rarely enough to just "lead" more thoughtfully, which seems to be what the author here is promoting. Software development does not just require servant leaders in the helping sense, but in the working sense. The best leaders in software and technical domains are also those who can write (either code or ideas) better than anyone else. They have the power to move the project forward on their own,…

> The best leaders in software and technical domains are also those who can write (either code or ideas) better than anyone else. Technical and programming skills have very little overlap with successful team management skills. It's the very essence of the Peter Principle.

Management and entrepreneurship can be learned. That's what MBAs are for.

Hell, the only reason I know what servant leadership IS is because I took a business degree about 10 years into my software career.

Re: Software development requires servant leaders

#167
From this article, IMHO these are the most important for [technical] leaders, in priority order.

All other things : trust etc - effectively fall out of these, because these are the things that will enable the business to move forward and encourage continuous improvement.

1) Have Empathy for the Customer

2) Have Empathy for the Customer

3) Have Empathy for the Customer

4) Drive Uncertainty Out of Requirements

3) Be “Chief Unblocker”

Re: Software development requires servant leaders

#168
post #156

Earlier quoted context omitted.

Rarely? Try never. Then its now your job to support the mess from now on. You can call me a recalcitrant developer if you want, but its like asking "Oh, well what bridge can you build in two weeks?" Sometimes you should build a raft instead of trying to pretend you can build major infrastructure in no time flat.

The raft metaphor is a good one. I've often used a similar one: "first we build a go-kart. It's a cool little go-kart, and will help us overcome certain barriers to adoption with a certain kind of customer for whom a go-kart meets their needs." I find that the main arguments against the raft/go-kart strategy (from the the business leader) are along the lines of "we need a Ferrari man! not a go-kart; our target custom…

I don't know if this is a good time in history to be referring to "experts".

Re: Software development requires servant leaders

#169
post #88

Earlier quoted context omitted.

I think GPs point was that building cohesive teams is a known art and yet software folks keep trying to reinvent the wheel.

I did an MBA, and have built and led software dev teams for decades. Just to establish my bona fides, because the "known art" of building cohesive teams and what actually works for software teams is definitely two different things. Actually, having talked to friends in other creative industries, I don't think anyone gets this right for creative processes. And I think TFA gets it completely right when it talks about e…

> Software actually is unique in this respect, because it doesn't work if it's not complete.

This is a point that really ought to be more broadly recognized. It's a pervasive issue throughout software development, and while the situation is improving I'm not convinced that's about any kind of improved design. It mostly seems to be a function of delivery mechanisms which can circumvent the problem - internet delivery of patches, automatic updating, and remote hosting of apps have all lowered the bar on "good enough to ship". The most obvious example is almost certainly video game development: planning and labor conditions haven't substantially improved, but the prevalence death-march development has been made much better by the ability to gracefully patch games after release.

"You can't ship a partial product" isn't universally true, of course, but building projects which can be shipped while incomplete requires planning for that option from the beginning, and has real tradeoffs. In general, software planning seems to either ignore this issue entirely and go vastly over schedule, or propose some agile/lean/extreme 'iterative' process without paying any attention to the requirements and costs of that approach.

Imagine telling a construction firm that you want a two-story 'minimum viable building' that you can work in while they add the remaining stories if things run over schedule. If they didn't refuse outright, they'd charge you double and design the entire process around that condition.

Actually, that metaphor seems like a pretty useful one. Both fields involve developing something which can't be delivered at intermediate stages, where iterative never-broken development is slower and more difficult, and where both unforseen (e.g. unmarked water main) and unforseeable (e.g. storm damage) problems can arise throughout development. And, consequently, both have a well-earned reputation for late, overbudget deliveries.

Re: Software development requires servant leaders

#170

Earlier quoted context omitted.

The raft metaphor is a good one. I've often used a similar one: "first we build a go-kart. It's a cool little go-kart, and will help us overcome certain barriers to adoption with a certain kind of customer for whom a go-kart meets their needs." I find that the main arguments against the raft/go-kart strategy (from the the business leader) are along the lines of "we need a Ferrari man! not a go-kart; our target custom…

I don't know if this is a good time in history to be referring to "experts".

Hmmm. I understand why you say that - alas, yes in the political environment experts are cast negatively.

In the above context, I'm talking about the people we hire to do the things that need to get done to move a business forward - we hire them for their expertise and skills.

When I'm talking about the people I've hired - to management, peers in other groups etc - I refer to them as "the experts who are building the ________, tasked with accomplishing ________" and so on. It reminds people that they're here for a reason - to contibute ..and not here by random coincidence.

Post reply on HN