In the Flow » Posts in 'General' category

Do Lean and Six Sigma Apply to Software?

Neil Davidson has an interesting post questioning the logic of trimming the fat in economic downturns. His isn’t the first blog post I’ve seen recently on the applicability of Lean to software development. As someone with an Industrial / Manufacturing Engineering background who now does programming, I bristle when I see production line concepts applied to software development, so I thought I would chime in on the topic.

There has been a push in recent years (mostly by consultants) to extend concepts from Lean and Six Sigma to service-based industries, but for the most part it doesn’t make sense. Production is deterministic. Work orders are scheduled, raw materials are pulled from stock and production workers have a standardized set of instructions for manufacturing a sub-component or finished good.

The typical work flow for a knowledge worker is not deterministic. You can’t pull a programmer’s brain from stock, run it through a 1-ton arbor press, and squeeze out code to fill an empty software kanban. And even in manufacturing there is a difference between high-volume, low-mix assembly and low-volume, high-mix assembly. Many of the techniques used in Lean, such as value stream mapping, don’t apply well to low-volume, high-mix production, let alone to non-manufacturing.

Another problem is the misuse of ‘Lean’, ‘Six Sigma’, and the combined ‘Lean Six Sigma’.

Lean is an offshoot of the Toyota Production System, created by Taiichi Ohno. He boiled it down to shortening the time between getting an order and getting cash by eliminating the seven common causes of waste in the process. This has been misinterpreted as cutting staff, as in “running a lean operation”. They’re not the same thing. The next time you see a CEO announcing that they are going to cut jobs as part of their Lean Six Sigma adoption, you can be pretty sure they have no clue what they are talking about.

I’ve seen other piss poor analogies of Lean applied to software as well. To give one example, some claim that rarely used features or commented out code are wastes of over-production. In manufacturing, when a new product is introduced, first it gets designed by an engineer. If it is a high-volume, low-mix environment, there’s typically a pre-production run to iron out the kinks. If it is a low-volume, high-mix environment, it often gets prototyped by one or more technicians, assembly workers, and engineers. If you have waste in a process, the prototyping stage is where you want to discover it - before production is ramped up - so it can be identified and eliminated. The problem with the software / Lean-waste analogy is that most code development is more like the prototyping stage than the manufacturing stage. You don’t write code once, then create the exact same code over and over again.

Six Sigma is a collection of tools for problem solving and quality improvement. Central to it’s theme is DMAIC - define, measure, analyze, improve, and control, and it relies heavily on statistical analysis. While it has been applied successfully to service based organizations where the procedures are very standardized, such as healthcare, it’s bit of a stretch to apply it to software development.

How to Leave a Voice Mail Message

Like a lot of people, I rely on voice mail a lot. Most of my sales are handled via online transactions with no assistance on my part. Most of my support issues are handled via email. But with a global customer base, I can’t always be there to answer the phone when a customer does call for sales or support issues.

The problem is, a lot of people think that leaving their phone number is a speed race. Strangely, the worst offenders are sales people.  I’m guilty of it too. You leave a message in nice clear English, but when it comes to the phone number it, you spit it out as fast as you can: 503-201-ze-za-zo-ze. Huh?

The worst thing is, most people wait until the end of the message to leave the number. So if you miss it the first time, you need to re-listen to the entire message to catch it. I’ve had several messages like this in the last month, and no matter how many times I’ve replayed them, I still can’t make out the number.

I’m not trying to be rude, because I appreciate getting calls from customers. I really do want to call people back, and, like I said above, I’ve been guilty of this too. To resolve this, I propose a standard format for leaving voice mail messages:

“Hi, my name is {YOUR NAME}”
“I’m with {YOUR COMPANY / ORGANIZATION}” (Optional)
“My phone number is {YOUR NUMBER}.” (S-L-O-W-L-Y and clearly!)
“My email address is {YOUR EMAIL}” (optional but recommended)
{MESSAGE}
“Again that’s {YOUR NAME} at {YOUR NUMBER} or {YOUR EMAIL}”

Now, if you leave someone a message, they get the most important information - your name and number and email - at the top of the voice mail. If they miss it the first time, it’s repeated at the end. And if they still didn’t get it, they don’t need to repeat the whole message - just the first part.

How to Improve Job Satisfaction with the 10 Percent Rule

Do you ever feel like you’re not in control of your own workday? A lot of people do. They get to work and have little say over how to spend their time. Sure, they can prioritize projects and tasks, but overall the projects and tasks are set by external forces. They don’t get to pick their own projects and their own tasks.I used to have a job like that. The management wasn’t tyrannical, but there was so much work to be done. Plus we were so understaffed that there wasn’t much wiggle room in my schedule. I felt bogged down and unhappy.

