The “empire” cares more about political prestige than it
cares or knows about technology. The
empire is setup structurally to create infighting and to stifle team work. This is done to create the illusion of potential
progress but it really just ends with a circle of finger pointing.
The empire is clearly run by a bunch of bureaucrats whose
aim is to pacify the masses with bloated software factories. Why software factories, complicated
frameworks, and RAD generated goo?
- Claimed
reuse. By spending a ton of money
on a platform we ensure support and reduce costs by reducing
redundancy. In reality we end up
with an overpriced and bloated platform that only gets us 80% of what we
need.
- Feature
bullet points. This supposedly
makes the customer feel warm and fuzzy because there are a lot of out of
the box features. In reality most
of these bells and whistles will never be used; and to top it these
features lock us in to the platform.
- It
makes the empire look professional.
In reality the empire chose the software factory because they
really know nothing about software development. By having a bunch of useless code on the
table it gives them something to talk about and hide behind in their
endless meetings.
- Mort
can understand it. Maybe Mort can
run the wizard to generate more goo, but what happens when you run into
some nasty threading bug on your web server? Do you just start over?
The empire assumes the worst of developers;
they believe developers are a bunch of lazy interchangeable Morts or parts. They pander to the lowest common denominator
because of high turn over and the inability to attract real engineers who are
not only good, but passionate about software development.
In effect, the empire doesn’t know
the difference between a programming God and a Mort. Even if a God did manage to sneak into their
ranks they would surely be stifled by the systems the empire has put into place
to protect itself. The empire stays safe
by locking everything down so that nothing moves; the theme here is to avoid
risk at all costs (option 1, do nothing).
Therein lies the root cause of
evil within the empire, they almost always choose to do nothing because it’s
safer, but it’s safer because their alternative to “do nothing” is the “all or
nothing” approach. They choose all or
nothing largely because their process and their software is incapable of
adapting, once it has shipped its set in stone.
The calcified software is only
mimicking the inflexible process laid down by the empire’s inner PM sanctum*. Besides the PM’s living and breathing
waterfall, the real tragedy is the funding model. The funding model wants the exact cost of the
completed system up front, well before any design, let alone coding has started. This funding model tied to an arbitrary
deadline gets the customer some software, but as it often turns out its not the
software the customer needs or wants.
The end goal is not about satisfying the customer or improving the
process, the end goal is to stay within budget and to check all the boxes.
With the project complete (according
to the Gantt chart) the empire moves on to yet another project to replace the new
legacy system just completed, and the circle of software creationalism start
anew.
* Interestingly enough the empire’s
PM methodology is called Atlas after the great iterative submarine ballistic
missile program from the late 1950’s and early 1960’s. The real interesting part of this is that the
empire’s methodology is pure waterfall, and is nothing like the Atlas missile
program. In fact some of the stupid PERT
calculations used during that program were bogus and only used to satisfy the bureaucrats.