What the software industry is missing Jason 15 May 2006

53 comments Latest by Moose

The software industry is missing one thing.

It’s not talent. It’s not ideas. It’s not money. It’s not marketing. It’s not technology.

It’s discipline.

53 comments so far (Jump to latest)

Swati 15 May 06

You could explain that a bit more.

Swati 15 May 06

You could explain that.

sj 15 May 06

Couldn’t agree more - and it doesn’t just apply to software - or business. Discipline is something we could use in every aspect of our lives.

I’ve spent a ton of time thinking about how discipline applies to my personal life (working to become the kind of man I want to be,) but not nearly enough on practical ways to cultivate a similar level of discipline in my working environment - particularly in those who work under me.

Discipline is still such a…boring word, it doesn’t seem to convey the excitement it should. How do you convey the idea that living a disciplined life really is exciting (and it is!) How do you move from sharpening your own saw to helping inspire others to sharpen theirs?

How did you guys create a culture of shared discipline?

John Topley 15 May 06

I guess Jason’s point is that discipline reins in those urges to do more. What are people without discipline and self-control like? They drink MORE alcohol, they fill their faces with MORE fast food, they decorate their houses at Christmas with MORE lights (think Chevy Chase…)

MORE is the enemy of taste. Discipline = LESS.

sj 15 May 06

John, right on…it’s like Michael Dell said - the important thing isn’t deciding what to do, but what not to do.

Never thought about it before, but that’s exactly what the whole Getting Real idea represents. It’s tough to say that we’re going to create an app that does these three things - no more, and no less. It’s hard to fight the urge to pad yourself with more working hours, more time, more resources. It takes a sustained discipline.

The cool thing about discipline, though, is that it’s end result isn’t constraining, but liberating. Discipline is an instrument for freedom.

Steve 15 May 06

Michael DELL said that? I’m sorry, the soda shooting out of my nose from laughter belies the irony of that quote coming from him.

Pius Uzamere 15 May 06

That’s a great quotation, but everytime I see it, it’s attributed to someone new, from Steve Jobs to Seth Godin.

sj 15 May 06

I got it from a Tom Peters presentation - and I believe anything he says. :)

Justin D-Z 15 May 06

As a part-time student of the occult/estoeric arts, I would be willing to generalize that statement out of software and into humanity. I think what you’re experiencing is that the software industry is (still) run by humanity.

I experienced the same thing in poetry and software. Many people I worked with would have done much better if they wrote more, revised more and modeled more.

Pius Uzamere 15 May 06

sj, your comment that leading a disciplined life is exciting is really insightful … hadn’t thought of it that way before. I’m voting for it to make this week’s filter. ;)

James 15 May 06

For a less is more kinda guy you could have said:

The software industry is not missing talent, ideas, money, marketing or technology; it is missing discipline.

Do you believe “less is more” is anything other than rhetoric?

Dharmesh Shah 15 May 06

Agree on the need for discipline, but discipline to do what?

1. Say no to feature bloat?
2. Say yes to valuing customers?
3. Resist commenting on ambiguous blog articles?

I’m pretty good at the first too, but could use some more discipline on #3.

Andy 15 May 06

I just think some people are being lazy, and dont have the drive to do 100%

Daniel Lakier 15 May 06

Discipline = adherence to a software methodology like RUP?

Or Discipline = only solving simple problems?

Edmundo 15 May 06

That’s what I need myself. I’m improving, though.

Richard 15 May 06

“�it�s like Michael Dell said - the important thing isn�t deciding what to do, but what not to do.”

“That�s a great quotation, but everytime I see it, it�s attributed to someone new, from Steve Jobs to Seth Godin.”

“I got it from a Tom Peters presentation”

Wrong, wrong, wrong. In fact, I said it first. In 1979. But I was really drunk at the time.

Andy Brudtkuhl 15 May 06

I disagree. Discipline is a product of managerial processes. The software industry needs to look at the evidence and know what techniques work and don’t work. The software industry needs to embrace new managerial concepts as fast as it adopts new technology. Last, the software industry needs to adopt managerial techniques that supply motivation to its core (developers). A motivated developer is a disciplined developer. An unmotivated developer is not disciplined, because they stopped caring.

scott brooks 15 May 06

I agree 110%.

In our case it is the discipline to put in the 60hrs a week after our day jobs. It is the stick to it attitude. It becomes hard when you are 4 months in to a project to continue with the same drive that you had when you started.

