Few days back, I finished reading an awesome book, REWORK by Jason Fried and David Hansson, the founders of 37signals. The book provides a lot of insights, tips and rules on getting things done and how to do them in a right way among various other tips for entrepreneurs for building culture and grow your company. Its a great read not only for entrepreneurs but anyone who deals with everyday tussle of planning, building and shipping things.

There are a bunch of amazing advices in this book and hence a must read specially for software engineers. After reading the book, I wanted to take few notes that I can refer later on and so instead of hiding them in Evernote, I thought of blogging it and make it available to everyone.

This is not a comprehensive list and does not reflect the book entirely, so you should definitely read the book. Below are some of the chapters and their summary in my words:

Build half a product and not a half-assed product

In other words, think of adding enough business value to your product iteratively rather than throwing it out with all the bell and whistles that your users might not even need them. Also, this allows you to ship things fast, get the feedback and build upon that feedback.

The feedback from users is so important that it can influence your own plans and overall vision of the product. So make it short and better, and ship it!

Good enough is fine

Instead of thinking about complex solutions for complex problems, first come up with something simple. As we do during the interviews for a new position, we always tend to tackle the problem with a ‘naive’ solution and then build on that to come up with a better solution. Most of the times, the simple solution is good enough for even a complex problem and the best part is you can come up with a simple solution and try it out very quickly. If its all good, we have solved the problem without much efforts. And if it does not work, then we can always add on and work on better solutions.

As in Amazon we say, don’t get bogged down in analysis-paralysis, think of a simple solution; it is always better.

Long lists don’t get done

Never have long lists of things to do, rather break them up into smaller lists based on the context. When we look at longs lists, we get demoralized on the first look itself and it keeps on adding to our guilt of not getting done so many things. If the lists are small, one has a good chance of prioritizing them well and actually get them done.

You need less than you think

Again, as we do and believe at Amazon: Be Frugal. Most of the times, we can ship things and get things done with less resources and use only what we need. How is that possible? Well, if you have less resources to worry about, you will have more time to concentrate on the right and core thing to do and you will actually get it done.

For example, ask questions like:

Do you really need ten people or will you get it done with three or two or just one?

Do you really need a big office or can you share your office space for a while?

ASAP is poison

Whenever someone wants to get anything done, its always ASAP. This says nothing about the priority when all the tasks has to be done ASAP.

As the authors says, when everything is high priority, nothing is. This just creates artificial stress, which leads to burnout and worse. So this should be reserved only for true emergent situations, for everything else just chill out.