6 ms·
This is a good parable, but a bad metaphor: no one would open a staffed lending library with a collection so small that the staff could keep everything in their
by amscanne 6y ago
This is a good parable, but a bad metaphor: no one would open a staffed lending library with a collection so small that the staff could keep everything in their head. The key to a good metaphor is that it should hit something familiar and normal, so that the listener can devote their mental cycles only to the relevant understanding.
- Talanes 6y agoIf you're being that pedantic about your metaphors, I don't think a good metaphor exists.
- justanotherc 6y agoI tend to agree with him. It takes too long to tell that story. In a boardroom meeting type environment people don't have time or the attention span to settle in for story time. You need to be able to illustrate your point in 3 sentences or less.
- c22 6y agoThus, "technical debt"...
- trhway 6y agothat is pointless. It isn't about message, it is all about messenger. If they don't want to listen to you, they wouldn't. My friend who has made his way pretty high here in the SV told me recently how the same CXX/"boardroom" people who wouldn't listen even to his 1 sentence, now have all the time and attention in the world to listen to him all day long.
- croh 6y agoThis is true. You can always try to convince people but if you're not string puller, you're in mercy of listeners. If they fix on something (e.g.profit, own promotion), your story should be aligned to that(their KPI). Then only you can have hope. When shit breaks, no one wants to take blame and people start to forget 'selectively' your earlier warnings of shit.
- White_Wolf 6y agoWhenever I had to explain it to management I tell them something along the lines of: When was the last time you clean your office cupboard? If anyone else from management needs to find something in there without your help how long would it take compared to you? It's the same with our scripts. They need cleaning up and documenting in case one of us decided to call it a day. Edit: When the situation allows(tbh I rarely miss a chance) I follow up with: You have to thank our sales guys making unrealistic promises for our lack of documentation.
- tehjoker 6y agoIt could be an additional service to something else, like a café. I think the metaphor is reasonable.
- crpatino 6y ago> no one would open a staffed lending library with a collection so small that the staff could keep everything in their head Yes, no one would. Yet the same people pile up technical debt like there's no tomorrow. The reason for this is double fold. The people in charge either do not understand programming at all, or have fallen out of touch with programming. It is like the library owner is blind and cannot see the utter mess of books in their storage area. But as long as they keep hearing the cha-ching of customer paying for their service, it means everything must be fine, right. After all, the librarians are in charge of keeping everything tiddy, right? The other side of the coin is, programmers are not professionals. Our trade is still very very young, and those traits have not evolved yet. In the metaphor, the librarians may not have any librarian training at all; they were hired mostly because they loved books and knew how to help customers find what they may like to read. Some of the librarians may have heard of the Dewey system, but most of them just came up with their own idiosyncratic (and mutually incompatible) "systems" of organization. Which work pretty well in their well stocked bookshelves at home, but completely falls apart once they have to keep track of thousands or tens of thousands of books.
- westoncb 6y agoThere are really two properties which are essential for a metaphor to convey understanding (which is not to say no other aspects have an effect—they certainly do, but I'm just trying to narrow down the 'functional core' here): 1. It needs to be expressed in the terms of a subject already understood by the listener. 2. It should have a 'structure' which is similar to that of the new, not yet understood subject. These two things allow an identification to be made between something already understood and something not yet understood, granting new understanding. The idea that the library should be 'normal' is not essential; it just needs to be understandable. (granted if it became too unusual it could cause problems, but I'll just leave it up to the reader's judgement whether "a library with 25 books" is too large a stretch of the imagination) What's really nice about the above metaphor is that its structure matches the situation with coding very closely: technical debt is about the up front time-cost of introducing new systems of organization to replace ad-hoc, unsystematic methods whose cost-effectiveness decreases as project complexity (to put it loosely) increases. While this is a pretty abstract notion in itself, the library scenario captures the same key points and dynamics in a way that's comprehensible to anyone with an understanding that libraries use 'systems of organization' (even if they don't know an abstract term for it)—this still works even if the particular set up for the 'library' in the example would not be found in the real world.
- amscanne 6y agoWe’ll have to agree to disagree. I think a metaphor that has nothing to do with reality causes people to think too much about it. You end up replacing one abstract thing with another abstract thing (and the reason to go metaphoric in the first place is to make the concept less abstract). The metaphor makes more sense you because you’re already deeply familiar with the concept of technical debt so you’re able to easily evaluate (2) — you’re not actually using it for understanding. If I told this metaphor to my spouse (for whom I’m often using metaphors to explain things), the reaction would be: “What are you talking about? Library with 25 books? Huh?”
- westoncb 6y ago> (and the reason to go metaphoric in the first place is to make the concept less abstract) I completely agree with you there. But I disagree that the unusual library example is more abstract. As a point of contrast, I gave an abstract account of technical debt for the purpose of comparison to the more concrete library metaphor (to show that the abstract account would be more difficult for many): > technical debt is about the up front time-cost of introducing new systems of organization to replace ad-hoc, unsystematic methods whose cost-effectiveness decreases as project complexity (to put it loosely) increases. A library with 25 books is not more abstract, though it is a hypothetical concrete thing [1]. If someone has difficulty with hypothetical concrete things, that could certainly make using metaphors with them more difficult—and I can see why you would add additional constraints onto what makes a good metaphor. In my personal experience, saying, "imagine a library, but with only 25 books, which is run by a single person," would be not asking too much of an audience. But I see your point that some may struggle with it. [1] There is a handy way of considering this distinction: becoming more abstract involves making some 'parameter,' which was fixed, free instead: so for instance a more abstract notion than any particular library is: a manager of a collection of objects which are loaned out to people for limited durations of time. In that example, we free the parameter 'book' so that it isn't set to anything specific. If we instead say, "a library but for CDs instead of books," it's equally concrete since we haven't freed any parameters, we just replaced one concrete value for another. That's what happened in the "library with 25 books" example, which is why I say it is not more abstract.