Choosing Technology Based on Team Structure Rather Than Features

From PiRho Knowledgebase
Jump to navigationJump to search

Summary: Technology selection is often presented as a comparison of features, performance metrics, and technical capabilities. Whilst these characteristics are important, they rarely determine long-term success on their own. The teams responsible for building, operating, supporting, and maintaining a solution frequently have a greater influence on project outcomes than the technology itself. This article explores why successful organisations often choose technologies that align with their people, processes, and organisational structure rather than simply selecting the product with the longest feature list.

Context

Technology comparison articles frequently focus on:

  • Features
  • Benchmark results
  • Memory consumption
  • Performance statistics
  • Scalability limits

These comparisons are useful, but they often ignore an important reality.

Technology does not operate itself.

Every system requires people to:

  • Design it
  • Build it
  • Deploy it
  • Support it
  • Maintain it
  • Improve it

A technically excellent solution can fail when the organisation lacks the skills or resources needed to sustain it.

Conversely, a less sophisticated solution can prove highly successful when it aligns well with the capabilities of the team responsible for it.

Technology selection should therefore be viewed as an organisational decision as much as a technical one.

The Technology Selection Trap

Many organisations begin technology evaluations by comparing specifications.

A typical comparison might focus on:

  • Performance
  • Feature sets
  • Language design
  • Framework capabilities
  • Development speed

Whilst these characteristics matter, they represent only part of the equation.

Two technologies may provide similar functionality while having dramatically different organisational implications.

For example:

Technology A

Excellent Features

Poor Organisational Fit

may produce worse outcomes than:

Technology B

Good Features

Excellent Organisational Fit

A feature comparison alone rarely reveals the full picture.

Technology Does Not Operate Itself

Architecture diagrams often focus on technical components.

For example:

Application
        ↓
API
        ↓
Database

Whilst technically accurate, such diagrams omit the most important component.

People
        ↓
Application
        ↓
API
        ↓
Database

Every technology decision ultimately affects the people responsible for operating the system.

Questions worth asking include:

  • Can the team support it?
  • Can new staff learn it?
  • Can the organisation recruit for it?
  • Can it be maintained sustainably?

Ignoring these questions creates risk.

Understanding Team Structure

Different team structures naturally favour different technologies.

Small Teams

Smaller teams often benefit from:

  • Simplicity
  • Productivity
  • Reduced operational overhead
  • Broad skill coverage

Technology choices may prioritise efficiency over specialisation.

A small team may struggle to support highly fragmented architectures requiring numerous specialists.

Large Teams

Larger organisations can often support:

  • Specialist roles
  • Dedicated platform teams
  • Formal governance processes
  • Extensive documentation

This can make more complex architectures practical.

Specialist Teams

Some organisations maintain dedicated expertise.

Examples include:

  • Android teams
  • iOS teams
  • Security teams
  • Database teams
  • Platform teams

Technology choices may intentionally leverage these specialisations.

Generalist Teams

Other organisations prefer broad technical capabilities.

In such environments, technologies that reduce specialisation requirements may provide significant benefits.

Skills as an Architectural Constraint

Architecture is often discussed in terms of technical limitations.

However, skills are also constraints.

Consider the following:

Organisation

20 Experienced C# Developers

0 Flutter Developers

A technically sound decision may involve:

.NET MAUI

rather than Flutter.

This does not necessarily imply one technology is superior.

It simply recognises the skills already present within the organisation.

Similarly:

Organisation

Large React Development Team

may naturally gravitate towards:

React Native

because existing knowledge can be reused.

Architects should understand that people are often the most valuable asset in a technology stack.

Organisational Costs of Technology Choices

Technology decisions create costs beyond licensing and infrastructure.

Training Costs

Every new technology requires learning.

Training may involve:

  • Formal courses
  • Self-study
  • Mentoring
  • Experimentation
  • Certification

Learning consumes both time and resources.

Recruitment Costs

Technology choices influence future hiring requirements.

Questions worth considering include:

  • Are skilled candidates readily available?
  • Is the technology widely understood?
  • Are recruitment pipelines established?

The answer can significantly affect project sustainability.

Knowledge Transfer Costs

Knowledge concentrated within a small number of individuals creates risk.

