Can We Stop Building Tools to Convert Users to Developers?

I haven’t read much coverage of the big Windows 8 unveil today, but it looks to be pretty positive.

One thing that jumped out while I skimmed was something about how easy some tool was for non-developers to use to create apps.

Ugh.

That use case is bad penny that refuses to get out of circulation. It’s been around as long as I can remember, which is a very long time in development years, and I wish we could all get on with our lives and accept that non-developers don’t want to build software, regardless of how “easy” we make it.

It seems like a good idea, creating tools to allow users to be self-sufficient, thereby allowing developers to work on the big projects, but inevitably, the outcome is tools that are confusing, slow and ultimately underused.

The problem is that you’re asking developers to build a tool that represents all their mighty skill, i.e. a Frankenapp. So, any PM unlucky enough to try to harness this beast is faced with the impossible task of creating a subset of infinite capabilities.

And finally, when users are presented with a tool that meets their supposed needs, they always, every time, forever gravitate to the path of least resistance, which is ask a developer for help. So you end up with developers training users how to use a tool that does exactly what they could do themselves in less time.

See the problem here?

Turns out teaching someone to fish is difficult, especially if that person is a truck driver by trade and is paid to haul fish, not catch fish.

Cool metaphors aside, analysts don’t want to write reports, they want to analyze reports.

So, can we please stop trying to make development self-service?

Find the comments.

AboutJake

a.k.a.:jkuramot

16 comments

  1. Another reason on the long list. People who want to write and build software do so. People who want to use software to do things for them also do so.

  2. Too right.  Now, instead of paying a developer third world wages to have something that matches what the user wanted, we pay users a fortune to waste time doing the developer’s job AS WELL as theirs. 
    Yeah, lots of money saved!  And from now on, I shall be addressed as “the Dalai Lama”!
    (what was that going past the window?  Ah yes, a pig!)

  3. I am currently building a business intelligence tool eazyBI (https://eazybi.com) with goal that business users could create analytical reports by themselves without help of developers 🙂

    But I am trying to make it so that business users can do most common simple things with it (just with clicks and drag-and-drop) and then when necessary developers can do advanced things with code (e.g. complex data models and calculation formulas). So I think that there is pragmatic approach in the middle – you need to find the right balance between what business users can do without help of developers and where we need skilled professional developers.

    Asking users to develop software for them just by themselves is bad approach but also as bad is when users are asking (and waiting on) developers to add just one simple parameter to some existing report.

  4. Not saying this will happen to you, but I’ve been involved w reporting tools that are meant to do exactly what you say. The danger is that inevitably the project aims for the simple, but always overshoots, ending up as an impossibly powerful tool that is too complex for the user and too simple for the developer.

    Scope creep on this type of tool is impossible to control bc it deals w pie-in-the-sky (vs. real) requirements. The developer and the analyst dream up a tool that makes both their jobs easier, creating a monster tool that neither actually wants to use once it’s deployed.Waiting for a developer to add a parameter to a report isn’t so bad; after all, it’s the developer’s job, and it’s easy. Building a tool to allow an analyst to add a parameter to a report takes exponentially more effort, and now you have training and support costs too.Plus, I guarantee the analyst will still ask the developer to add the parameter bc it’s faster to have someone else do something (incidentally, that person’s job) than to do it yourself.

  5. Where do MSFT get these ideas from? They’d be better off pursuing a lightweight IDE for mobile app development. 80GBs of Visual Studio to make an app for WP7? Please.

  6. Woah, is it really that big? I thought XCode was a beast at 4+ GB. I have yet to circle back and identify what tool they were pushing for casual users who want to write apps. What a joke.

  7. I think probably the only counter-example is Microsoft Excel. Not the macro language, mind you, but the ability to visually spit out a bunch of numbers into a chart… then tweak a few starting numbers and get different results.

    It’s not really a “program” per se, but that kind of applied fourth-grade-math is about the best you can expect from a non-developer. 

  8. I’ll give you that, but Excel doesn’t fit the classic mode of these tools. You know the ones I mean; they’re meant to build websites or mobile apps or whatever. You can write the marketing copy by heart.

    These tools lead to horrible software, and they’re a support nightmare. Plus, they trivialize the work that goes into building good software.

  9. I know which products you mean… but professional courtesy prevents me from criticizing by name 😉

    Have you ever read “No Silver Bullet”? People have been promising a world where non-developers could develop applications for well over 30 years… and nobody has gotten even close:

    http://bexhuff.com/2006/10/no-silver-bullet

    Can non-programmers make trivial applications? Yes. Can they make useful applications? No.

    But… if marketing dupes yet another generation into believing the impossible to purchase an unnecessary upgrade, then marketing did exactly what they were paid to do.

  10. Funnily enough my brother-in-law (a graphic designer) can describe the same thing happening in his field. The web-site building tools are a bit of a crossover. 

  11. Haven’t read it but will, seems interesting. Coincidentally, I was also pondering the numerous new development languages that have sprung up lately, i.e. over the past decade, Dart being the latest and top of mind.

    Variety is good and development languages/platforms are no different, but it seems to have a critical mass beyond which we all slide into religious wars.

Leave a Reply

Your email address will not be published. Required fields are marked *