3 ms·
Not directly as a developer, but I've wrangled with this a few different times. The most impactful: I was standing up an analytics function at a growing compan
by cosmie 7y ago
Not directly as a developer, but I've wrangled with this a few different times. The most impactful:
I was standing up an analytics function at a growing company. There were several internal systems that had been organically created to handle different parts of the companies internal processes, with little structural support in the form of project or program management. Each system was developed by a single, but different, developer. The developers knew their systems really well, but there was little formal documentation on anything.
As part of creating an analytics/BI function, I had to start digging into the data models of the different systems and ETL'ing the data into a data warehouse, and was the first one outside of the initial developer to really dig into the databases for their systems. Each developer used company terminology for their entities that made it relatively easy to intuit the data model. But each one had been left to interpret business needs and definitions themselves, and had done so differently. And neither one of them matched up to how the actual business users defined such things/processes, or presumed the software was defining them. Yet because they were using the same terms, each developer was presuming/projecting their implementation logic for a given process or entity onto the other system, without actually confirming.
I spent well over a year finding and having inconsistencies corrected, and getting system processes aligned with what the business actually expected to be happening. By the end of it, we improved our production efficiency[1] by about 30-40%, which had previously been getting silently lost in the void as the two systems would have subtly incompatible definitions of what was valid and what wasn't. Funny enough, the primary value that came out of the analytics and BI team I stood up wasn't the actual analytics work, but rather the operational discipline and system refactoring that was necessary as a prerequisite to support the analytics.
[1] What was being produced was digital products, not physical. And there wasn't previously any end-to-end analytics in place, so it was non-obvious that stuff was getting lost in the mix.