found drama

get oblique

Tag Archives: software development

“technical debt” as shorthand for five different scenarios

by !undefined

Towards an understanding of technical debt:

Particularly liked this blog post on technical debt, and mostly because the author is skeptical of the common thinking and conventional wisdom around the subject. The key takeaway is that when people talk about “technical debt”, they tend to conflate five different kinds of problems: 

  1. Maintenance work
  2. Features of the codebase that resist change
  3. Operability choices that resist change
  4. Code choices that “suck the will to live”
  5. Dependencies that resist upgrading

He invokes Norvig’s “all code is liability” here – which is pithy and memorable, but overstates the case – but ultimately his point is: technical debt is shorthand for one of these five scenarios where our complaints are ultimately rooted in the fact that we’re taking on the perceived burden of unpleasant work – usually due to some kind of implicit resistance or inertia of the codebase. (And this dovetails nicely with Simler’s “A Codebase is an Organism” post that made the rounds recently.)

From a practical perspective, the lesson seems to be: when you start invoking the phrase “technical debt”, try to consider which of the 5 categories the scenario fits into. What kind of resistance or inertia are you facing? And how can you move things forward without resorting to “technical bankruptcy” or “papering over” the problem with an Nth-level of indirection?

“…they will go off and work in the integrated development environments…”

by !undefined

What Is Code? If You Don’t Know, You Need to Read This:

They will do their standups. And after the standups, they will go off and work in the integrated development environments and write their server-side JavaScript and their client-side JavaScript. Then they will run some tests and check their code into the source code repository, and the continuous integration server will perform tests and checks, and if all goes well, it will deploy the code—perhaps even in August, in some cloud or another. They insist that they’ll do this every day, continuous releases.

Read every word. Every one of those 38,000 goddamn words. Even if it takes you 6000 hours.

Linkdump for June 6th

by Rob Friesel

JavaScript Memory Profiling Oriented toward profiling in the Chome Dev Tools, but the underlying principles hold true across browsers. Lots of detail in here. (tagged: JavaScript performance memory garbage collection profiling ) Script-injected "async scripts" considered harmful Ilya Grigorik: The inline JavaScript solution has a subtle, but very important (and an often overlooked) performance gotcha: […]

Linkdump for October 12th

by Rob Friesel

Knockout 3.0 Release Candidate available Steve Sanderson's popular KnockoutJS MVVM library has an RC out for version 3.0. I may not be its biggest fan, but there are more than a few times when it's exactly the right tool for the job and this looks like a nice improvement. (tagged: KnockoutJS JavaScript ) Size Does […]