Category: Building Software

  • An Improvement Journey Needs A Starting Point

    An Improvement Journey Needs A Starting Point

    One of the most common issues in a migration, integration, or almost any process improvement journey is defining the starting point. A customer uses a process that is so well known to them it is like muscle memory. The challenge is that they can often forget details because it is such a natural thing. Likewise, there can be unseen impacts that are assumed but not understood or known. Thus, we have requirements for a project no matter how “simple” it is.

    Address The Improvement Journey Details

    The details must be addressed whenever we try to change or improve a process. For example, a long car trip will need to address the need for gas or a recharging station. While that is often assumed, it may not be clear to the person plotting the course. Our systems provide a level of abstraction from details. However, that often leads to us glossing over critical details like fuel for a car.

    Data for a process is easy to over-simplify or incorrectly assume to be complete. For example, most systems have unique identifier values and status flags hidden from users. While that is not an issue for a self-contained system, it can be a blocking issue for integrating or communicating with another system.

    Ask The Right Questions

    While our customers can take these things for granted, we cannot do so as integrators or implementers. We need to ask questions and get as much access to the details of a process as possible. That may mean sending the customer back to their development team for documentation or details or even to a vendor. That is often a headache or effort they prefer to avoid. However, the cost of not doing so at the start of a project can lead to cost overruns, schedule slippage, or even starting an effort over from scratch.

    Show And Tell – The POC/MVP

    I have found the “trust, but verify” approach works well when I combine it with clear communication. We start with a proof of concept based on what the customer provides us. That POC is designed with a focus on testing the “happy path.” That is the process and ensuring the details are all addressed. While this sometimes has to be done on a production system, it is always preferred to spend the time to set up a sandbox or test environment that we can use to verify inputs, outputs, and side effects.

    That adds up to more work done in the initial design and requirements gathering phases, but the cost savings and reduction of headaches more than pay us back. That makes for a smoother improvement journey.

    As this is a common challenge for system integrators and solution developers, how do you manage the customer relationship and SDLC to ensure digging deep enough to gather all requirements?

  • Runaway Technical Debt

    Runaway Technical Debt


    I was recently listening to advice from Financial Guru Dave Ramsey about financial debt and how it can control us. The thought occurred to me that this is very much a factor in software development when we have technical debt. We need to avoid letting our pile of debt get out of control or something we simply accept.

    Technical Debt Seems To Always Grow


    The problem with technical debt is that many of us simply accept it. We toss it into a bucket without considering the cost. This applies to missing or incorrect documentation, slow-running queries, clunky interfaces, and so much more. Yes, we can get away with that for a bit here and there when we have to hit a deadline. However, those little things can add up.

    The worst part about those “little things” is that they are small thieves of time and quality. Moreso, they can be hard to measure. Thus, we allow them to be a part of the experience with that codebase or application. For example, how often do you hear a user complain about a solution but then brush it off like that is just how things are?

    Address The List

    The idea behind technical debt is that we have a task we should do, but we kick it down the road instead. If this was not a task we should be ding it would not be technical debt. That is no different from getting an oil change for your car or cleaning air filters. We have a period of time where we can push those tasks off, but eventually they can grow to an emergency situation that must be immediately addressed.

    Just like we need to keep track of debt in general, technical debt should be reviewed regularly and even avoided where we can.

  • A Cost of Technology Sprawl

    A Cost of Technology Sprawl



    There are many reasons to avoid technology sprawl and ensure your systems house is in order. However, there is one area that often gets overlooked. That area is security.

    What is Sprawl?

    Let’s back up and define technology sprawl. It is not a hard and fast definition, but almost a state of an organization. Sprawl occurs when you have too many systems and are not sure what they do or how they do it. Sometimes, you do not even know why they do it.

    This situation has become common in recent years as technology has bloomed via software as a service and applications for almost every business need. The pandemic made it worse as we saw layoffs and a loss of continuity in systems. The pandemic caused a lot of companies to pause or halt system development and upgrades, which caused some of those processes to fade into a sort of legendary status where no one is sure what is real about it anymore.

    How We Got Here

    Let’s get back to the security concerns. Defining the ins and outs is one of the first steps in securing a place or situation. For example, locking down a room starts with identifying all entrances and exits. If you miss a door, your security will have an easy workaround. Systems are the same. You need to identify what has access to your data and how in order to keep it secure. When we allow our systems and solutions to grow at will, things can get lost.

    Fixing your systems via an IT audit and the subsequent systems upgrades and replacements can be expensive while taking a long time to implement. Security is not something you want to leave until next year. So, how does one address potential security flaws amidst technology sprawl?

    Addressing The Issue

    I recommend utilizing your entire team. This starts with security awareness. Employees need to be aware of the fact that they have access to data and information that is not meant for the general public. They also need to be aware of the many ways that hackers will try to take advantage of employees to gather that data. While it seems like a simple answer, security awareness programs are an excellent start, easy to implement, and often cost less than $5 per employee per month. Many of the security awareness programs and tools out there are not only highly informative, but they are also entertaining and often gamified in a way to keep your employees engaged.

    Do a search for security awareness programs with your favorite search engine and get started today on a safer organization.