Stop feeding the spaghetti monster



Everyone loves the convenience of a one-stop-shop...when it works...and goes crazy when it doesn't.

We've all been there. Someone designs the perfect tool for the use case. It works exactly as expected, handles the desired scope of problems. Others are impressed and want to apply the logic for their work. Now the tool has a name, it circulates in emails and the VP pings analysts for quick answers. Suddenly, the performance is really slow and there are unexpected results. Look under the hood, and what was once a neatly organized easy to follow logical flow has turned into a festering eye sore of convoluted steps, quick fixes, and abandoned sections. What happened?


What happened is pretty common place: there wasn't enough time or priority assigned to properly maintaining tools. And up to this point in the story, that once perfectly created tool served its purpose and then some - successful businesses experience this all the time. But the real problems and deeply rooted issues start when these over-stressed components of the business aren't replaced or fixed in an appropriate manner. If your car had bald tires, worn brakes, and burnt out headlights, how much long would you drive it before you decided that the risks are too great?


The key is be aware of business life cycles. In this particular case, the tool has gone through about a full life cycle. It could be time for a significant clean up or a new solution, better equipped for the new use cases. But hoping for things to work and making fixes when someone has some spare time doesn't cut it.


Figuring out what to do

In the car example, there were many observable factors that provided a call to action. But unlike a car, software isn't tangible and it isn't as easy to appreciate when and what kind of changes need to made. Further, there can be additional deterrents when internal resources are constrained or outside help is expensive and below expectations. A lot of times we simply don't know what to do about the situation. So if you're having a bad experience with some of your workflows (or preferably before it gets to that stage), consider these questions.


Workflow assessment

  • Do I have issues with the results? Are things wrong? Do I settle for partial answers?
  • How does the team handle the tool? Is there a single person who is an expert? Is it intimidating to use?
  • What is the tool's scope? Is it used to handle very different tasks or produce widely varying output?
  • Are there a lot of concurrent versions of tool? Personal copies, product specific, versions for special features?
  • How old are the tools? Brand new, 6 months, 2 years, 10 years old?


Answering these questions may give you an idea of what to do next. Perhaps you can narrow the focus to currently sold products and drop rarely used functionality. Or that approximate side calculation gets coded up according to the specs. Even if you need to get outside help, you can give more direction than "we need this fixed".


Using contractors, consultant, and third parties

If you do opt for outside help, be realistic about what they can do. Don't expect a couple of junior analysts to effectively solve complicated problems that your well-versed team struggled with. And be wary of lofty promises to perfectly streamline all your processes across the board. It might be naive, possibly dishonest, and more than likely fantastically expensive. Here are some tips for making work with vendors more successful.


Working with vendors

  • Make sure you get the right people on the job: do you need product knowledge, regulatory insight, technical skills, or something else?
  • Ask them to focus on the major issues - your internal resources can handle (or live without) the polishing.
  • Get regular updates. Longer projects need to have a plan. Progress towards completion needs to be demonstrated to your team.
  • Keep the decision making balanced. Let your vendors decide on the actionable steps, but you should be steering and be quick to correct work going in the wrong direction.
  • Plan for a smooth transition. Tools take time to learn, so your analysts should be in regular communication about the tricky details throughout the project. A two hour working session on the vendor's last day project won't provide sufficient knowledge transfer.


To sum up, recognize your business' life cycles. When something is no longer serving its purpose, don't keep feeding the spaghetti monster; rather prepare for the next iteration. Can your team handle the updates? - Great. If you need outside help, be smart about it. Keeping your business in healthy state let's everyone stay focused on doing their job well.


Chris Nienart has been creating computational models for years. From creating Excel based tools, to developing MG-ALFA actuarial models, to designing large scale Alteryx workflows. He has Core and Advanced Alteryx certificates and continues to sharpen his skills and work products. See how Chris crafts versatile tools to handle typical actuarial problems using Alteryx. 

 

About Chris

Chris Nienart has been developing visual solutions for years. From starting out automating projection charts in Excel with VBA to graduating to effective and efficient solution using Tableau. He has Tableau Designer and Data Scientist certificates and continues to sharpen his skills and work products. See how Chris tackles common pain points using Tableau.

See Alteryx tools