That’s when I came up with The 10% Rule.

The 10% Rule is simple. To stay sane, allocate 10% of your time to secret pet projects. That 10% needs to come from your time - lunches, evenings, and weekends - not your employer’s. Most people have a ton of work to do, so skimming 10% of the top to work on pet projects is a bad idea for multiple reasons.

More importantly, doing little projects on the side gives you control. Control matters. Even if you’re the most diligent GTD or 7 Habits practitioner, most of your workday is spent doing tasks that are driven by outside forces. When you do secret pet projects, they are driven by you. You control a piece of your destiny. You get a greater sense of accomplishment and satisfaction.

The most rewarding projects of my career were secret projects that I had a hunch about. I did them in my own time, told no one about them, and only publicized them if they were successful. I didn’t knock it out of the park on all of them, but I had a fair number of successes. And most importantly, I was happier.

So if you’re feeling stuck in a rut, try The 10% Rule. You’ll feel so much better after you take back a little control over your work.

Wii Would Like To Flowchart

My oh so clever 11 year-old son Nathan gave me this flowchart. I gotta hand it to him. The kid’s tenacious.

Wii Flowchart

(Click to enlarge) 

The Best and Worst of the Web

Best of the Web

Every time I see the Culinate site, three things happen. First, I wish my site looked that good. Second, I wish sold food instead of software, because even with the best site design in the world, you can’t match the richness and warmth that beautiful food conveys. Third, I wish I could cook. Time for yet another PB&J lunch.

Worst of the Web

One of the funniest sites I’ve come across in a while satirizes over-hyped sales pages. Check it out for a good laugh.

PopBox beats Lightbox

When I loaded up new screenshots a few weeks back, I decided to replace Lightbox 2 with John Reid’s PopBox. The more I see Lightbox, the more I find it annoying. It just seems slow. And no matter how many times I use it, I still hit the back button occasionally.

It turns out I’m not the only one. I looked at my web stats for the past two weeks and the number of page views matches the visits almost exactly. Looking at several previous two-week spans, page views are about 5% higher than visits. So the conclusion I came to is that visitors are hitting the back button, realizing their mistake, then returning to the page again.

So if you’re using Lightbox or Lightbox 2, check out PopBox. It’s fast, intuitive, and the script weights in at half the combined file size of Lightbox 2 and its dependencies.

Numbers That Boggle Your Mind

I was recycling some old magazines today, and I accidentally dropped the May issue of Quality Digest on the floor. It fell open to a page I had put a hard crease in. I looked at the page again and it still makes me go “Wow!”

It’s just a single sentence from the Statistically Speaking section:

“There are between 15,000 and 17,000 components in the average automobile made in the United States. In North America alone, 70,000 cars are delivered every business day.”

For those of you without a calculator, that’s over 1 billion components. Every day. Just in cars. In North America alone.

When I think about how that scales to the entire global economy for all products and services, it’s like trying to picture infinity.

Seven Motivational Techniques for MicroISV’s

Someone on the Business of Software forum asked how others motivate themselves to get working. This is a timely question. The jump from FlowBreeze 1.x to FlowBreeze 2.0 has been a long struggle. The code base has grown 3X and of course that doesn’t include the re-writes and thrown away code. Facing burn out in the final stretch, I’m pulling out every technique I can think of to get 2.0 out the door.

Below are the techniques I’ve been using. They don’t come from some motivational or time management book, but I’ve found they work for me. YMMV:

  1. ID all the mundane TODO’s that don’t require much thinking. Do those when you’re tired or lazy.
  2. Start writing your help file. It’s never too early to begin, and if you put it off until the end you’ll shortchange the effort. Some people might fit this under #1 above, but if you think writing a help file doesn’t require much thinking then you’re either a naturally good tech writer or your user documentation sucks.
  3. Edge into the periphery of tough problems. Pseudo code, helper methods, data structures supporting the tough problem - whatever it takes. Eventually they’ll suck you in, and you’ll forget that you were tired.
  4. Print out your existing code, sit in a comfy chair and review it. Make notes in the margins. It’s productive, you’ll find bugs or inefficiencies, and often you’ll spot something that motivates you to take immediate action.
  5. Back to the comfy chair. Make a list of all your TODO’s and break them into the simplest possible tasks. Find the easiest one and tell yourself you can’t take a break (or go to bed) until you do that one little thing. Typically, you’ll finish it then knock out a few more. Often, you’ll knock out a lot more.
  6. Use the technique Jerry Seinfeld motivated himself with to write new stand-up material. Keep a calendar and tell yourself that everyday you need to do at least one thing on your application. When you’ve done one thing, you can place an X on the calendar. The goal then becomes never to break the chain of X’s.
  7. Sit down and work. Sometimes the “just do it” thing really is the best motivator.

