Sooner or later, but inevitably, this questions seems to come up when developing digital services: someone requests a feature, the team responds that they can’t easily implement it, and the requester states: “Well, website xyz has this feature, why can’t we have it?” Things rapidly get worse when an implication of incompetence is perceived.
Whenever this question comes to mind, it might be useful to ask ourselves a few questions:
- Are xyz working in a similar context?
- Are xyz pursuing a similar purpose?
Context may include organisational policies, available technology and the ease of changing this context. Purpose may loosen or tighten constraints on available funding or the selection of (potentially controversial) means. (Dean Bubley tweeted about context and purpose in networking, I touched on it here.)
It might be beneficial to remember that we usually don’t have any idea how much it cost xyz to implement that feature, or how long it took them. It is also not clear that xyz’s feature, i.e. a solution to one of their problems, is necessarily a good solution to our problem.
So, if we really want that feature, we need to sit down with the team and take the time to truly understand what makes it difficult, slow or expensive to build. Often we might be able to clarify goals or accept constraints that will make implementing (a version of) the desired feature feasible. Or, together with the team, we might discover other, perhaps even better, options.
Let’s just not assume the team is full of half-wits.