In an interview, Fried, creator of Ruby on Rails, talks about the power of small teams and small businesses. He has some advice for software projects as well:

List all the features you’d like on your product and cut them in half. Then, cut that list in half.

I think it’s pretty funny, true as well. As we bloat software with more features, it becomes complicated and creates usability problems for users. The product becomes difficult to learn and use. Less is more approach is becoming an important methodology in software design.

Being a small business is better than being a big one. Having few resources is better than having unlimited resources. Having less time is better than having all the time in the world.

In fact, isn’t engineering itself an art of optimization under constraints? These constraints are the driving force behind innovation.