Small wins have helped us keep energized and streaming towards the goal line. I think it is important to celebrate the wins …you get a interface finalized ..win….finalize the logo ….win …..database done ….win …beta ….win. Something as simple as going for a beer with the team to relish the win and aim towards the next one keeps the drive alive.

By celebrating these wins it allows us to close one chapter in the novel and start a new one.

Cheers

Scott

pwb 15 May 06

I like to call it “restraint”.

Jorn Mineur 15 May 06

“it�s like Michael Dell said - the important thing isn�t deciding what to do, but what not to do.”

Wasn’t it Michael Porter?

sham 15 May 06

In music, restraint is the hardest skill to master. I suspect it’s similar in other diciplines.

Daniel Lakier 15 May 06

Have a look at the Capability Maturity Model (CMMI - I can’t remember what the I stands for, I think they added it when they upgraded the process a while back).

http://www.sei.cmu.edu/cmmi/

They also give levels of maturity (1 being no proceses, rely on superman/women developers to get everything done, t 5 being highly repeatable, predictable, process orieinted development)

This is where software discipline is at for large organizations It involves components for management, requirements, design, development, etc.

SEI also has approaches to the more technical side of development - take a look around their site.

Its pretty boring, though, but if you are disciplined enough of an org to go through this stuff, it is worth it. I don’t recommend it for small projects, you might want to just adopt to a variant of RUP or Microsoft’s approach (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch02c.asp - don’t knock it because it is MS, take a look at it first)

-Dan

Andrey 15 May 06

”> not technology.
> It�s discipline.”

The discipline - IS technology!

Sammy 15 May 06

In our case it is the discipline to put in the 60hrs a week after our day jobs. It is the stick to it attitude. It becomes hard when you are 4 months in to a project to continue with the same drive that you had when you started

You call it discipline, I call it mistaken priorities. I have a wife and little girl I like to see every once in a while.

It may seem, four months into a project, like your discipline is lacking when you have trouble keeping up to a 60 hour a week schedule. I’d suggest that it’s your humanity reasserting itself.

David Barrett 15 May 06

The software industry is missing one thing.

It�s not talent. It�s not ideas. It�s not money. It�s not marketing. It�s not technology. It�s not even discipline.

It’s mysticism.

Des 15 May 06

Wow, powerful stuff there Jason. I just rang the software industry, and told them. They were a little surprised that discipline is all they were missing, but they’ve ordered a shitload in for delivery first thing tomorrow morning. A lucky escape, if you ask me.

Tom 15 May 06

What’s discipline? Corporate tie and a suit?

Neil Wilson 15 May 06

Discipline? Honesty more like.

Honesty to admit that software is hard, and that it can’t do everything.

street 15 May 06

Jason, check the batteries on your stress reliever. Remember, deep breathes. Deeeeep breathes.

Matt 15 May 06

A good friend just “retired” from a large software company based on Redmond, WA. He said that he knew it was time to leave when they were having pre-pre-meetings. Meeting to get ready for a pre-meeting to get ready for the real meeting. Too many damn meetings not enough real work going on. I think this is what Jason is getting at in his post. They need more discipline to get work done and less bullshit.

Chris D 15 May 06

You’re all right.
And you’re all wrong.

Discipline is doing something about it in either case.

Daniel Lakier 15 May 06

While too many meetings can certainly be a problem, just sitting down and coding without design and processes is even more of a problem,. It might work for software designed to solve simple problems, but not for more complicated problems.

No one wants to go to work at TV’s The Office, but it is too easy to poo-poo software methodologies, when in fact, people are just being short sighted and lazy.

Lisa 15 May 06

For me today — discipline is having “free” time and using it to do something useful (rather than playing babble for a few hours).

Mark 15 May 06

And 37 Signals will be the Taliban of the software industry? ;)

Anonymous Coward 15 May 06

It might work for software designed to solve simple problems, but not for more complicated problems.

Most of the software most people write most of the time is to solve simple problems. Unless, of course, you make those simple problems really complex.

So for those that have to solve such complex problems that you need layers of process and abstractions, I feel sorry for you. You may be right, you may need all this stuff, but it’s likely you think that the problem you are trying to solve is sooooo complex when really it’s simple (you just make it hard).

German 15 May 06

