After a couple years in government I used to blow peoples’ minds with a fairly simple party trick. Before going into our first meeting with a new agency stakeholder Hunting I would predict several key details of what their problems were going to be. All I needed was the name and title of the person we were meeting.

Nowadays, as I talk other people through their legacy modernization struggles, the first piece of advice I give them is to look at the org chart. On large, complex systems there are too many stones to flip over while looking for problems, but the types of problems organizations have are heavily influenced by their incentive structure and the easiest way to figure out their incentive structure is by looking at the org chart.

Hunting On particularly:

Old systems you may even end up doing an overview of how the org chart has changed over time. Breaking things out into sublayers of problems as incentives have shifted. In my book Kill It With Fire, I go into a lot more detail about the nature of incentives: this isn’t about money, this is about how people feel seen. A bonus is nice, but feeling secure in your job because the role you’re playing and the decisions you’re making are in line with what the organization prioritizes is much more powerful.

Those are the incentives that actually shape behaviors. That’s why my second question when evaluating systems is “How do people get promoted here?” The true operations of systems are determined by the day to day decisions of individuals on the ground. Those people are going to prioritize the work that helps them get ahead. The activities at the bottom of that list are where tech debt is going to accrue.

In Small Organizations Hunting:

Although we’re more accustomed to legacy projects coming from large organizations, all large organizations start off as small organizations first. If the organization is too small for a structure (or even worse has given in to the delusions around “flat” organizations) you can still predict the set of problems by looking at who’s on top. What is the background of the CEO? If they have a free hour… are they pushing code or making sales calls?
The Scenarios

Engineering First Organizations:

Like Google or Facebook these are organizations where engineering trumps everything else. If you’re not in engineering, your pathway to promotion is limited.

What kinds of problems will you find? There are many paths to the center in both life and software engineering. When engineering runs the show you tend to find multiple paths error. Implementations of the same thing scattered about. They tend to fall out of sync with each other almost immediately. Systems get rebuild until the gap in feature parity is too high. Then abstraction layers are piley on top.
buy zenegra online no prescription

Engineers love metawork, or the engineering work that is suppose to make other engineering work easier, faster, more secure. Midcareer engineers aspire to deploy features, senior engineers aspire to deploy massive frameworks.

So with these organizations you want to look for problems associated with unnecessary complexity. The good news is that the practices one must take on to survive complex systems are good practices regardless — mature on call and incident practices, blameless post mortems, data contracts, etc.

The bad news is that beautiful tech is unrelated to profitable.

Complexity should be growing to support business growth, not the other way around. If the business isn’t making enough money to support the level of complexity engineering is running, then engineering can’t staff teams at levels that maintain healthy work life balance. If this is the case: figure out which teams tend to lose the staffing battles, then assume the low value engineering work. Typically this means things like updating dependencies, mitigating security reports, documentation and meaningful code reviews, but what work is devalue is obviously part of the company culture. Look at what people get reward for doing, not their marketing copy. Don’t assume that security companies prioritize resolving vulnerabilities anymore than any other company, because not all of them do.
buy cialis soft online no prescription

Engineering Reports To Hunting

Engineering and Product have fundamentally different goals. When one reports up to the other the parent group just ends up suffocating the subgroup. Often people will claim that since all their product people are super technical they do not have this problem. That’s BS, the problems engineering experiences under product are about incentives, not technical correctness.
Engineering wins