The Next Great Link Building Scam

When Google rose to the top of the search engine food chain, they created several commodities. One of them was backlinks. Google’s algorithm places a premium on the number of incoming links to a site. The more incoming links a site has, the higher the site will rank. The higher it ranks, the more traffic it will get. The more traffic it gets, the more money it will make.

And so the link commodity was born. There are link building services, link brokers, link traders, social bookmarking services, directory submissions, and assorted other operations built around this new cottage industry. One of them, Text-Link-Ads, even has a little calculator to show how much you can earn by selling links on your site.

Of course, Google doesn’t treat all links as equal. Links from authority domains or on-topic domains weigh more than links from Joe Blow’s PR1 blog. But that doesn’t stop the link scammers. They’ve even developed nice little charts showing how to gain high page rank from masses of low ranking incoming links. And even if page rank doesn’t directly translate to high search engine result positions (SERP’s), that doesn’t stop people from buying and selling scammy links.

Back in college, I knew a couple of guys who would subscribe to magazines under the name Mr. William M. Later. Then they’d get 2-3 months of free subscriptions to Playboy, Sports Illustrated, Rolling Stone, etc. until the magazines wised up and realized that no one named William M. Later (aka, Bill Me Later) was going to pay up.

I was reminded of this when Andy Brice, creator of the legitimate 5-Cow ranked table planning software Perfect Table Plan, wrote a piece about the fake awards granted by some download sites. He created a fake piece of software called awardmestars (that’s AwardMeStars for the camel-case impaired). This software could have been written by William M. Later because it does nothing. It’s a text file with the extension changed to .exe and the product description even says that “this product does nothing.” And yet, many of the cheesier software download sites still awarded him 5 Stars.

Now that Andy’s article is making the rounds, I’m positive that more than a few link scammers will pick up on this. All they need is a text editor and a copy of Robosoft, and soon they will have hundreds of back links from low rent software directories. And I hope they do. If these software directories start getting bombarded with fake submissions, maybe they’ll actually clean up their act and stop accepting all kinds of crappy software and awarding these rankings worth less than a Commemorative Lincoln Medallion.

Excel vs. Google Spreadsheets - The Ecosystem Factor

In my last post I kind of took a pot shot at Microsoft’s focus on SharePoint Services, insinuating that the internal push was driven in part by competition from Google Docs and Spreadsheets. But I don’t think that Microsoft really has much to worry about. Yeah, Google Spreadsheets are still kind of kludgey. But I’m sure they’ll improve, so that’s not the reason I say this.

The thing they’re lacking is an ecosystem like Microsoft’s. Microsoft’s applications not only allow them to make money, but they allow others to leverage off their systems to make money as well. Nowhere is that more evident than Excel. I had no idea how big the Excel ecosystem was until I developed a commercial add-in for it. But if you read the Google Docs and Spreadsheets terms of service, you’ll see that Google just doesn’t get it. Here’s an excerpt:

“Subject to the Terms, Google grants you a personal, non-transferable and non-exclusive right and license to use the object code of its Software; provided that you do not (and do not allow any third party to) copy, modify, create a derivative work of, … unless such activity is expressly permitted or required by law or has been expressly authorized by Google in writing.”

Pretty scary words for an OSCON sponsor. To be fair, I don’t think many of the OSCON sponsors truly open their source code to customers, but that’s another topic. Regardless, as a developer I stay away from things that requires me to get express permission (or a lawyer) before I can touch the keyboard.

If Google really wants to challenge Microsoft, they need to provide terms of service that allow 3rd party developers to leverage off of Google Spreadsheets. And make money doing so. There’s a lot more being done with Excel then a simple grid with graphs. I’ve seen some first class database reporting tools, dashboards, financial analysis packs, statistical packages, and many other add-ins developed in Excel. These are the sorts of things that tie users to a product.

Microsoft’s web based spreadsheet is comprised of three parts - Excel Calculation Services (the engine), Excel Web Access (the browser interface), and Excel Web Services (the API). The fact that they brand the whole package as “Excel Services” shows that they “get” it. Maybe someday, Google Spreadsheets will have a friendly license, like Google Gears does. But until they do, I just don’t think they’ll never be able to fully challenge Excel.