ITNEXT

ITNEXT is a platform for IT developers & software engineers to share knowledge, connect, collaborate, learn and experience next-gen technologies.

Follow publication

Member-only story

The Laws of Software Development Explain Why Creating Software Always Takes Longer Than Expected

Ben "The Hosk" Hosking
ITNEXT
Published in
7 min readJul 11, 2022

--

Photo by Mikhail Nilov from Pexels

Today's solutions are tomorrow's bugs

Software development is a riddle wrapped in mystery and shoved down the back of the sofa, stuck to a boiled a sweet.

The rules and principles below describe why creating software takes longer than expected, even when we know the rules and principles of software development.

Software development is out to get you, so put your guard up and get ready to roll with the punches.

Hofstadter’s Law

Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law

Software development is fooled by simplistic view of the requirements e.g. at a high level all software seems simple. At detailed level it becomes complex.

The easy way for developers to bring realism to project plans is to get examples of how long it took to create similar software. Software Development Never Fails in the Plan, Always In The Execution.

  • It will be harder than you think
  • It will take longer than you think
  • It will cost more than you think
  • Everyone will need to work hard to fix all the problems that are going to occur

Brook’s Law

“adding manpower to a late software project makes it later” Brooks

When projects fall behind the common fix is to add more developers to the project. This can often make the project fall further behind, whilst costing more money.

Adding manpower to a late software project makes it later. Fred Brooks

--

--

Published in ITNEXT

ITNEXT is a platform for IT developers & software engineers to share knowledge, connect, collaborate, learn and experience next-gen technologies.

Written by Ben "The Hosk" Hosking

Technology philosopher | Software dev → Solution architect | Avid reader | Life long learner

Write a response