Tag Archives: Technology

Trusting the System

I remember when I first learned and really grokeed Object-Oriented Analysis and Design. I had read a bunch of books. I had even designed and coded some systems. Some had went well, but some, well, were a bit more complex than they needed to be. See “Architecture Astronaut

Then one day I picked up use cases. Not the god-awful templated 30-page nightmare that most companies make out of use-cases; the real deal. trigger-actor-goal-context process analysis. The kind you can do on a napkin. Maybe sketch something on the back of it if you’re having problems. Specifically, how process analysis fits into Object-Oriented Analysis. Process analysis tells you what needs to happen. OOA tells you what are the logical pieces to make it happen. Semi-structured, all from plain English.

I realized at that point that both OOA and process analysis helped me do one very important thing: I no longer had to keep the entire problem in my head at one time. I had a system that I could use to pick up any problem and drive it towards some kind of resolution. It might be an ugly resolution, but I could get there. I didn’t have to be a genius to solve tough business problems. I just had to follow the system.

I had a similar experience with Agile. As a young PM, I had a desire to plan out everything my team was doing. After all, the more I planned, the less risk there was, right? How could you do anything truly complex and important without having a detailed plan of how you were going to attack it?

At the time, I hated making developers suffer, so I held back. I would secretly plan a bit out ahead in order to make myself feel better, but unless we needed it, I let the team do their work. This wasn’t out of any feelings of comfort. Heck, I spent most of my time as a PM worried about the 17 thousand ways things could go wrong. It was the mid 90s, and we were charging tons of money to solve complex problems. Lots could go wrong.

But what I found out over time, as I adopted more and more “Agile” practices without even knowing it (“Agile” didn’t exist at the time), was that all of my planning was really just a Stupid Human Trick. I felt that by treating people like computers, by programming out everything that was going to happen, that somehow I was reducing risk. But what really happened was that people would always find the problems I missed, and if I left them alone, would go fix them. Turns out people were pretty good at identifying and structuring their own work as they went along. Much better than I was by myself, doing it for them.

Eventually I learned there was a system. There was a minimum amount of structure that I could (had) to provide for teams to succeed. As long as I did that, they would always rock and roll. My job as a PM (and later SM) was to get obstacles out of the way, provided the most minimum amount of structure necessary, and watch the magic happen.

I didn’t have to be a genius to solve tough technology development problems. I just had to follow the system.

As a coach, when I explain these and other concepts like them to folks, many times I get the “crazy uncle” smile. Yes, Daniel, they say, of course it’s all that. (Meanwhile wondering how much I am billing and how did we get stuck with this nice, but misguided guy who thinks the world works on magic)

I think it’s one of those things you have to see to believe. Once you tackle a super-complex business problem using simple tools, you realize you can do this over and over again. Just trust the system. Once you see a team solve a ton of development problems while delivering a product the customer wants, you realize you can do this over and over again. Just trust the system.

Yes, we take this too far. Sometimes people don’t really understand that there is a balance between structure and chaos. Sometimes they want to say silly things like “It’s emergent” to describe conversations and processes they don’t understand. When you see the magician do a few tricks, you might start thinking he can do anything. He cannot.

But most people have the opposite problem. They come from school, where you had to understand the complete problem and solution to get a grade. They want to do well where they are, so they want to be able to describe just how each piece of the process works to create a solution. It is completely counter-intuitive to think that by doing simple things in a system, you can achieve enormously complex goals. But for many of the really cool things in life, that’s how it works.

Trust the system.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Dear Future

Dear Future,

I thought it was important to write this to you because no doubt many of you will wonder what happened to technology between the years of 2000 and 2015. How did something with so much promise turn into a tool to monitor and control the population?

I wish I could say that there was one bad group or another that we could blame. This would make it much easier to explain. We certainly have a lot of bad groups at the moment. But instead of evil actors, most of the people who destroyed our individuality, privacy, and freedom were acting out of a spirit of helpfulness and kindness. This made the disaster all the more tragic.