Documentation can assist, but practical experience remains valuable.

Support Costs

Operational teams require sufficient expertise to:

  • Troubleshoot issues
  • Apply updates
  • Diagnose failures
  • Perform maintenance

Technology choices influence all of these activities.

The Bus Factor

The Bus Factor describes the risk associated with concentrating knowledge within a small number of individuals.

A simple question illustrates the concept:

"What happens if a key team member becomes unavailable?"

For example:

One Expert Developer

creates significantly more risk than:

Ten Competent Developers

even if the expert possesses greater technical knowledge.

Architectural decisions should consider continuity.

Technology that depends upon a small number of specialists may introduce organisational fragility.

Conway's Law and Organisational Alignment

Conway's Law suggests that systems often reflect the communication structures of the organisations that create them.

For example:

Android Team

iOS Team

Backend Team

Security Team

may naturally produce:

Distinct System Components

because responsibilities are divided organisationally.

Conversely:

Cross-Functional Product Team

may produce:

More Integrated Solutions

because communication paths differ.

Technology choices often succeed when they align with existing organisational structures.

Technology Lifecycles and Team Stability

Technology evolves continuously.

Teams evolve continuously.

Successful technology selection considers both.

Questions worth asking include:

  • Can the team maintain this technology for five years?
  • What happens if key staff leave?
  • How difficult is onboarding?
  • Is the technology likely to remain relevant?

Long-term sustainability frequently matters more than short-term excitement.

Example Scenarios

Scenario 1: Microsoft-Centric Organisation

An organisation employs:

  • C# developers
  • Azure administrators
  • Microsoft specialists

A decision to use:

.NET MAUI

may provide strong alignment with existing capabilities.

Scenario 2: Web-Focused Organisation

An organisation already operates:

  • React-based websites
  • JavaScript-heavy platforms
  • Front-end development teams

A decision to use:

React Native

may reduce training and onboarding costs.

Scenario 3: Android-Focused Development Team

An organisation possesses extensive Kotlin expertise.

The application requires:

  • Native user experiences
  • Significant shared business logic

A decision to adopt:

Kotlin Multiplatform

may represent a natural evolution.

These examples demonstrate that technology selection often depends upon organisational context as much as technical merit.

Common Misconceptions

"The Best Technology Always Wins"

Not necessarily.

A good technology with strong organisational support often outperforms a superior technology with weak organisational support.

"Developers Can Learn Anything"

Whilst true in principle, learning requires:

  • Time
  • Budget
  • Mentoring
  • Patience

These costs should not be ignored.

"Future Hiring Can Be Solved Later"

Technology decisions can influence recruitment for many years.

Architects should consider long-term consequences rather than immediate requirements alone.

"Features Are All That Matter"

Features are important.

However, successful organisations also value:

  • Maintainability
  • Supportability
  • Stability
  • Team productivity

Practical Guidance

When evaluating technology choices:

  • Assess existing skills first
  • Consider support and maintenance requirements
  • Understand recruitment implications
  • Evaluate team structure honestly
  • Minimise unnecessary complexity
  • Avoid selecting technology solely because it is fashionable
  • Consider the lifecycle of the solution
  • Plan for knowledge transfer

Technology should support the organisation rather than force the organisation to constantly adapt to the technology.

A Vehicle Maintenance Analogy

Consider selecting a fleet of vehicles.

Many organisations compare:

  • Speed
  • Payload
  • Fuel economy

Experienced operators also consider:

  • Availability of parts
  • Mechanic expertise
  • Maintenance procedures
  • Training requirements
  • Long-term support

The technically best vehicle may become the wrong choice if nobody can maintain it.

Software technologies often present the same challenge.

Conclusion

Technology selection is frequently presented as a purely technical exercise.

In reality, the most important characteristics of a technology may not be performance, scalability, or features.

They may be maintainability, supportability, knowledge availability, and alignment with the people responsible for the system.

A technology that fits the structure, skills, and capabilities of an organisation will often deliver better outcomes than a technically superior alternative that does not.

Good developers evaluate technology.

Good architects evaluate the environment in which that technology must survive.

Ultimately, successful systems are built not only around software, but around the people who create, operate, support, and maintain it.