Earlier today I published a post taking a long hard look at data collection:
It pulls together a lot of the thinking that underpins the architectural decisions we made building Snowplow. I’d love your feedback!
Earlier today I published a post taking a long hard look at data collection:
It pulls together a lot of the thinking that underpins the architectural decisions we made building Snowplow. I’d love your feedback!
Re: 2.2 Data is easy to understand
This is in my experience is one of the hardest ones to achieve a good balance between developer’s and business administration’s point of view. Developers think in abstracts. They think a click is a click no matter what business connotation it may carry. For example, they may come up with a UI Control tracking modeled as follows:
Any interaction with a UI control will be logged with UI control ID, Label, Action. Or think React - State before, action, state after action was performed. They do it, because that’s how their brains think. It becomes incredibly hard to then interpret the event logs - yes, all the data is present an the business can be described and analyzed with the data collected, but it does require a lot of mental work to reconstruct the business meaning hidden in these event logs. On the other hand, when business administration starts dictating what and how things are to be modeled, they place a lot of temporary and overloaded concepts into the models creating repetitive, unnecessarily complex and eventually technical debt bloated models that require an extremely verbose change log document to be maintained to explain the rationale and applicability of the model attributes to the current state of affairs. I have been around through development of hundreds upon hundreds of browser, desktop and mobile applications - most of them successful with wide user base adoption. I’ve noticed this pattern repeat over and over again. It takes a few lifers who’ve been around for a decade or two to help both sides find the right balance.
How does your experience help you get it right? Can you share your methods?
Hi @dashirov - many thanks for sharing your experiences. They certainly chime with what we’ve seen.
It sounds corny, but the two things that really help here are: