Platform Principles logoPlatform Principles

A framework & approach to creating a platform that scales.


1. Contexts

Contexts - People, processes, information, platforms, in that order.

By prioritizing in this order :

  • People - People are the most important factor in a business, so the user experience is paramount.
  • Process - Processes are more important than data. Processes serve people. Business needs are greater than which database you use.
  • Information - Information is more important than the platform. Platforms come and go, but information can transform and go anywhere. Informatio serves Processes.
  • Platforms - Platforms serve the needs of information, which serve the needs of processes, which serve the need of people.

Technology serves business needs. Not the other way around. If you help the user achieve their goals, the platform is good.

2. Responsibility

The people, processes, information, and systems overlap across responsibility areas in an organization.

Think of this as a way to organize the company as a set of "microservices" that are leveraged across different parts of an organization.

Though there may be different responsibility areas, there is only one business platform. Here are some example responsibility areas.

  • Sales & Marketing - Sales and marketing help businesses acquire customers, which are the source of revenue.
  • Products & Services - Delivery of Products and Services is how a business earns revenue once they have acquired a customer. This is how a business delivers value.
  • Finance & Acocunting - Once a business delivers value, they need to efficiently collect and remit payments while being profitable for there to be a sustainable business.
  • Research & Development - A business creates value through research and development. This could be basic or applied research all the way to product development.
  • Operations & Infrastructure - Operations & Infrastructure of a business is the operations of a business platform. A healthy business has many operations automated on resilient infrasturcture.
  • Leadership & Management - Leadership & Management allows a business to develop and direct the most important assets in a business: the people and the strategy they are executing.

3. Approach

Having an approach allows us to manage systems long term.

All platforms should be tracked and managed using a standard approach for setup, training, administration, configuration, and knowledge management.

Here are the suggested minimum viable responsibilities for managing a technology platform.

  • Setup - Setup procedures should be documented, scripted, and then automated.
  • Training - Training materials should available or referenced in a central place.
  • Administration - All administrative operations should be documented, scripted, and then automated.
  • Customization - All customization or special configuration should be documented, and part of a devops process.
  • Knowledge - All knowledge should be kept up to date as part of each sprint.

4. Framework

Having a framework allows us to use the best practices but the freedom to switch things out.

All components of the framework should be :

  • Distributed - All components should be distributed.
  • Realtime - All components should be realtime reactive platform.
  • Extendable - All components should be extendable and not closed.
  • Automated - All operations with data and dev should automated.
  • Monitored - All systems should be monitored with metrics and logging.

5. Tools

Templates and tools help us save time and be consistent.

Instead of reinventing the wheel, leverage tools and templates that already exist. There may have been someone else who has encountered the same business problems.

Don't reinvent the wheel, use:

  • Spreadsheets - Using web grid / online spreadsheets allow team members to organize critical information.
  • Documents - Using online document editors allow team members to brainstorm / document processes easily.
  • Kanban Boards - Kanban boards, regardless of which software you use allows you to visualize work in progress.
  • Wiki - Wikis are great for storing the most critical information in a way that is easily accessible
  • Doc Sites - Doc sites are like Wikis but have the benefit of being released /published via source control.
Written by Rahul Singh