Take Mark Zuckerberg. Brilliant guy, great observer of human nature. He noticed that people like sharing little tidbits about themselves, so he created an addictive site where everybody came and shared most everything about themselves. Or Sergei Brin and Larry Page. They noticed that by using certain ranking forumlae they could provide people with what they were searching for on the internet. They didn’t start out to own all the data on the planet, including data most people would have considered private, that’s just where they ended up. After all, a search is a search. “They want Google to tell them what they should be doing next,” said the CEO.

Governments initially had a hands-off policy towards the internet. Let’s see where it goes, they said. But after only a decade or so, it became apparent that people used and valued the internet more than they used and valued governments. It had become a part of their daily lives in a way that government never could. It was only natural that as political things happened on the net — secrets were stolen, criminals moved money around, people were tricked out of their savings, protest movements formed and took off — that governments wanted in on the action. Way in.

The police, who up until now had to actually figure out what was going on around them using limited resources, saw all this technology as a wonderful tool to find and prevent crimes. They could track you without a warrant. They could ask cell companies for your conversation information without your knowledge. They could monitor each detail of your life in an automated way. It was as if instead of the local town having 20 policemen, it had 20 million. It was progress, after all.

People who had jobs that had no purpose any more — and this included a lot of people — wanted governments to help them keep the old world they were used to. So they petitioned for laws to restrict the kinds of thinking that went on inside the net. No passing around crypto tools, no copying certain pieces of data, no mentioning of certain things. Some sites were okay to visit. Some were not. Some thoughts were okay to express. Some were not.

None of these groups saw themselves as hurting humanity. Each was willing to make a small compromise, heck, not even a compromise, just progress, in order to continuing doing the good things they were already doing. Because people already generally supported these groups to one degree or another, the population was suitably prepared not to realize the danger. Some were fiercely worried about bad corporations but less concerned about government. Some were worried about government but less concerned about corporations. Some feared foreign governments. Some feared organized criminals and terrorist but weren’t so concerned about corporations and governments. Each had their groups that they defended and their groups that they feared, but very few realized that it was the combination of all of these that was the danger, not just one group or the other.

In fact, it was our desire to identify bad actors and evil groups to hate that made us blind to the changing world. We kept focusing on the intentions and motives of outsiders, which ironically enough were mostly benign, and trusting our sacred cows to defend us, which also ironically they were woefully unprepared to do. We looked outward at others Instead of instead of inward at the general impact on each of us as a person, which was insidious and pernicious.

It was just our way of solving problems. Political rhetoric was full of all sorts of fear-mongering about dangers that, while important, were not of the same caliber as the (I hate to use this phrase) paradigm shift in the nature of humanity that was happening. It became difficult for most citizens to discern the difference in levels of danger. Was the fact that some people may not like other people of a certain ethnicity worse than the fact that most of the population was having it’s online behavior tracked by multiple entities? Was the country going broke at the same level of danger as embedded, locked-down-by-vendor computer implants? Was terrorism more important than preventing the government from effectively controlling all business travel? One person yelling about one thing on TV was much the same as any other. It’s not that nobody identified the danger. Quite the opposite. People identified too many dangers. We were awash in people telling us about all sorts of evils and dangers.

It became very difficult for the average citizen to prioritize. At some point, most people just gave up. Like a cancer patient waiting for a particularly difficult operation, or a passenger in a jumbo jet huddling frightened in the back as it rides the great storm, we maintained an outward air of calm. There was nothing else to do. It was so difficult to get our head around that we effectively gave up ownership of it. All that remained was a blind trust that somebody, somewhere was figuring all this stuff out. That the market, or my political group, or my favorite software company, or my clan, or technological progress in general, or whomever. Somewhere somebody was fixing it.

Only it didn’t work out that way.

Men at sometime were masters of their fates. The fault, dear Brutus, is not in our stars, But in ourselves, that we are underlings.

Anyway, I thought I’d let you know how it all happened. Since the victors always write the history books, I’m sure that no matter how it turned out you are happy and assured that it was the best way for everybody. That it was the only solution that would work.

We here in the past are not so sure.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

A New Kind of History

Last week, while doing some other work, I had the History Channel on playing a 2-hour special entitled “hippies”

It was a great overview of the hippies from the 1960s, as usual for the History Channel. But something about it struck me as being different.