I do think that some discipline is lacking with the crazy work hours (and schedules) some people take on, all the disractions that are allowed at work (IM, cellphones, etc) and by just thinking that if you work like crazy things will turn out fine (versus changing processes that cause the “working like crazy” in the first place). Lots of these things were probably born to separate the software industry from traditional big industry corporate culture. It obviously had good and bad consequences.

Is this the industry’s only problem? Not from my point of view. But solving it could be revolutionary. Maybe.

Alex 15 May 06

I whole heartedly agree.

To get _anything_ done you need two ingredients.

1. Something to do.
2. The persistence to get it done.

Everything is secondary.

Level of success = idea * persistence * chance

RyanA 15 May 06

Discipline in software development can include ways of doing things (unit tests before code), being aware of what you’re doing (not programming by coincidence), using your time effectively (focused effort), working out what is and isn’t relevant (less features: working out what you can leave out)…

Rather than copy and paste everything out of ‘The Pragmatic Programmer’, I’d suggest you read that book (and almost every other book they published) and Getting Real if you want more insight into what Jason is (probably) suggesting.

It’s irrelevant if the problem is simple or complex or what tools you’re using or weather you’re on Mac writing Rails or Windows writing Java.

Dave Rosen 15 May 06

Discipline is missing because it’s the hardest part. Human nature causes us to start slacking off at our greatest moment. As you gain success, you need discipline not to lose your commitment. Discipline is remembering what you want.

guru bob 15 May 06

when diid 37S become a cult?

Discipline is remembering what you want.

Sorry Dave, I have to disagree. Discipline is not remembering what you want, discipline is keeping what you want in focus, and staying the course to get what you want.

Human nature causes us to start slacking off at our greatest moment.

I always slack off at mt weakest momentt…LOL

Olav 16 May 06

If this is the kind of entry you’ll be posting from now on, I’d say the getting real trend has gone too far! ;)

Gary R Boodhoo 16 May 06

discipline == constraints

Like setting your camera to f5.6 1/120 sec. with a 55mm lens and shooting that way for a day. The contraints are arbitrary. The process + results are not.

enzonen 16 May 06

I use to call myself a 37Signals fan. But this post makes me wonder if I am wrong. Discipline is what an army needs. Discipline is what you get when rules replace creativity. We in Holland have at the moment a strong political movement with the stupid idea that rules need to be followed - people adjusting to rules instead of rules for managing the way we want to live. I like to hear some more of your reasoning behind this statement, Jason. At the moment, I can’t disagree more with you.

James 16 May 06

The industry is certainly not missing rhetoric ;)

someone 16 May 06

…we also need less cliches and sound bites and more thought out expressions. Add me to the list of almost gone fans.

Deano 16 May 06

Is this the blog of some Zen master? :)

Michael Drips 16 May 06

As a consultant the vast majority of shops I visit nowadays lack discipline. Come to think of it, that might be why they need a consultant to come in and straighten out their mess. I don’t see a lot of “Best Practices” or methodologies being utilized in companies anymore. There appears to be a lot of “shoot from the hip” or We-Think-Agile-Means-Coding-Without-Thinking-Or-Planning. I’m certainly not advocating a lot of micro management or implementation of restrictive rules, but rather the simplicity of defining a target and creating a roadmap on how to reach it.

Don Schenck 16 May 06

On the personal level, discipline is vital to success. Seldom — and it’s the wild exception — does one meet a successful person who does not have the discipline needed to reach their success.

“But Don … what about a beach bum who surfs all day and is, in their mind, successful?”

(never mind that I’d love that)

They are disciplined in that they are not “giving in” to the American Trap … er … Dream … of having Things.

You define your success, you define your discipline. It’s etheral, yes.

In software, the biggest lack of discipline I, personally, in 27 years, have seen is: lack of discipline (or cajones) to say “No” or “First things first”.

Bells and whistles and whizbang and Ajax and all that schtuff is too enticing.

My take. You can, of course, disagree. You’ll be wrong, but it’s your right to be wrong.

:-)

PArora 17 May 06

Not sure how you can make a claim like this. What’s your basis…or what are your thoughts?

Looks like this post was just to explore thoughts from the readers.

Greg Rollins 17 May 06

Having been in the S/W biz as a developer and PM for almost 20 years I can, without hesitation, agree with the OP.

Dave Nicolette 09 Jun 06

“Just” to explore thoughts from the readers? Why “just”? Seems like a good thing to do. You get many more perspectives than just that of the original author.

Moose 09 Jul 06

Wouldn’t discipline be not reading or posting or commenting to blogs.