Effective Strategies to Simplify

Having read my articles on vSphere APIs and software designs, you may feel a bit bored. Today I will write something different and generic: how to simplify things.

By nature, the world is complicated as it should be, and will remain so or even more forever. Simplification does not change that fact, but your perception about the world. Unless you are writing research papers, you want to simplify things you work on.

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

Simplification helps you to understand things better, thus perform better. It normally leads to a limited yet useful view or perspective of the target. The important thing is to understand what matters and only abstract out these important elements.

Effective simplification starts with good understanding of your target. Equally important is good understanding of the objective, which decides what’s to abstract in and out.

I know it’s a bit abstract. Let’s get concrete. Here are some common guidelines and techniques to simplify, regardless your domains (I am sure you can use all of them in software development). You may however see some are used more than others from domain to domain.

  • Deleting. Just remove whatever is no longer in use. This is really low hanging fruits, but highly effective for you to get away from unnecessary distractions.
  • Categorizing. This is mainly for the concepts which are divided based on certain criteria/rules, so that you can easily find association and differences of them.
  • Grouping. Entities are grouped together based on criteria. Once you groups, you may apply operations on all entities in a group in a batch.
  • Tagging. Tags are effective ways to identify key properties of a concept or entity. They help better categorize or group things. Tagging is more flexible than grouping in that you can have as many tags as you like.
  • Abstraction. Abstract out anything that is not contributing to your objectives, so that you have a limited view or perspective that better illustrates the system.
  • Consolidation. You can combine multiple entities or instances together to reduce the effort to manage or maintain them individually.
  • Automation. This is opposite to manual process which takes more time and not easily repeatable. It also hides the details of getting things done.
  • Integration. It combines different components into one system therefore reduce the effort to work with them. Just image a single pane of glass. Note that it’s different from grouping in that grouping is for same types of elements but integration is for different types of elements.
  • Visualization. Visualizing data in a chart or diagram helps highlight things that matter the most, and makes it easier for the readers to find patterns.

This entry was posted in Others and tagged , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.