Tag: 5S

Lean Programming – 5S for Code

I enjoy coding and learned many programming languages over the years. As diverse as these languages are, there is one trait that is consistent among them all: every instruction matters.

The principles of Lean, defined as “the pursuit of perfection to achieve excellence through the continual elimination of waste,” can also be applied to programming. The seven forms of waste are:

  • Defects: Bugs in our Code. Avoid using clever tricks or complicated code where a simple statement or expression is just as effective.
  • Overproduction: Features or functions that are not required,
  • Waiting: Synchronous versus asynchronous processes, load times, code sequencing, multi-core threading, distributed networking,
  • Inventory: Redundant Code,
  • Motion: Inefficient algorithms, poorly designed UI,
  • Over-processing: Unnecessary functions or capabilities. Deliver the solution requested per the scope of the application, no more, no less.
  • Transport: Movement of resources or data. Consider in memory processes versus disk intensive transactions, or client side versus server side data processing.

There is a notable difference between “sloppy programming” and clean code written by someone who knows better. Have you ever spent hours attempting to decipher someone’s code, or even your own? A clean, readable, and well documented file is much easier to work with and, more importantly, understandable.

5S Your Code

We can minimize some forms of waste by using a method known as 5S. IDE’s such as those offered by JetBrains, allow us to create a workspace for a given application, but we can extend this concept to each file or script too.

  1. Sort (Seiri): Eliminate all unnecessary tools, functions, comments, and resources. Choose meaningful file and variable names to minimize tedious and redundant comments in your Code.
  2. Set in Order (Seiton): Use an effective directory management strategy to organize all your files for quick and easy reference. Deploy an effective “Model, View, Controller” strategy when developing your applications. Restrict your functions to a single purpose to better enable re-usability.
  3. Shine (Seiso): Set and follow standardized coding guidelines and naming conventions. Deploy rigorous version control standards.
  4. Standardize (Seiketsu): Publish coding guidelines and maintain your Code accordingly.
  5. Sustain (Shitsuke): Cascade requirements and communicate expectations throughout the organization. Continually review and update the guidelines accordingly.

5S is one of the fundamental elements of Kaizen and, when practiced regularly, helps to minimize the seven wastes, allowing you to work effectively and efficiently.

Until Next Time – STAY lean!

Related Articles and Resources

What is 5S? – kanbanize.com

Advertisements

Lean, OEE, and How to beat the “Law of Diminishing Returns”

Are your lean initiatives falling prey to the Law of Diminishing Returns?  Waning returns may soon be followed by apathy as the “new” initiative gets old.  For those who have not studied economics or are not familiar with the term, it is defined by Wikepedia as follows:

The law states “that we will get less and less extra output when we add additional doses of an input while holding other inputs fixed. In other words, the marginal product of each unit of input will decline as the amount of that input increases holding all other inputs constant.

In simple terms, continued application of time and effort to improve a process will eventually yield reduced or smaller returns.  The low hanging fruit that once was easy to see and resolve has all but disappeared.  Some companies would claim that they have finally “arrived”.  We contend that these same companies have simply hit their first plateau.

Methods and Objectives

Is it inevitable that a process has been refined to the point where additional investment can no longer be justified financially?  The short answer is “Yes and No”.  As the Olympics are well under way, we are quick to observe the fractions of seconds that may be shaved from current world records.  If you’re going for Olympic Gold, you will need every advancement or enhancement that technology has to offer to gain the competitive edge.  These advances in technology are refinements for existing processes that are governed by strict rules.  Clearly, there are much faster ways to get from point A to point B.  However, the objective of the Olympics is to demonstrate how these feats can be accomplished through the physical skills and abilities of the athletes.

In business our objectives are defined differently.  We want to provide (and our customers expect) the highest quality products at the lowest cost delivered in the shortest amount of time.  How we do that is up to us.  Lean initiatives and tools such as overall equipment effectiveness (OEE) can help us to refine current processes but are they enough to stimulate the development of new products and processes?  Or, are they limited to simply help us to recognize when optimum levels have been achieved?

Radical change versus refinement

Objectives are used to determine and align the methods that are used to achieve a successful outcome.  This is certainly the case in the automotive industry as environmental concerns and availability of non-renewable resources, specifically oil and gas, continue to gain global attention and focus.  The objectives of our “transportation” systems are being redefined almost dynamically as new technologies are beginning to emerge.  At some point, the automotive industry leaders must have realized that continuing to refine existing technologies simply will not satisfy future expectations.  With this realization it is now inevitable that a radical powertrain technology change is required.  Hybrid vehicles continue to evolve and electric cars are not too far behind.