Then I realized: as opposed to most HC shows, these were people telling the story in their own words. It was history, yes, but it was interactive history.

Long gone were the old portraits and actors doing voice-overs to try to add drama. This wasn’t even grainy archival video footage cleaned-up. This was color, cinematic, and was narrated by people who were there.

It struck me that as technology records more and more of things as they happen, history is going to go from being a one-dimensional subject where the reader’s imagination is engaged to a multi-media topic where the reader may actually get to challenge historical figures on why they did certain things.

Wouldn’t that be great? Can you imagine questioning Thomas Jefferson on why certain pieces of the Declaration of Independence were re-written? Or talking to William the Great about his reasons for invading Britannia?

Of course, those figures are long gone to us now. But that’s not necessarily true for the future. We could act today to create a “New Kind of History” for those who follow us.

What would it require? Some sort of automatic questioning machine, probably. A program that predicts future questions and arguments and engages with the historical person right now, while they are still alive. Famous people today are already doing this when they sit down with biographers — although biographers create their questions around total sales of a future book, instead of future conversation potential.

Would such a device be too burdensome? Would the hippies of today — and the Occupy Wall Street folks seem closest to that group — have the time or inclination to participate?

I think so. I think such a service could also provide interactivity for current people observing things over the net. After all, much of the questions future generations might have are also questions being asked today.

This is the internet in reverse. So far on the net, people post one-liners, blog entries, or status updates. All of these are one-way traffic. You make the message and then people come and read it however you’ve assimilated it. What I’m talking about is providing the answers to questions, then people who ask questions could engage with those who have gone on before. It’s the starting of a conversation through the use of questions instead of the use of statements. Sounds kind of the same, but it isn’t.

A system of questioning could have a ontological map — one question relates to another one. What did Neil Armstrong say when he stepped on the moon? Was it “A small step for man” or “A small step for A man” ? If he said the second statement and not the first, why do we remember the first? If the problem is radio reception, how big of a problem was that during the Apollo years? What sorts of things are being done now to make sure we understand folks in space?

These questions are related to one another — one follows the previous one in a straight line. Of course, you can make it a lot more complicated than that. I can easily imagine “trees” of questions, each related to the previous ones.

A computerized system could then walk those trees with the user, in a format where the user asks questions and the computer answers them. We have this to some degree right now using Google, voice commands, and search. The difference here is that my plan calls for an effort to complete the tree of questions, instead of information being presented in category/narrative form. We could create a pre-canned conversation, including probable responses from the future consumer, instead of creating a bunch of random essays all over the place that some search engine like Google then tries to patch together.

Will it work? I think so. As I noted, it’s already working, just in hodge-podge fashion. Surely somebody can improve on what we already have.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Software: More Battlestar, Less Gunsmoke

When I was a kid growing up in the 1970s, we had a show on TV called “Gunsmoke”

Gunsmoke was a western, which meant folks dressed like cowboys. Our hero, Marshall Matt Dillon, struggled every week with capturing bad guys, cleaning the town up, and just generally doing cool cowboy stuff.

Gusmoke had been running on TV for 20 years by the 1970s. It went on to run another 10.

Even though I was just a kid, it didn’t take me long to figure out that Gunsmoke was mostly empty of content — every week it was the same old rehased plots, with guest stars showing up and always the same kind of ending to the show. Folks loved it, but there was nothing new happening. The guys at Gunsmoke were simply trying to see how many television shows they could make and sell before somebody shut them down.

This past week, major networks in the United States announced that they were shutting down a couple long-running soap operas. These things had been going for decades. “All my Children” ran for 41 years. “One Life to Live” ran for 43.

There’s a new type of show concept, however, used in “Babylon-5″ and “Battlestar Galactica” The show has individual episodes, but each episode is part of a long serialized story. The story has a beginning, middle, and finally, an end.

What a great thing it is to watch one of these shows! It’s something like a cross between a movie and a long novel. Over a period of years and dozens of hours, a long, intricate story plays out. When the end finally comes, it’s really neat.

