Building for the Future and Managing Technical Debt in Kustomer

A major challenge when building things that other people might interact with, and possibly maintain in your absence, is the ability for them to pick up what you’ve put down and know what is happening and how it is being done. As I mention in my title, this is very similar (if not the same) as technical debt that software engineering teams deal with on a regular basis. Planning for and thinking of the future when building can be very challenging but very rewarding when it comes time to review or pick back up what someone else or even yourself has built previously. 

I’m going to go over some tips that I’ve adopted over my time here at Kustomer that have helped me reduce the technical debt I leave behind. Hopefully they will inspire you to do the same!

Titles

It’s the first thing anyone sees in a list of Workflows, Business Rules, Webhooks, Queues, Rules, etc. Having a title that is somewhat descriptive goes a long way. Having one that is minimal and similar to existing items in the list can start to get confusing. 

This may seem trivial but it can be difficult to come up with a good descriptive title and spending the time now to do this will pay off in the future when it comes time to finding the business rule that is changing the brand of a conversation due to a tag being added for example.

Titles in workflow steps are probably the most important place to take the time and come up with a name especially for larger workflows. In the picture below we can see how giving workflow steps good titles can be powerful. We don’t even need to click on each step to know what is generally happening which is great in reducing time spent on figuring out where to look and what to change!

Now if we compare that to the same workflow where the system generated step titles are not changed we can really see how powerful this can be.

Descriptions

Typically found below most titles there will be a description section in Kustomer where there is more room to explain what might be happening in the tool in question. I’ve found that utilizing this space to expand a little more on what is being done in the workflow/business rule/queue rule/etc. Is invaluable for other people to better understand the thought process and use for what they are looking at. 

I’ve included links to other workflows or business rules that might be affected and triggered off the item in question, my name (“Built by Derek @ Kustomer on 9/9/22”), when it was modified and why (“Modified by Derek @ Kustomer on 9/9/22. Added new updates to steps 4, 8, and 12 to include the updating of a new custom attribute.”), or when it was deactivated and why (“DEACTIVATED on 9/9/22 in favor of new workflow ‘Add Cancel Tag On Canceled Orders’ link here.”)

Descriptions like these allow for people to quickly glance at and understand what the tool is being used for and if it is what they are looking for in that moment without having to open it up and view it. Below we can see an example of how having a good description when looking at a list of workflows can be really helpful!

Conclusion

I’m sure there are other ways to reduce technical debt in Kustomer and help other administrators in your org better understand any changes you might be making and why so feel free to expand on what I’ve touched on here and enjoy building new things in Kustomer!