Paying Down Technical Debt
Weinstein Properties had a suite of in-house applications they were using to support their quickly growing population of residential tenants across the United States. Over time these applications had built up a significant amount of technical debt as they were modified to meet the growing and changing needs of the business.
Weinstein knew they needed help with their software, and they were looking for just the right partner.
Software Engineering, DevOps
Unravel the code to find the answers.
As we dug in, we uncovered the common themes among all software that have been built organically over time:
- Unnecessary, extra code and technical debt that bogged down the apps
- Minimal documentation on how the system was built or needed to be maintained
- Lots of implied, undocumented dependencies
In short, the system had served the business well, but had grown organically into something that was no longer manageable. Weinstein needed help to untangle the mess, while keeping their critical systems online.
Understand the people, then the problem.
Without access to the original developers of the systems, we talked to employees who used the suite of apps to better understand their pains and frustrations.
Our overarching goal was to ensure that the systems stayed online, and to automate many of the manual processes that had built up to keep the systems operating. Only once those processes had been automated could we free up engineer time to make bigger improvements.
Simple Thread is extremely responsive, provides great service and development insight, and finishes projects on-time. In general, Simple Thread has been fantastic to work with, and we are extremely happy with our decision to partner with them.Chris Oley Director of Financial Analysis, Weinstein Properties
Bring order to chaos.
Our initial interviews with team members allowed us to ramp up quickly and mitigate the lack of documentation and access to original developers. We didn’t recommend starting from scratch or the need to build an entirely new suite of apps (and there were a couple dozen) – we wanted to take a more measured and careful approach.
We identified weak links in the applications, and rethought the way they were written to be more stable – and thereby make the processes more reliable. The result is a much smaller suite of cleaner, simpler apps that are far easier to use.
By leveraging our process, and diving deep into the needs of the users and the business up front, we were able to effectively focus where we delivered value.