Skip to main content

Tech Stack Decisions

Software's job is to help people solve problems that create real world value.

Understand the job to be done to determine required functions and desired outcomes.

Happy customers pay the bills

KPIs

  1. Speed of delivery
  2. Speed of iteration
  3. Utility, do more with less
  4. Flexibility, avoid lock-in
  5. Maintainability over time

Decision Log

Create a decision journal to ensure:

  1. people that join a project later can understand context to a decision
  2. you can review the decision against the same criteria if circumstances change
  3. you can improve your decision making process
  4. save time answering questions why a decision was made

Checklist

What outcomes matter most? Create a standard checklist to routinely re-affirm convictions and make evolutionary bets.

Routinely evaluate your toolset to enhance developer experience and enables ability to ship value as fast as possible.

Cost

  • Wages for expertise
  • Licence costs
  • Training costs
  • Data migration costs
  • Recurring costs
  • Lock-in costs?
  • How does the price ramp up
    • After a trial period?
    • As need for scale?

Recruitment and Wages

  • Cost of wages for cloud engineers vs Vercel and services?
  • What are the costs for level of expertise you need? How do those costs compare to industry standards?
  • Employee Onboarding

Priorities and Culture

Everyone in an organization has a stake in the tech stack.

  • Does your tech stack allow for scalability and innovation?
  • Do you choose tools that integrate well with the other systems you have in place?
  • Do you include internal teams in the evaluation process?

Context Shifting

Maintain a flow state by reducing context shifts to a minimum.

Fit for Purpose

Does it fit with the operating purpose and vision for the organisation.

  • how suitable right now?
  • how long into the future?

Utility

How flexible at providing solutions to many types of problem?

Beside the core purpose for evaluation, what other potential uses are there?

Developer Experience

  • Does it make being a good developer easier to achieve?

See Software Development Metrics

Time until Valuable Commit

  • How much effort team to upskill?
  • How quickly can new developers make a valuable commit?
  • Suitable for growing teams?
  • Can new hires read docs without hand-holding?
  • External training costs?

Talent Pool

  • Do you need to recruit new people?
  • What is the state of developer adoption state and trend?

Developer Machine Setup

Time and complexity to setup:

  • Business Operations machine
  • Developer Machine
  • Continuous Integration

See laptop setup

Deployment Complexity

  • How easy?
  • What skill level?
  • How many hours of life will be lost solving deployment issues?

Support Community

  • Vendor Support? What Channels? What Cost?
  • Repo Community and Activity
  • Stack Overflow
  • Related Github Projects
  • Tech Leader Endorsements

Security

  • What are risks?
  • How robust?
  • What proof?

Radar

Resources for checking the pulse of the latest tech trends:

Attachments