|Enterprise Development of Mission-Critical Functionality|
is Complex, Time-Consuming, and Very Rarely Cheap
In these kinds of situations, the stakes are high, and decision makers are allergic to risk. This is where the old saying, "Nobody ever got fired for buying IBM" comes from - the idea being that it's acceptable to spend more money in the name of reducing risk.
In mission-critical developments for large companies, the timing of the delivery and the functionality take the front seat, and the development is anything but cheap.
The main question I would like to explore is:
How can enterprise development be affordable, fast, and good?I believe that the only way to do this is to reduce the complexity of the implementation of the solution. Complex solutions are inherently expensive, either in development, in operations, or most commonly both.
This is the crux of the Less is More argument for enterprise development:
less complexity = more chance for successI would like to propose several ways to reduce the complexity of enterprise solutions:
- Use proven off the shelf applications
- Establish and enforce process and technical integration standards
- Favor solutions based on configurability over coding
- Favor solutions that focus on operations rather than development
The first two points are hopefully self-explanatory, so I'll focus on the last two.
Favor solutions based on configurability over coding
This can also be formulated in a way that is unintuitive, namely: a superficially "weaker" solution with simpler development requirements can provide more value to your business than an extremely powerful and complex open-ended solution through a corresponding reduction in complexity.
A solution that favors configuration over development and simplifies the minimal development necessary can significantly reduce complexity and therefore risk vs an open-ended solution with complex development requirements.
The idea here is that a solution focused on operations (the long-term view) will have a lower total cost of ownership than a solution that offers a large and complex development environment but little in the way of operational support.
One critical measure of success for any project is how well it actually performs in operations, therefore a focus on operations should directly lead to higher operational quality as well.
|Simplicity is Underrated in Enterprise Development|
To conclude, enterprise development can be done with dramatically less risk by using solutions that reduce the complexity of the development, and by focusing on operations, such solutions can provide long-term value to customers with the foresight to deploy them.