I once read a story. It was a story about a company that was hired by Apple to create Apple’s CD burner software. I am not sure if it’s true or not, but I like it, so I will convey it to you anyway.
A small company in Silicon Valley had been given the task of creating Apple’s CD burner software. They were going to meat Steve Jobs, so they were so enthused about this project, they were about to burst of enthusiasm. They prepared like you wouldn’t believe it. 3 months of writing specifications, use cases, and thinking about every possible little thing they could imagine the software would need. The software had all the buttons you could imagine, for every possible task in this world, and they had hundreds of pages of documentation explaining their rational.
When the day for their meeting with Steve came, they headed up to Apple’s HQ, and brought all their documents and presentations with them. Steve walks into the room and says “Hi, I’m Steve”. Then he proceeded to the whiteboard and drew a big square on the board. He said “this is the software”. Then he drew a smaller square in the middle of the software as he said “This is its only button”. It said “Start” or something I think. He finished off with saying “Good luck”, before he left the room. After a week of being angry for being largely ignored by their hero, these software developers realised Steve was right. No need to go “nuclear” on features and buttons. The software didn’t need more than one button, and everything beyond that single button was arguably “bloat”. And their conclusions was as follows.
There are no other sane ways of creating software