Keep Simulation Simple

I mentioned a while back that I am a Boy Scout. OK, maybe my boyhood days are long gone, but I still consider myself to be a Scout. I learned many lessons as a Scout; lessons that continue to serve me well today. One of those is KIS or Keep It Simple.

I remember learning primitive camping skills. Many novice campers would bring too much gear, requiring hauling and storing it, and just in general complicating camp life. The simple (KIS) approach is to bring only what you absolutely need. Many novice campers would also select poor camp sites and then spend time dealing with dampness, bugs, discomfort, safety issues and more. The simple approach is to avoid those issues by selecting a good camp site. Then in both cases, you spend all that saved time enjoying the camp and doing what you came to do. KIS pays off.

KIS applies equally well to many aspects of simulation. When things go wrong, it can often be traced back to too much complexity.

  • How many people are subjected to overly complex management procedures?
  • Are the procedures used for planning and tracking your work making the most effective use of everyone’s time?
  • Is every aspect of your work done effectively?
  • The basic concept of KIS is to do just enough to do it well and no more! Does this mean you should not do your best? No. But it does mean that you should segment your work into small phases and KIS on each phase.

    In model-building for example, let’s say a stakeholder expresses desire for a detailed model for the 10 areas of his system. One common approach is to go off and create exactly what the stakeholder asked for. Unfortunately, this will probably be wrong. A better approach is to pick one representative area, and do a very high-level model of that one area. Then review that model and results with the stakeholder. In most cases, you will both learn a lot and you may jointly decide on a different approach. Then perhaps do a detailed model of that same area or perhaps extend that high-level model to a few more areas. Again you will probably learn something that will change your approach or objectives. For each phase, you want to do the simplest thing (KIS) that will meet the objectives for that phase. In this way, you will minimize any wasted effort and come much more quickly to exactly what the stakeholder needs.

    Let’s consider model-building at a much more detailed level. A common mistake by novices is to build a large section of a model (perhaps even an entire system) all at once. And then you hit “Go” and it does not work. Why doesn’t it work? There are perhaps a thousand possible reasons to investigate. Even worse, there are most likely dozens of small or large problems, each potentially obscuring the others. Verifying and validating such a model is a daunting task. A much better approach is to start by selecting a very small (KIS) portion of the model to build and verify that it works. Then repeat. When a problem is discovered in any new section, it is generally easy to find it because you know it is a result of that latest section just added. Again, “Keep It Simple”.

    Remember, Keep It Simple. Work effectively and exceed your stakeholder expectations one simple step at a time.

    Dave Sturrock
    VP Products – Simio LLC

    Missing the Date – Arriving Late to the Party

    How many times have you shown up late to an event? Perhaps something came up at the last minute. Perhaps you encountered road construction. Or maybe you just failed to think ahead. Sometimes it all works out. But sometimes you miss something important – like your sister’s wedding vows or your child’s big performance.

    In an earlier article, we talked about the importance of project planning and management. Although there are many aspects to success, let’s concentrate on the completion date for the next few minutes. A project that produces results after the decision is made has little value. And a project running over budget due to lateness may be cancelled before completion. Success requires appropriate attention to completion dates.

    Late projects are a chronic problem in all types of software development. Let’s start by exploring some of the causes of lateness.

    Expectations – Planning the Journey

    In software development the constraints of Date, Resources, Features, and Quality are well known. You can specify or mandate any one, two, or possibly even three of those factors, but if you try to mandate all four, you will almost certainly fail. For example, I can say I want all features completed with high quality, in 90 days, but then I have to be prepared to allocate resources as necessary. Or if I want it done with a maximum of 3 people, then I must be prepared to slide the date or other constraints. These same aspects apply to most simulation projects – perhaps substituting the word Comprehensiveness for Features and the phrase Validation/ Verification for Quality.

    Since many projects start off in an urgent, budget-constrained status, management often tries to mandate all four constraints. But can I really specify all four constraints (e.g. all features completed with high quality, in 90 days, with a maximum of 3 people)? NO – not unless I have started with a very loose schedule (unlikely with an urgent project). I have generally found that attempting to do so will just mean that I will have no idea, until near the end, by how much each of the constraints will be missed. Note I said “by how much”, not “if”. As the anticipation of missing the date approaches, the pressure will increase at all levels to “cut corners”. Then, to save the viability of the project there is often a last-minute attempt to add resources to “save the date”, but that attempt is usually too late to have much impact.

    Road Construction Next Million Miles

    Assuming that we have reasonable expectations up front, what are some of the other problems that can hijack the schedule?

    Objectives – Poor project objectives, as we discussed last week, is a huge potential problem. If you start with a missing or inadequate functional specification and a poor understanding of project, it is unlikely that you can develop a realistic project plan.

    Optimism – I like to be guided by Murphy’s adage “Anything that can go wrong, will.” Many people think that it is safe to base their project estimates on “reasonable” effort estimates. But “reasonable” often becomes highly optimistic when adjusted by real world situations.

    Stakeholder Involvement – First of all, you need to know who your “customers” are. If you are working for a large organization it might be difficult to determine who all the people are who have a stake in your project. If you are a consultant, this may be a bit easier. But after you identify them, the stakeholders must be involved. If they are not involved then you may be missing the important resources and information, and your project priority may suffer.

    Skills – We are all smart, resourceful people. We all like to believe that we know, or can quickly learn, whatever we need to know to complete the project. But quite often there are many things we don’t know. And even more dangerous, there are things that we don’t even know that we don’t know.

    Of course there are many other areas where you could go wrong – I’ll talk about them in future blogs. For now, maybe give some thought to these concepts and in a future blog we will talk about dealing with this first set of pitfalls.

    Happy modeling!

    Dave Sturrock
    VP Products – Simio LLC