Types of Development
2018/11/25 (553 words)

Types of Development #1

Rage driven development

Where an existing application/process causes one to rage so hard you spend the next 6 weeks over-engineering a solution to solve a simple problem. Example Perl.

Types of Development #2

Test driven development

Where previous projects and death marches result in a violent reaction of over-correcting for past failures and everything must be tested dammit. Example includes any project where the goal is 100% test coverage.

Types of Development #3

README driven development

A markdown file is created and filled with a description of the perfect simple application. This remains relevant for the first 2.3 hours of development. Examples include any GNU tool replacement written in Go or Rust.

Types of Development #4

Resume driven development

Development driven by an intense desire by everyone involved to get a new job or promotion. Every technology choice is made as the ultimate resume padder. Examples include Kafka + Haskell Micro-services for ML IoT projects.

Types of Development #5

Sales Driven Development

Where you value potential customers more than existing customers. Usually caused by sales gaining commission on new sales but not existing contracts. Examples include almost all enterprise software with every check-box feature in the world.

Types of Development #6

Behavior Driven Development

Where you use real users to drive your development methodology and end up delivering a product that mostly works for about 3 people as everyone else had their voice drowned out. Examples include mobile apps tested by your Mum.

Types of Development #7

Contract Driven Development

You split into front-end and back-end teams who build ivory tower solutions and then blame each other for not conforming when the integration fails. Examples include most companies that adopt a micro-service architecture.

Types of Development #8

Bug Driven Development

Management looking for a promotion forces arbitrary changes that cause the application to break in odd ways. You spend the rest of your tenure fixing bugs as reported by users. Examples include database merges for cost saving purposes.

Types of Development #9

Billable Hours Development

Promise everything without any intent to deliver any value. Only the production of billable hours matters. Examples include any projects where they are contracted out to bum on seat consultancies.

Types of Development #10

Legal Driven Development

Any change to the system has been voted in by a government or parliament. It includes no less than 68 pages of legalese with no technical information. Development must be done paired with a legal advisor who usually does not understand computers is paid 6x what the developer is and questions every change. Examples include any government initiative such as electronic census collection, voting or park website.

Types of Development #11

Despair Driven Development

A refactoring of a project started with wholesome intentions. Alas the project was built on the foundations of multiple other projects that sank into the swamp, and any change takes at least 10x the effort over re-implementing from scratch. Business loves the application because it solves a legitimate business problem albeit at the cost of developer sanity. The refactor never finishes, and despair consumes the next batch of wide eyed developers. Usually followed by the developer moving to Resume Driven Development. Examples include any custom internal large enterprise application written using WebForms and C# 2.0 that for some reason have 2 service layers.