Improving product quality the open source way |

Improving product quality the open source way

Open and closed requirements, design, and delivery
Image by :

Subscribe now

Get the highlights in your inbox every week.

If we look at the differences between closed and open source software development processes, we can identify aspects that can be generalized and applied to other industries and domains.

Open source development—that combination of transparency, iterative development with early-and-often releases, and open participation—leads to higher quality products. When we're talking about software, people tend to think of quality in terms of bugs. But this is only part of the story of open development.

Defects can be anywhere within the requirements, design, implementation, or delivery processes, and we need to consider all of these areas to assess the full quality picture.

  • Requirements defects result in a product that does not meet the needs of the market or misses significant opportunities.
  • Design defects result in a product that tries, but fails, to meet the users' needs.
  • Implementation defects result in a product that has lower customer satisfaction.
  • Delivery defects result in a product that no one hears about or can get hold of.

The earlier these defects arise in the process, and the longer they are unresolved, the more they cost to fix. When you compound defects in requirements, design, and implementation, the result is an expensive mess. (Windows Vista, anyone?)

A closer look at how this works inside the world of software development will yield larger principles to be applied to any project that aspires to use an open development model.

Under the closed model

Sales reps and account reps relay requirements to product managers, who then describe the required features to software engineers, who then design and implement the features and pass them to quality engineers, who try to test the features and report bugs that need fixing. After all this has happened, customers eventually receive the software. The lack of transparency means defects in the requirements and design don’t get spotted until after the product has been implemented and delivered. Another major problem is that, typically, the quality engineers don’t have any personal use for the software, so it is hard for them to imagine the different use cases that real users will have.

The final product suffers from the lack of connection between the software engineers and the software users.

Under the open model

A transparent requirements process includes consumers adding their own requirements and perhaps open voting to determine the most popular features. An open design process means consumers can ask questions about the design to validate it against their use case. Early-and-often releases during implementation mean that consumers can help find defects, which can be fixed early on. Fixing these defects during early development means features built later are not layered upon resolved defects from the earlier development.

Moving beyond software

So how do we apply these open principles outside of the software industry? Following are some good examples (and one bad one).

Open requirements

Some companies manage to meet unanticipated needs by enabling consumers to create new products for them to sell.

Amazon: As an independent author, Amazon allows you to sell your own books through their service. My mother wrote a book about British birth and death certificates. She uses a print shop in her village, and through Amazon UK she sells to a global market. Amazon sends her the customers' addresses to mail her books to, and a check to cash, with Amazon’s commission already deducted.

Cafe Press: Create a cool slogan or logo, then upload it to Cafe Press and sell it on a wide array items. The designer needs almost no investment other than time and talent. Cafe Press gets an huge product set, over 250 million unique products—and a portion of each sale.

There are services with similar models for bands, musicians, photographers...

Open design

Lego: Using a free CAD design tool, Digital Designer, Lego customers can design new models, then order that kit from Lego. The creator can also upload the design to Lego’s Design by Me, so that other people can build it. The creator gets satisfaction and kudos, while Lego gets all the money. This builds community and revenue.

Nike: Nike ID lets you customize your own sports shoes. By allowing customization of the product appearance, consumers can create a unique-looking shoe that very few, if any, other people have. The Air Jordan basketball shoe has so many colors and customizable parts that even if every person on Earth bought five pairs, every pair could still be unique. Nike could take this further by letting people name their designs and allow voting for the best.

Local Motors: An open car company, Local Motors holds competitions for the concept and the design of their cars with open voting. Then they hold more competitions for the interior design, parts designs, exterior skins, and accessories. Then they put the vehicle into production. Their first is the Rally Fighter. They also encourage owners to participate in the manufacturing of their own cars. Their vision is to have small manufacturing facilities in most cities, hence their name. The effort put in by the contributors is stunning. The designs are awesome and it's a highly supportive community.

Open delivery

Transparency and participation can also be used to help spread a message or engage consumers.

T-Mobile, UK: T-Mobile UK started with a successful advert where they staged a flash mob dance in London’s Liverpool St Station, an idea they must have borrowed from a Belgian radio station. Then they broadcast an open invitation to be part of their next event. Over 13,000 people showed up to find out the event was mass-karaoke. The result is really quite touching if you watch it all. It's not often you can say that about a commercial.

Mountain Dew: Mountain Dew's Dewmocracy was an open voting system for its next flavor. On their web sites you can see how the voting went down to the county level.

Kraft, Australia: An example of how to do it badly. When coming out with a new variant of their popular Vegemite spread, they had a naming competition. Fifty thousand people submitted entries. Unfortunately the winner was picked by a closed panel of "experts." They selected "iSnack 2.0" as the name, thinking it was edgy and cool. Public reaction was swift and very uncool. Within days Kraft announced they were revoking the name and opened a new poll to allow the public to choose the new name. The selected name was "Vegemite Cheesybite."

Both the T-Mobile and Kraft campaigns involved large numbers of people participating of their own free will. The difference is that everyone participating in the T-Mobile event was part of the final product; if only 10 people showed up the result would have been very lame. In the Kraft case the closed selection panel proved to be the flawed element.

In all of these examples, there are similarities and differences. Some cases require a very flexible manufacturing process, while in others the inventory is electronic. Sometimes the individual contributors do their own manufacturing. In some cases the participants are highly skilled; while for others, little or no skills are required. But in all these cases (well, except the unfortunate Aussie Kraft example) the companies provide more choices, better products, or a better message by enabling open participation of individuals or communities.

About the author

James Dixon - As "Chief Geek" (CTO) at Pentaho, James Dixon is responsible for Pentaho's architecture and technology roadmap. James has over 15 years of professional experience in software architecture, development and systems consulting. Prior to Pentaho, James held key technical roles at AppSource Corporation (acquired by Arbor Software which later merged into Hyperion Solutions) and Keyola (acquired by Lawson Software). Earlier in his career, James was a technology consultant working with large and small...