Aristocracy, Democracy & System Design

Aristocracy, Democracy & System Design

What is your preferred implementation strategy, a complex system with more functionality or a simple system with less functionality?

There is no simple answer to this complex puzzle. A complex system is difficult to learn but easier to use. A simple system is easier to learn but makes complex functionalities difficult to implement. There is always a trade-off.

Whatever you choose as your implementation strategy, one important thing to consider here is conceptual integrity i.e. system design must follow a consistent philosophy.

But is it possible to achieve that in a solution implemented by multiple minds?

The Aristocrat’s Mindset:

How the system will be implemented, will be dictated by a few architects of the system, which include functional and technical team members.

The Democrat’s Mindset:

Aristocrats don’t know the limitations encountered during implementations, hence let all minds work on the problem at the same time. Anyways we are short of time.

A Pragmatic Approach:

There are 2 challenges posed here:

1. Distribution of work

2. Timing of phases

Both the mindsets have their merits so let's try to marry the two.

A pragmatic approach here will be to split the responsibilities and implement the phases sequentially. The design phase should be the phase where the architects design the system. In the second phase, the implementation team is hired to implement the solution. The design team then works with the implementation team and to execute the design and modify it if is required and have consistency in how the exceptions are being implemented.

Wait this is 2021 and not 1975, isn’t everyone is agile?

My View: The technical and functional design is the blueprint of the system. Trying to create these things along with implementation results in little conceptual integrity and loose blocks in the system. The implementation can be agile but the blueprint and the principles have to be ready before the implementation.

Still, you might to tempted to ignore the argument and get started and show results early in the project. It is just going to delay the inevitable. A system with low conceptual integrity is error-prone and difficult to debug and maintain. So you might be able to show results in the beginning, but it will hit you back at the time when the end looks close, the system goes in to test, the budget is nearing its end and the go-live is scheduled.

The decision is yours.

要查看或添加评论,请登录

Madhur Sharma的更多文章

  • The Weight Roller-Coaster

    The Weight Roller-Coaster

    Our body is amazing at precisely regulating many parameters, like temperature, blood pressure, etc. that enable life to…

    2 条评论
  • Hatching a Catastrophe

    Hatching a Catastrophe

    Often the disasters are caused due to termites, and not tornadoes. The project slippages are so small that it is…

  • The Whole and the Parts - Part 11 of 15

    The Whole and the Parts - Part 11 of 15

    How to Design the Bugs Out Bug proof the definition: The most damaging and subtle bugs arise during the designing of a…

  • Plan to Throw One Away

    Plan to Throw One Away

    In most of the projects, the first system built is barely usable, either it is too slow, clunky and/or too bulky. Once…

  • The Documentary Hypothesis

    The Documentary Hypothesis

    Why does everyone hate documentation and yet lays so much emphasis on it? This is the second chapter in this book that…

    2 条评论
  • Calling Shots

    Calling Shots

    How much effort is required to complete a project? How long will a task take? These are the questions that everyone…

    1 条评论
  • The Tower of Babel

    The Tower of Babel

    This story takes place after the great floods when Noah’s ark saved a group of people to continue humanity. After…

  • Pass The Word

    Pass The Word

    How can a group of 10 designers maintain the conceptual integrity of the system which a team of 1000 is building?…

  • The Second System Effect

    The Second System Effect

    Scenario: You design your first system. You estimate the work against a budget using some estimation technique.

  • The Surgical Team

    The Surgical Team

    The Pareto principle states that 80% of the work is done by 20% of the team. And every manager wants to staff their…

    2 条评论

社区洞察

其他会员也浏览了