As a small business owner, I used QuickBooks. I upgrade every few years, because QuickBooks makes me upgrade: they simply make their program break. If I want to continue using it, I have to pay. Doing business accounting hasn’t changed that much in the 15 years I’ve been a customer. After all, a double-entry bookkeeping system and chart of accounts are pretty standard stuff. But QuickBooks makes me pay anyway.

Likewise my tax program requires me to shell out money every year. While the tax code is always changing, completing taxes is basically running an expert system against the data I input. Such a system could easily be maintained in the public domain and would provide a useful service to everybody. Whatever I’m getting, by the 15th time I’ve purchased it, it’s doesn’t feel like it’s worth the money I’m paying.

Microsoft is making tens of billions of dollars from Windows and MS Office. Every couple of years, folks pay hundreds of dollars — for what? To continue to write letters? To have a file system with programs that run in a window when you click on them? Maybe really cool for the 1990s. Perhaps even a bit novel for the 2000s, But at some point enough already. The extra purchase isn’t worth any extra benefit.

I thought about this the other day as I listened to a friend of mine Tweeting about what a pain it was to install program X. He was convinced there was some great value to be had taking 3 or 4 hours of his time doing the upgrade. That may be true, but it got me to wondering: what if I tallied up all the time I’ve spent upgrading various pieces of software. Let’s forget the money for a second, assume I’m made of cash, what about the time involved?

Before I started the list, just thinking about it, it was pretty depressing. All those versions of SQL Server. All those versions of Windows. Of Office. Of various programming languages. Of various programming toolkits. Of various graphics programs and toolkits.

Wow! It could easily run into the hundreds of hours. Over a decade or two, perhaps thousands of hours. Each of those installs promised some new and shiny future: faster query times, better debugging, being able to mail merge a list of friends. These features sounded pretty cool when I read about them in a magazine or imagined how awesome they would be. But inevitably what I used them for was pretty much banal stuff: writing a letter, coding up a business tier, creating a button for a website. If I had a list of all the cool new features from each of those hundreds of installs — a list that would run into the tens of thousands of items — what, exactly, would I be using today to make somebody’s life better?

Somewhere there’s some guy who is able to create an application in 10 minutes and 3 lines of code with one arm tied behind his back using his favorite toolkit. This guy spent ten thousand dollars and three months learning how to do this. With this cool new awesome super-power, he will write exactly 1 app (if he’s lucky), and then next year it’ll be all new stuff. He will start over.

In between that time, there will be a lot of “noise”. Customers will have requirements. He’ll have to maintain existing systems. Perhaps he’ll be doing sales, or tweaking a website to bring in more contacts. New people might have to be trained. There will be seminars and business development assistance, customer relations, re-architecture discussions, and patches and upgrades to existing code.

I’m not the sharpest knife in the drawer, but it occurs to me that all of this “noise” is really what business is all about. It further occurs to me that in software, if you are making a solution for somebody, it pays to never make them completely happy. People are making a lot of money distracting us from the real purpose of what our technology tools are supposed to be doing. There is always be some magic bullet they’re brining out next quarter. All to do the one simple thing that we were basically happy with 20 years ago.

Everybody wants to do Gunsmoke and nobody wants to do Battlestar. They want to get on the gravy train, find the cash cow, and then milk the hell out of it. That would be a hoot, except I’m beginning to feel a lot like the cow.

Enough of this already. Write it up, make it configurable, publish the spec, and move on. End it. Do the right thing. Treat people as you would want to be treated.

More value, less flash. More substance, less glitter. More solutions, less fantasizing.

More Battlestar, Less Gunsmoke.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Roll Your Own Linkbait Tech Headline

I’ve noticed two things in the last month. First, there seems to be an overwhelming number of stories in the tech world about how Google search results all look the same. Second, and ironically, how these stories themselves look all the same.

In fact, just like the Google Search Results for answers to tech questions, or reasons why git, Apple, and Node.js are so totally awesome, or ways your relatives can die in far away places and leave you fortunes, tech article headlines are beginning to all look like the same stuff, just re-hashed in various ways in a desperate attempt to try to appear new.