How to Beat the Law of Diminishing Returns

Overcoming the law of diminishing returns requires another look at the vision, goals, and objectives of the company and to develop a new, different, or fresh perspective on what it is you are trying to achieve.  The lean initiatives introduced by Toyota, Walmart, Southwest and many others were driven by the need to find a competitive edge.  They recognized that they couldn’t simply be a “me too” company to gain the recognition and successes they now enjoy.

The question you may want to ask yourself and your team is, “If we started from scratch today, is this the result we would be looking for?”  The answer should be a unanimous and resounding “NO”.  Get out your whiteboard, pens, paper, and start writing down what you would be doing differently.  In other words, it’s time to re-energize the team and refocus your goals and objectives.  Vision and mission statements are not tombstones for the living.  5S these documents and take the time to re-invigorate your team.

Turning a company around may require some new radical changes and we need to be mindful of the new upstarts with the latest and greatest technology.  They may have an edge that we have may just haven’t taken the time to consider.  We are not suggesting that you need to replace all the equipment in your plant in order to compete.  Proven technologies have their place in industry and the competitive pricing isn’t always about speed.  The question you may need to consider is, “Can our technology be used to produce different products that have been traditionally manufactured using other methods?”

While many companies pursue a growth strategy based on their current product offerings and derivatives, we would strongly suggest that manufacturers consider a growth strategy based on their process technology offerings.  What else can we make with process or machine XYZ?  We anticipate that manufacturing sectors will soon start to blend as manufacturers pursue products beyond the scope of their current industry applications.

Be the Leader

Leading companies create and define the environment where their products and services will thrive.  Apple’s “iProducts” have redefined how electronics are used in everyday life.  As these tools are developed and evolve, so too can the systems and processes used throughout manufacturing.  The collective human mind is forever considering the possibilities of the next generation of products or services.

There was a time when manned space flight and walking on the moon were considered unlikely probabilities.  Today we find ourselves discovering and considering galaxies beyond our own and we don’t give it a second thought.  How far can we go and how do we get there?  The answer to that question is …

Until Next Time – STAY lean!

5S Your Software (Computer)

We recently discussed how software skills of people in your company can impact their effectiveness and efficiency.  One of our suggestions was to provide additional training and resources to allow staff to upgrade their skill levels.

We should also mention that upgrading to the latest software release may also improve their performance.  Microsoft recently announced upgrades to their Office product line so now may be the time to “5S” your computer and install the latest software.

The Learning Curve

When the Office 2007 upgrade was introduced, many of the software interfaces that we were accustomed to were changed.  The intention of changing this interface was to make some of the more “advanced” features available to the average user.

While these intentions are admirable, we have found that many companies didn’t upgrade.  Compatibility concerns will soon become an issue as software developers desire to take advantage of the newly introduced functionality and capabilities of the latest release.

When we made the switch to 2007, admittedly there was a bit of learning curve.  The new functionality introduced by the new user interface seemed a little awkward at first, however, the effort was more than worth our time.

Although we did lose some perceived functionality in Excel, specifically with our custom menus, the newly added features have been well worth the effort to transition to the next generation of software.  This added functionality is evident by the many Function Specific books that have been written on topic such as Charting, Pivot Tables, and VBA.

Microsoft is Upgrading Again

We recently heard that Microsoft has announced yet another upgrade of the Office products to be released in the near future (if not already).  It can be increasingly difficult for software developers to support multiple versions of previous software releases.

Visual Basic for Application (VBA) programmers are more than aware that even Microsoft’s Macro Recorder does not capture all the functionality to support the features available in the 2007 Office software.

Although Excel has evolved considerably over a relatively short time, we are still surprised to find Excel 1997, 2000, 2002, and 2003 being used like they were released yesterday.

5S Your Software

Recognizing clutter in our physical environment is easy.  We don’t do a very good job when it comes to our “Digital” work space.  The Digital Dump doesn’t exist.  Even deleted files are sent to the Recycle Bin.  Increased storage capacities also make it easy to add new software without having to remove prior versions.

Retro-Compatibility sacrifices can usually be resolved in some form of work around that results in someone losing more of their valuable time.  We also carry multiple versions of Microsoft’s Office software to assure continued compatibility with prior releases and at times sacrifice features and functionality accordingly.

Sooner or later, compatibility will be compromised.  Few have ever performed a Software 5S, this may have just been one of our first times discussing it as well.

Until Next Time – STAY Lean!