Tag: planning

  • Effective Planning For The New Year

    Effective Planning For The New Year

    Ah yes, another new year has come upon us. I have spent a lot of time on our mentoring site (https://develpreneur.com) talking about the value of steady progress and intention as we strive to meet goals. Although there is much to be said about effective planning and review on a regular basis, the beginning of a year often seems the most comfortable starting point.

    Invest Time For Effective Planning

    The first thing that is important and natural to do at the beginning of a year if planning. It is one thing to list out some goals. As you know, it is quite another to create a plan for achieving those same goals. Nevertheless, this is a necessary and healthy process. When we take the steps to pull goals out of the clouds and ground them in reality, our path becomes clearer and those milestones have a greater meaning. This can be lost in corporate planning sessions where big is the word of the day. Thus, we should follow our “what” with a realistic “how.”

    For example, we can set a goal to increase our customer base by fifty percent this year. That is admirable and looks good on paper. However, how are we going to achieve that? There will likely need to be quarterly goals that will keep us on track as well as service, product, and resource adjustments that come with such a goal. Once we look at the reality of achieving that goal, it may be almost out of reach.

    Grow As A Body

    That is a challenge in growing a business. There is almost never only one or two factors in growth. A business grows as a whole. It is like a human body. You would have a tough time if your legs grew from birth to adult size before the other parts of the body did. Our professional goals are often similar. We have to grow in multiple areas in concert. It does not make sense to have an incredible product but no sales or marketing resources. Likewise, a world-class marketing team is going to struggle in selling a non-existent (or highly inferior) product.

    Steady Steps Can Carry You Great Distances

    These challenges are where effective planning pays a solid dividend. Those impressive goals have a number of prerequisites we will need to tackle to achieve success. Our planning will help us validate our plan and plot a course that seems much more realistic. This is the idea of eating an elephant a bite at a time. When we break down the big goals into the smaller steps we can break them down further into weekly or even daily steps and milestones. This approach avoids a feeling of some sort of death march and gives us regular “wins” to keep a sense of progress throughout the project It is a way of thinking that makes many software teams choose an Agile approach. However, this works for much more than IT projects alone.

  • Catching Up On Documentation and Overdue Tasks During a Lull

    Catching Up On Documentation and Overdue Tasks During a Lull

    Summer can be a frustrating time.  Much like the end of the year, there are a lot of vacations to work around, and your team varies from week to week.  That makes this an excellent time to take your vacation as well.  However, when you find yourself at work with limited staff or tasks waiting for people to return, there is an opportunity for catching up.  Those secondary and less important tasks that never seem to get done are excellent targets during these slow times.

    Getting Ahead

    One of the areas where it is easy to get behind is planning.  You know the Fall and wrap up of the year will be busy.  It almost always is.  Thus, this is a perfect time to look ahead to those hectic months and search for tasks you can start or even complete in this slow time.  It can be a time to lay down plans for the push and create documentation outlines where possible.  The work may not be such that it can be completed and off your plate.  However, any steps you take now will be less time to spend during that rush.  This is also a time to set things in motion if you are going to need vendor buy-in, customer sign-offs, or other administrative tasks that can often drag out the completion of a project.

    Catching Up On Overdue Tasks

    Planning takes some thought and forecasting.  Overdue tasks do not suffer from these restrictions.  You know what needs to be done.  Many of these tasks are the kind that languishes on your to-do list for weeks or months.  Why not remove those headaches and stress by knocking out some of your “productivity debt?”  When you take action your days will move along quickly and you will be thankful in the months ahead that you did.

  • Incremental vs. All-in Change and Enhancement Strategies

    Incremental vs. All-in Change and Enhancement Strategies

    Sooner or later we have to consider how to change our systems.  This situation can come from growth in business, changes in technology (or requirements), or systems that have aged poorly.  When we reach the point of deciding on a move we often have to decide on the incremental vs. all-in approach to achieve our goal.  There are times when one choice or the other is obvious.  However, I have found that we almost always have both of these options available.  So let’s look at the risks and rewards commonly available to each decision.

    An Incremental Approach

    I find this option to be the most popular.  In fact, you might be able to rattle off some rewards and a few risks faster than it takes to read this article.  Nevertheless, it is helpful to go through the exercise and maybe a few items from either list will be new to your experience.

    Pros

    • The Risk is Reduced: Less change and more options to bail out or adapt.
    • Less Time Before Starting: Smaller changes can allow for less upfront planning.
    • Time To Bake In: Users have small changes to learn rather than large ones.
    • Less to Consider: Small scope of changes means less to worry about with each change cycle.
    • Easier to Budget: Tighter range of change and time frames make it easier to budget for changes and cash flow the project.
    • Avoid Re-inventing the Wheel: This approach allows pieces of the original system to survive and remain untouched.  Thus, business rules and proven validations do not have to be re-created.

    Cons

    • Total Cost is Higher: Overhead for each cycle adds up.  Therefore, more testing, deployment, and other phases will be repeated for each incremental change.
    • Longer Schedule: Much like the above item, the time to be done with changes is going to further in the future with an incremental approach.
    • Legacy Decisions/Constraints of the System: An incremental approach will always be tied to the original system in some way.  It does not allow for a fresh start or utterly new thinking.
    • System Stability: Regular change can make the system appear unstable to users and might be the reality as repeated touching of the core system offers opportunities for simple mistakes and human error to degrade the system.
    • Integrate Changes: No system is static.  Changes are required for a variety of reasons, and an incremental approach does not allow us to ignore change requests.  Extra effort is needed to manage change requirements and fixes along with the new/improved features being implemented.

    An All-In Approach

    This is a more courageous decision in almost every case.  In fact, this approach often results (directly or indirectly) as one that makes or breaks a job (or career).  The rewards are higher when this is correctly executed as there is more freedom to make huge strides.  That said, there is a lot to worry about as well.  Here are some of the pros and cons of this decision.

    Pros

    • Total Cost is Lower: A significant change requires a lot of testing and deployment work.  However, it amounts to fewer cycles and general overhead than an incremental approach.
    • Freedom to Innovate: The lack of ties to a legacy system allows us to learn from past successes while avoiding past mistakes. Substantial and meaningful changes can be made in this effort.
    • Shorter Time to Completion: There is not a need to run in serial as is needed in the incremental approach.  Resources can be poured into the all-in solution.  Thus, progress can be made in parallel with the current systems continuing to run.
    • More Stability For Users: This approach will result in a significant change when it goes live.  However, other than that point in time, the users will experience a stable and reliable system.
    • Less Elegant Utilities: A one-time step of significant change means the tools and utilities to do so only need to work once.  This is the opposite of the design required to make the same tools work when you know there will be multiple, smaller, executions of them.

    Cons

    • The Risk is Higher: When you make a significant change and choose wrong, it can result in a crippling loss to the company.  This can have productivity and financial repercussions.
    • More Time Before Starting: Planning and design are needed for the entire system to properly execute the all-in approach.  Every little detail needs to be addressed to reduce the risk of a complete failure.
    • More significant and Impactful Change: The substantial change of an all-in approach is hard to hide.  Often it will require training for the users to help them utilize the new system.  Alterations of business rules and procedures are often part of the content for deploying this solution.
    • Total Review and Design: The broad scope of changes require the entire system to be reviewed and understood.
    • Large Budget: A substantial project like this is harder to estimate and often includes more funding in a short period.  Incremental allows us to stretch out costs.
    • Re-inventing the Wheel: Often this approach requires core functionality to be rebuilt or re-coded and tested again.  This amounts to re-inventing the wheel for business rules and other functions.

    As you can see, there is a lot to consider with either approach.  The pros and cons balance out more often than we think they do.  Therefore, it is worth it to leave both options on the table on at least a periodic basis.  This will ensure we avoid knee-jerk reactions to one approach or the other.  As always, the more we know, the more we consider, the higher the likelihood of a successful decision.

    Going Deeper

    Incremental Changes

    When you look at the pros and cons of this approach, there are some essential assumptions made.  If you take a path that does not follow the premises, then the pros and cons will differ.  The “time before starting” and “less to consider” pros, in particular, are impacted by your approach to design. The assumption for incremental changes is that you will plan and design as you go.  This may not be the case.  Some organizations prefer to create and plan out their entire series of changes up front.  While this is a good approach, there are also valid reasons to hold off on a complete design when you are not sure far you want to progress.

    Similarly, the time to bake in and system stability items may vary in your experience.  There are ways to drag out an incremental approach so that the users do not experience noticeable changes.  Instead, they see undergo the changes as occasional enhancements.  However, this approach can significantly increase the time to completion and may increase the limits to what can be done (due to ties to the current system).

    Finally, let’s look at the re-inventing the wheel item.  An incremental approach can do this as well.  Typically, an organization will avoid touching the things that “work.”  The argument is that there is no reason to put effort into fixing something that is not broken.  On the other hand, when a core functionality can be improved, then it may be worth taking on that change at some point.  There is also the side effect that can occur where a core and stable piece of functionality is changed or even broken through changing other areas of the application.

    All-In Advances

    It should be clear that the all-in approach, in this case, is deploying all the changes in virtually a single push to production.  This can be a large number of changes to an existing solution, replacing one with another system, or starting from scratch.  Each of these three options has a very different set of pros and cons along with those mentioned.

    An important note about the all-in approach is that the sunk-cost fallacy should always be avoided.  There are many cases where companies dismiss an all-in change because they start with the idea of value for the existing solution.  Yes, there is knowledge and expertise and even momentum that the current system has.  However, if those aspects are all driving you over a cliff then how valuable are they?  Along with this, technology is always changing.  The options we had a few years ago are not the same today.  There are new solutions and standards available that might bring overwhelming value to an original or from-scratch system.  It is easy to stay with the momentum we have, but sometimes all that provides us with is false confidence.

    Final Thought

    The bottom line in considering the pros and cons of these approaches is that your mileage may vary.  In order to make these aspects real some intentionality is required.  For example, if you want to reduce risk through an incremental approach to change, then each step needs to be examined thoroughly.  This examination includes looking for potential side effects and downstream impact.  None of these pros or cons are automatic, and the right approach can highlight the pros while reducing the cons.