Lessons from the kitchen timer.
Difficulties in IT
Amateur vs. professional speakers
Even if the task looks trivial, sometimes you need a professional.
Wrapping up the programmer/user chasm
When developing software, the contractor needs to understand the difficulties and the methodologies, and the client needs to be willing to step out of his “that’s the way we’ve always done it” habit of working with traditional contracts.
The programmer/user chasm: estimating resources needed to build software
When you make a bridge you have a plan. You know exactly how much you have to dig and how much concrete and iron you’ll use. You can ask a contractor how much and how long. If the bridge was software, all you’d know before you started to build it is some vague requirements like “it must have a capacity of 7 thousand vehicles per hour in each direction”. A contractor wouldn’t be able to give you a quote. However, it’s not impossible to make good estimates for software.
The programmer/user chasm: contracts and billing
In IT projects, both requirements-based contracts and time-based contracts create tension between the contractor and the client.
The programmer/user chasm: the methodology
Until 20–30 years ago, we approached software projects as if they were bridges. We’d write a list of requirements, and a contractor would develop and deliver the software based on these requirements. Today we know that this doesn’t work.
The programmer/user chasm: Blacksmiths and swordsmen
Why do we perceive as a problem the transfer of business knowledge from the logistics professional to the programmer? Why do we not perceive as a problem the transfer of business knowledge from a manager to a management consultant?
The programmer/user chasm
At a fundamental level, writing software is easy. Why, then, are good programmers so hard to find and expensive to hire?
Will we need programmers in the future?
“Ten years ago, if I wanted to do a simple computing task, I needed to hire a programmer. Today I do it myself in Excel. It seems unlikely we will be needing any programmers at all in a few more years.”
—My boss, c1995
How to throw away files, business processes, and clients
It’s not just our homes that can benefit from Marie Kondo’s method—it’s also our businesses.
How to throw away years of effort
If throwing it away is going to pay off, you should throw it away—the amount of previous money and effort is irrelevant.
How your home-grown Excel came to be
“Oh, this thing is so complicated! I’ll just do something simple in Excel.” If you ever said this to yourself, here is the result you got.
What does the coronavirus have in common with a software project?
It’s an old Greek saying that however bad something is, there’s always a good side to it.
The Census Crunch: How much does a real software development project cost?
I created a toy application, which, if you were lucky, would cost you 500 or 1000 dollars/euros. Real projects cost much more.
The Census Crunch: Is it decent enough?
Despite having taken 18 hours of work, it the application needs have some way to go.
The Census Crunch: Why do some trivial things take so long?
A developer will sometimes be able to do wonders in minutes, and sometimes get stuck for hours while trying to change a comma.
The Census Crunch: Why is software development so expensive?
A graphic that shows where a programmer spends his time in order to write a simple program.
The Census Crunch: What is the cost of a small application?
I thought I’d take this small application for breakfast, but it took me two weeks.
The Census Crunch
Search in 1.7 million U.S. transport businesses; the FMCSA census data for humans.
Your brand new IT system sucks? Great! Throw it away!
“We paid for it, therefore now it must pay off.” Here’s how to escape that damaging mentality.
Professional vs. nephew software development
If you have your nephew develop software for you, costs will be way smaller. But these savings come at a, well, cost.
Off-the-shelf vs. custom made
All software solutions suck. The thing is to find one that sucks less.
How a company can be brought down by bad code
If you are a new business you may think you shouldn’t worry about code quality now, and you’ll do it “later”. This mentality has driven companies out of business.
Should I automate?
We often worry a lot about how to proceed with automation. Sometimes we fail to ask: Should we proceed with automation?
Warranties
Warranties can help, but they are not the answer to the problem of automation.
Mundane IT problems
The press likes a good story like an automated vehicle, but you’d better ignore that and concentrate on whatever actual improvements your business needs.
The scope of the project grows
Many companies get into trouble believing that they can just install the software and throw in some data. Inevitably, the scope of the project grows and what was supposed to be a simple system ends up a confusing mess.
Disaster recovery
Two stories, one from Truckstop.com and one from Pixar, illustrate an issue that is often overlooked in young companies.
To get entangled, or not to get entangled?
Becoming dependent on an IT system can hinder progress. Not becoming dependent can make an IT project fail.
IT projects are experiments
The five times more rule is figurative. If you take it at face value, it’s stupid and pointless. It’s just a guide to a different way of thinking.
300k trucks on a 60k budget
When you estimate the cost of an IT solution, multiply it by five. What if you don’t have that amount? The same thing you will do if you need a 300k truck and can only spare 60k.
Five times less
Yesterday I wrote that when you are about to automate your logistics business, you should be prepared to spend five times as much as you initially think. What if you don’t have that much?
Five times more
When you are about to automate your logistics business, get into a mentality of “we are building it in order to throw it away”.
Peripheral issues in IT
When you give an employee a device, you might need to give it bundled with a carrying case, a specialized charger, or a towel.
The “safe” choice isn’t nearly as safe as it seems
Celadon Trucking, one of the largest trucking companies, failed. This can happen to software companies, and the results can be worse.
Deploying an IT solution requires other changes
When the Manchester ambulance dispatching service added decision support software, they had to change the way they were seated.
Technology is not a solution in and of itself
If you rush to adopt some automation without thinking about the repercussions first, you are headed towards a nasty disruption.
Fixing IT problems the hard way
The story of Twitter illustrates how software can start OK and then fail big. Twitter was able to overcome the problems with a brave decision.
Sometimes size matters less
It seems easy to trust someone to build a small software solution compared to a large one. What matters, however, is the impact this solution has on your business.
Does size matter?
If you need IT support, whom should you trust more? An individual, a small company, or a large company?
Why it’s risky to trust an IT person
The way to move forward with automation is to trust someone. And trusting someone in IT is risky.
The problem of automation is a problem of trust
Imagine if you had an IT consultant whom you’d trust so much that you could say “fix my company and give me the bill”. It’s hard to find one, because IT has some peculiarities.