Since everybody else is doing it, you can too! Here’s my handy-dandy “Roll Your Own Linkbait Tech Headline” generator, complete with embeddable code for your blog. Sure, you’ll have to write the rest of the article, but I can’t be expected to do everything now, can I?

Continue reading

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Do we really need HTML?

I’ve been playing around with some radical minimal design ideas lately, and it occurs to me that I’m not so sure that we need HTML, at least for “normal” work.

Think about what most professionals do all day. You’re an accountant. You’re an insurance agent. You’re a policeman. You’re a manager. You’re a factory worker.

What do you need HTML for? As an accountant, say reviewing a ledger, you need to look a couple of lists of things and compare them. The idea of a displayed list certainly predates HTML. As an insurance agent, you need somebody to complete a claim. Modern voice systems can certainly interview the person, make a stab at word recognition, and you can easily outsource the quality control overseas at pennies per form. Bingo presto, not only do you have your form completed, the system is beginning to learn the spoken word of the customer, and it was a natural question-and-answer format instead of plugging through some long form on-screen.

In fact, I’ve spent the last day trying to think up some combination of activities that can’t be done with a blinking light, a pushbutton, and a list/text/image display.

I can’t, and that’s strange.

I have no idea what hyperlinks accomplish, for instance. I mean, I understand the point. And they are awesome creatures of the internet. But who’s job requires a hyperlink? Sure, things need to be linked together, but the physical construct of an underlined piece of text that, when clicked, takes you somewhere else? Nobody has a need in their normal job to go to random places depending on which text is annotated. Most jobs are not that free-form.

It sounds nutty, I know. And pay attention: I am not saying that HTML shouldn’t exist, or that things shouldn’t be linked together, or that the semantic web isn’t a good thing. What I’m asking is: simply because something makes sense in hypertext markup, should it appear on a screen somewhere?

I’m a policeman accessing a list of recent crimes. Here’s the dirty little secret from systems design — there are only a couple dozen activities for any one job that take up 99% of your time. Sometimes there is only one or two activities that you do all day long. So I push the “recent crimes” button, perhaps a physical, real button, and there’s a list of recent crimes. No links, no tables, no bold text, no flashing or jumping bunnies. No fonts. Just a list. Of stuff I need to know. mirabile dictu

How far we’ve come.

HTML was started with the idea that the display of information would be a completely different problem than the structure of it. But look what’s happened since then: it’s all about display. How big the screen size is in pixels, what kinds of fonts you have (or can install), whether or not you support flash, etc.

All of this is great from a one-system-must-conquer-the-world standpoint, but completely wrong-headed from a I-need-to-separate-different-parts-of-my-life department. We’re trying to invent sort of a universal generic display language. Wonderful concept, but that’s not where we started out going. Or if it was, I missed it. I thought the display aspect was secondary, not primary.

But then came advertising. And money. Lots of it.

My thesis is that at some point in the last 10-15 years, the HTML web has crossed the line from being an information structure and became an entertainment medium. That’s cool, and I wouldn’t want to take away the goodness of the net for anything. I’m simply asking if using an entertainment medium to do your job is such a good idea. For most of us, I don’t think so.

Of course, there will always be a place for the arts — painting, writing, movies, games, music, etc — and HTML and computers are wonderful tools for the creation and enjoyment of the arts. Most of our jobs though, however sadly, are not art.

Advertising has created wonderful general-purpose devices that can switch from balancing a checkbook to flying a F-15 in a split second. One browser page can have your investment information and the next one Facebook. And world opinion. And lolcats. Strategic investment advice. And porn. It’s all one of the same. Sometimes barriers are good things. A site that pulls you in with messages from your friends can then get you to click one link — it only takes one click — and you’ve lost 30 hours playing Farmville. These are all the benefits, and drawbacks, of hyper-text markup language the way it is being used today.

And we really don’t need it all that much.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Retro Techno

I was watching the remastered versions of the old 1960s Star Trek TV show the other day, and while the new graphics were great, I couldn’t help but think how god-awful the instruments and displays were, compared what we are using today.

instrument panel from the old star trek show

But then — being the contrarian I am — I thought: Doesn’t this actually make a bit of sense?

Continue reading

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.