Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Stabilizing Application Architectures Through Simplification

DZone's Guide to

Stabilizing Application Architectures Through Simplification

· Cloud Zone
Free Resource

Learn how our document data model can map directly to how you program your app, and native database features like secondary indexes, geospatial and text search give you full access to your data. Brought to you in partnership with MongoDB.

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”.

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

Discover when your data grows or your application performance demands increase, MongoDB Atlas allows you to scale out your deployment with an automated sharding process that ensures zero application downtime. Brought to you in partnership with MongoDB.

Topics:

Published at DZone with permission of Daniel Ackerson, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}