Over a million developers have joined DZone.
Platinum Partner

Stabilizing Application Architectures Through Simplification

· Agile Zone

The Agile Zone is brought to you in partnership with Hewlett Packard Enterprise. Discover how HP Agile enterprise solutions can help you achieve high predictability and quality in your development processes by knowing the status of your projects at any point in time.

Consider the following: People are complicated and companies are run by a lot of people. A relationship between two people is complicated. Relationships between companies? Well, you see where I’m going.

Outsource a software development project requiring 10 developers, an on-site team of 3 managers and 4 developers, involving a total of 4 external companies. Surprised that the shipped product is more complicated than you originally planned? You shouldn’t be.

Complexity is in the details

We’ve all encountered this phenomenon in software projects. If it seems too easy, it’s because you’re missing something. This is why we do Planning Games – to spend an extra hour carefully thinking about these “easy” stories – picking apart the plain vanilla requirements and finding some very important open questions.

As software engineers, we tend to overdesign and overarchitect. Now, offshore the project and get ready for the fireworks. External engineers have no clue about your business, and could care even less about the project’s success. On top of this, the channels of communication are constricted. Sufficiently insulated from reality, the offshore team is free to dream of the “perfect solution”.

Creative Commons License benjamin-nagel

Perfection meets reality

In a perfect world, nothing fails. And this is exactly how those consultants engineered the architecture. No fail-over servers, no backups, and no documentation.

Pro-tip: make the consultant reboot the server at lunch time every day of their last week. Make detailed bug reports of all the failures that occur and get them fixed before the consultant takes another job!

Stability through Simplicity

You know your business and, hopefully, what your customers need. I’ve done enough “in-shoring” of projects and architectures by now, to recognize the patterns. Over-implemented security measures, unnecessary servers and lots of external ISP support.

Cutting through the baked-in complexity of a project years in the making isn’t easy. But, if you focus on the end customer value, you can start to quickly

The Agile Zone is brought to you in partnership with Hewlett Packard Enterprise. Learn more about driving business innovation by leveraging Agile quality lifecycle strategies.


Published at DZone with permission of Daniel Ackerson , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}