Keeping things simple

Keeping an application simple by design is not an easy task.

Features which might seem simple at first glance make an application significantly more complex over a period of time.

Features which used to take 2 days to deliver now take 2 months, and are still riddled with bugs.

The more complex a system gets the easier it becomes for a developer to introduce severe security issues or major system bugs.

Complex systems are difficult to analyze impacts across the board and have wildly inaccurate estimates and very complex code merges.

Another hallmark of a complex system is the fact that the time it takes for someone to review a merge request is inversely proportional to the complexity of the change.

In such cases, the code reviewer generally approves a request on the basis of how much they trust the developer or how far behind they are on the release deadline or how impatient the customer is.

Here's what you can do to keep things simple -