I recently heard the term 'Digital estate' to mean the technical property of an organisation. This, and the associations the term provides, have got me thinking about how we contribute to the success of organisations over time...
Let's start with this question: what does the word "estate" conjure up in your mind? I think it might include a variety of things. A house? Probably? The physical things you own? Maybe.
I live in a country where that term can have two very distinct meanings beyond those two things.
In times gone by, the ruling elite would have an estate. It usually consisted of one major, very large property that resembled (or actually was) a castle or manor house. It would also include extensive land around that area, much of it farmland. It could also include villages where people often worked for the estate. It was like the country's economy in miniature.
If you've watched Downton Abbey, you probably know what I'm getting at here.
Then ... there's the council estate.
In this context, an estate is a collection of houses owned by a local council where people of less secure financial means can find accommodation. Although valiant attempts have often been made to increase the opportunities for people who live in these kinds of places, there's often still a lot of crime and violence. For many people it's home, and therefore it's a nice place to live. But given the opportunity, would they choose to live elsewhere?
So what kind of "estate" are we talking about when it comes to a digital estate?
I guess it could be either really.
What I'm saying is that we should be mindful of what we're actually building. The code we write on a daily basis contributes to the overall estate of the organisation we're working for. Are we making that estate into something that is easy to move around in, neat, tidy, something we can be proud of? Or is it something that serves a necessary function but is difficult to work with?
It depends on our attitude towards our work ... are we tempted to think that, because our surroundings are not conducive to finishing things off nicely, that we should do a sloppy job? Or do we have the opinion that we should try to improve the quality of life regardless of the situation of those around us?
The organisations view
The overall organisation has a huge impact on the digital estate. Sometimes in ways they might not imagine. For example, technical debt is likely to always exist. But are teams encouraged to tackle this debt? Or does the organisation skirt around the issue, thinking that they can maintain velocity without paying it off?
The organisation might want to keep producing features under pressure from stakeholders or higher management. Or they might make decisions about launch timelines of new digital products without asking the opinion of those who understand the cost of delivery.
Both of these increase the rate of technical debt. So "shipping faster" is counterintuitive to the ultimate velocity of the organisation. On this subject, I really enjoyed this article on the InfoQ website, which claims that "In the future, technical debt will become less of an engineering problem and more of an important business prerequisite that helps with delivering more value to our customers and the business."
The ideas in this article were sparked by this post on the StackOverflow blog.