Rework book summary introduction
I recently finished a good, short and simple book called Rework, by DHH and some other guy at 37 Signals. They are the guys that created Ruby on rails and the basecamp agile collaboration tools. The book is about the things they have learnt over the years in their pragmatic creation of basecamp. They share everything they know.
I'm a fan of the lean startup and I like cutting through the excess and making real and standout progress. So I have reread and highlighted the important points and created the rework book summary. Without further ado, let's time to rework.
Headings of the Rework Book Summary
Don't do real world
That will never work in the real world
The real world of theories taught in text books and written on walls? The real world where anything that is new and different fails? On the contrary, the ideas that are new and different are the ones that win. Doing something that has been done is not innovation, its globalisation. Try it, do it, be pragmatic, Minimum viable product. Be aware of this bullshit excuse for not trying within yourself and amongst your people.
Learn from Success, Focus on Success
Failure is harped upon by the king-shit entrepreneur and is quick to tell you that your chances of success are slim to none and that you need to fail. Fuck that, failure is bad and not something to learn from. It is easier to fail, cause there are much more ways to fail than succeed. So the value of learning another way to fail is worthless. Learn from successes no matter the size. Improve upon them, it is only natural.
Planning is Guessing, Give up on Guesswork and Wing It
There are just too many factors to have long term plans, things change and they change fast. Plans are just guesses and if you stick to them you are putting blinders on yourself. Plans don't allow you to improvise.
You have the most information when you are doing something, not before you have started. That's the worst time to make a big decision.
Forget your ego and boasting about the size of your company. That's a mugs game, you can dry your ego-tears with R200 notes.
Only grow when you need and want to. It is an antipattern. A sustainable, happy and profitable company is better than a bloated, unhappy and unprofitable mess like the South African public sector and it's parastatals.
Don't work overtime, Kill the workaholic culture
Our culture celebrates the idea of a workaholic...They pull all-nighters and sleep at the office. It's considered a badge of honor to kill yourself over a project.
Fact is nothing is hurting your project more, for the following reasons:
- Working more doesn't mean you care more or get more done. It just means you work more.
- Workaholics create more problems than they solve
- It is not sustainable
- Throwing hours at a problem doesn't solve it. The brute force of inelegant solutions cannot make up for intellectual laziness.
- It create crises - they don't look for more efficient ways and even invent problems because they actually like working overtime
- Workaholics enjoy thinking they are heroes - they are clowns in reality
- It creates guilt and poor morale for other that merely work regular hours.
- Creates an ass-in-seat mentality, staying around and not being productive
- If all you do is work you will not have sound judgements, you need to take a step back
- No one makes sharp decisions when tired
The real hero is at home because he/she already figured out a faster elegant solution way to solve the problem.
Stop calling yourself entrepreneur
The word has too much baggage and bullshit around it. You don't need to read books or have degrees. Do shit on your own terms, your way with confidence. Be a starter.
Do something Valuable, do something meaningful to you
You need to feel like you are making a difference. You need to build your legacy, be the difference. Only then will you put your heart into it.
Make something you want to use
The most straight-forward way of making something useful, it to make something useful to you. Scratch your own itch, eat your own dog food. It lets you design what you know and you will know immediately when something is not quite right.
If you are solving someone else's problem you are constantly stabbing in the dark, when you solve your own problem the light comes on.
You can assess the quality directly. A shorter feedback loop and faster development. It also makes you care more about the product or service your are creating.
Make it! Now!
Every dingle-dick has an idea and a plan that they have not built or tried. Ideas and plans mean nothing until they are put into action. Ideas are cheap and plentiful. You need to execute.
Make Time! Now!
Forget the no time excuse. Squeeze a few hours in a week. There is no need to quit your job, just do a little bit extra. Cut out the tv watching and gaming. You've got to want it bad enough, the perfect time is now.
Start with Why and Be Opinionated
Be opinionated, have a point of view. Why are you doing what you are doing? What do you want to show the world? Have a backbone and be confident. Not everyone will like you. You can't die of a bleeding heart and you can always dry your tears with R200 bills. If no one is upset? you're not doing it right. Decisions become obvious, no discussion and you can cut through the crap. Let those customers go, you need to have rules. You've got to stand for something or you will fall for everything.
Don't try con your customers into thinking you care, you should really care or stop the show.
Fund your start up internally
Service businesses don't require expensive infrastructure and overhead. Basically you stop calling the shots and you start being owned
- You give up control
- Cashing out becomes a thing
- Spending other peoples money is easy (Look at the South African Government's wastage of tax payers money)
- You have no hand (leverage)
- Customers become less important, pleasing the investors becomes number 1. So you end up having to prove you are doing work instead of actually doing work.
- Seeking money distracts from building the startup
Remember most big things started in garages. Don't succumb to marketing pressures in society, you need less than you think you need. Think minimum.
Startups are businesses too, not butterflies and fairy tales
Every single business is governed by the same market forces and economic rules. Revenue in expenses out, stay profitable. Sustainability. A business without a path to profit is a hobby not a business. Startups are businesses too and they are your problem.
Be committed, don't start if you want to exit
There is no exit strategy. You stay, persevere, innovate and commit to reworking. If your whole strategy is based on leaving you won't get far.
Avoid excess, avoid Mass
Keep it lean. The more mass an object has, the more energy is required to change its direction. Whenever you find yourself talking instead of acting, meeting instead of doing. Keep light, agile so you can improvise and respond quickly to changes.It also gives you room to make mistakes, quickly correct them, change your priorities and change your mind.
Make do with the constraints, Embrace constraints
Constraints help you not waste and enhance your creativity. Use what you have, keep it simple and get it done.
Cut features, Cherry-pick the best
You are better with an awesome half-product than a half assed fully fledged product.
Start and focus on the epicentre
Find the core of your product or service by asking, "If I removed this, would what I am selling still exist?". Make that epicentre the best it can be and make it functional. That is what you have to do. Then focus on what you could or want to do.
Ignore the details early on
Getting infatuated with details too early leads to disagreement, meetings and delays.
You get lost in shit that does not matter. Don't waste time on things / decisions that are going to change anyway. Lock down the basics and the big picture first.
Make decisions now == make progress now
Commit to making decisions. Putting off decisions make them pile up, they are then ignored, dealt with in haste or thrown out. Don't make perfect decisions, make suitable decisions.You can't build on a foundation that is not set.
What can we easily do right now that is good enough?
You don't have to live with a decision forever, you can correct it later. No matter how much you plan you still get some stuff wrong.
Constantly look for things to remove
Simplify and streamline
Throw less at a problem
When things aren't working, the natural inclination is to throw more at the problem. More people, time and money. All that does is make the problem bigger.
Focus on what won't change
Don't waste your time on things that are more likely to change. Focus on things less likely to change like great selection, great quality, good shipping, simplicity and great customer relations.
Progress > Process
The way you do things and the tools you use need not be the best to product results. They just need to get it done. Like 2 developers arguing about which framework is best, usually they won't have tried all of them and there is no correct answer because what you create with the framework is more important.
Sell your by-products
Whenever you create something there is by-products, like lessons learned, a programming workflow, a system used to manage the product, a footer for a website or a programming framework. Keep an eye out for these by-products you don't notice.
Once your product does (the minimum) of what it needs to do. Just cause you have a list of things to do, it doesn't mean it is done. Build necessities now, luxuries are for later. Iterate and start now. Stop imagining what will work, find out for real, now.
Burn all documents, build prototypes
All these huge documents of functional specs, requirements doc and sign offs. They take forever to make (because they are usually made with guesses) and a second to forget. Such a waste. Time to cut though the crap and show it or draw it. instead of writing it down. Its an illusion of agreement, not true understanding because everyone will have their own interpretation in their minds. Show the real thing, to get real understanding leading to real decisions and results.
Why are you doing this? What is it for? Don't do something just because you were told to do it
What problem are you solving? Don't solve imaginary problems. Also don't solve invented problems and guesses. Solve problems you have that there is evidence of. Actually ask end users what the problem is.
Is it useful? Enthusiasm is not usefulness. Coolness wears off, usefulness doesn't.
Are you adding value? Adding something is easy, adding value is hard. Value is about balance.
Is there an easier way? Problems are usually pretty simple, we just imagine or interpret them as difficult.
What could you be doing instead? What are you not able to do because you are stuck on this trivial thing? Prioritisation...
Is it worth it? Find the real value of meetings, woking overtime, spending money on advertising or stress. Are these things going to pay off? or just waste time and money.
Sometimes abandoning what you are doing is the right move. Don't waste good time on bad work.
Stop Interrupting, get into the Alone Zone
If you are not getting enough done at work it is because of interruptions. When do you get the most stuff done? Most likely at night or in the mornings, when no one is around. Meetings, answering emails, chatting to colleagues, impromptu catch-ups are corrosive to productivity. Focus on a single thing for as long as it needs. Quickly swapping between tasks, wastes time and task specialisation is dropped in task switching. Let go of communication addiction.
- They are usually about abstract concepts not real things
- They don't convey enough information per minute
- They go off topic
- They require preparation most people don't have time for
- They inevitably have 1 guy who wastes everyone's time with nonsense
- Meetings procreate and cause more time wasting (more meetings)
- They are scheduled and scheduled for too long (when has there been a 2 minute meeting scheduled)
Rules of meetings
- Set a timer - the meeting must end when it is over. No excuses.
- Invite as few people as possible
- Begin with the problem
- Meet at the site of the problem
- End with a solution and a decision, and who is implementing it
Do Judo Solutions
Deliver the maximum efficiency with the minimum effort. It is good enough to live simply, instead of wallowing in complexity.
Quick wins! Get something done and move on
Build momentum. No one likes being stuck in an endless project with no finish line. This works hand in hand with launch now!
Don't be a hero
Sometimes things take longer than expected (or that you estimated) and you struggle and toil in finding the solution. That is the nature of the job. How you react to this is important, don't shut yourself in and try brute force a solution. Step back and ask for help or another pair of eyes. Sometimes there is an obvious solution staring you in the face. Quitting might also be the best solution.
You can't create a culture, it just happens
Culture takes time to develop. If you fast track it with policy, missions statements and visions it ends up being fake. Your consistent behaviours become your culture. If you encourage sharing amongst employees, then sharing becomes part of the culture.
Don't make up problems
Don't jump the gun. Problems aren't problems until they are real problems. When circumstances change, decisions change. To add on that, change just happens regardless, things will change. Optimise for now, launch now and worry about new issues when they arise.
Premature optimisation is the root of all evil - Donald Knuth
Ability to change is a big advantage. Not being able to change / move fast, means you are forced to overplan on shit you have no control over in the future which leads to wasting energy, time and money.
Focus on a rockstar environment, not landing rockstar people
Everyone is capable of bad, average and great work. People tend to change more frequently and are harder to control. Stay away from the lame policies, poor direction and stifling bureaucracy. Think trust, autonomy and responsibility. Great environments show respect for the people that do the work and how they do it.
Trust people more, Skip Approvals
Don't treat people like kids. You create a boss vs worker relationship. Also wasting time and money on monitoring employees is an anti-pattern, it breaks trust.
You need better use of hours, not more hours
People naturally be more efficient when they have somewhere to be. They use time more wisely when they have other things going on.
Don't cause a shit storm or a policy
When things go wrong once, don't cause a shit storm and write a policy about it. Deal with it sensibly. Don't cause excess red-tape, bureaucracy and corporate bullshit.
Professionalism is a mask king shit people hide behind
When things are too formal, people feel like you are talking at them, not to you or with you. The ability to communicate simply and directly is the greatest advantage which "professionalism" ruins. So use your usual language across all mediums including email etc. Skip the long buzz words if you can, keep it simple. Unless you want to sound like you're cool, but cool people see through that. Also remove that legal crap on the bottom of emails, because it basically says we don't trust you.
Never Say: Need, Must, Can't, Easy, Just, Only, Fast
These words get in the way of healthy communication. You create black and white situations, but the truth is rarely black or white. Tension and conflict is injected unnecessarily.
- Need -> Maybe
- Can't -> Probably can
You kill the middle ground and the middle ground is usually the best place.
ASAP is Poison
If everything is ASAP, then what does it really mean. Most things don't warrant this hysteria. This emergency language causes artificial stress which leads to burnout.
Inspiration: Use it while you have it
It is a productivity multiplier and motivator.
Don't panic, take a deep breath
Let it settle down. Just because people complain it doesn't mean you should change. Negative reactions are the loudest. Resist the panic, let them know you are listening but explain why they are wrong. Have a backbone.
Put everyone on the frontline
Everyone should know and communicate with the customer. The more people between the customer and the people doing the work, the more distorted the understanding. No one should be shielded from direct criticism because criticism is good.
- Use I instead of we
- No Inconvenience, it is a crisis
- Don't use may, of course there was inconvenience
Get back to people quickly no matter who they are. Listen well.
Own your bad news
Someone will tell it, might as well be you. To prevent rumours and interpretation. Tell your customers first, even if they didn't notice. Customers will respect your honesty and response to crisis.
- The highest ranking person should own it
- Spread the message with all mediums available
- Give a real apology
- Be concerned about your customers and prove it
- No comment is not an option
Test drive employees
Give them a project or an actual task they will do in the job
Clear writing is clear thinking
If a person's writing is easy to understand it shows clear thinking, the currency for good ideas.
Hire people that manage themselves
Set their own direction, have done something on their own. Work more, manage less.
Don't hire delegators
- They clog the pipes
- More work is invented, so they feel that they are doing work
- They love meetings (Meetings are toxic) to feel important
Formal education means fuck all
Years of experience are irrelevant
6-month and 6-year candidates have very little difference. Real difference is dedication and intelligence.
Resume or CV's are junk
- they are spam
- they are about any job, not your job
- the cover letter is more important, candidate should explain why they want to join
Don't have strangers at a cocktail party
When everyone is a stranger when company meets, everyone is trying to avoid conflict and be polite and not get into the nitty gritty. You need to be able to tell people the truth and that they are full of shit. Hire slowly.
Great people without a need is a mutual time waster
Don't invent positions.
Only hire when you need to
Don't be addicted to hiring. Try and make it work with what you have, maybe you don't need extra people.
- Don't hire someone for a job you haven't tried
- Understand the job, the nature of the work, what is a good job
- Be a better manager
- Know what you are looking for
- Helps you know your business more closely
Don't send out newsletters
No one reads that stuff. If you want genuine attention don't do what everyone else is doing.
Think Niche Media
Forbes Magazine, the economist, smash magazine etc. They are usually late to the party and stale. Try catch the eye of a niche blogger, medium writer or great twitter dude or dudette.
Emulate Drug Dealers
- Give a little away for free, the product is so good you know they will come back for more
- Make your product bite-size
- Don't force large one-off investments
Everything you do is Marketing
Don't have a marketing department. Everything you do: your work, your product, sending emails, how you answer phones and the website is all marketing.
No one cares about you
You aren't big, you aren't special, the overnight-success is a myth.
Slow and measured growth is the target. You need a story to tell. Build an Audience.
Out-teach, don't out spend
Everyone has money and usually big firms have much more than you do. They will always win a game dictated by cash spend. Sales people, fancy events, advertising, secrecy, red-tape and lawyers all that is bullshit.
- Your competition never think about teaching
- Host Meetups and make tutorials
- If you teach them something, users and prospective employees will respect you more
- Learning is a lifelong thing, teaching and learning go hand in hand.
Share everything you know
There are two secrets to success:
1. Never tell everything you know. - Steven Shelton
The above quote sometimes holds true but in the very rare case where you actually have a tangible competitive advantage or trade secret. Very few ideas or companies actually have a trade secret. Don't be paranoid and secretive. The only way to keep a competitive advantage is to to stay ahead and be the best by moving fast and making the product great for customers.
Go behind the scenes
People are curious about the inner workings of things: think how it's made, deadliest catch and ice road truckers. Share it with them: it creates a bond of trust and appreciation.
- We all know that regular people can't relate to professionals, this fake formal talk and ways of acting.
- Show your flaws and imperfections
- All these norms and guessing at how you are supposed to behave is junk, why is everyone aiming for that? Be yourself, be different it is your advantage.
- Your story should be poetry, showing that you have a soul unlike the millions of the same old story.
- You don't need to be perfect and polished that comes with time, just release with your small imperfections, accept and be real.
Build an Audience
- An audience returns often by its own accord because it likes you or your product, or why you are doing what you are doing.
- You can't buy people's attention, they must give it to you.
- Speak, write, blog, tweet and make videos
Stay in the Shadows
Why do you want to be in the limelight? So you mistakes and imperfections can be seen easily? It should happen naturally and will make you more conservative and pedantic.
In the shadows it is:
- Easy to make mistakes
- Easy to tweak things
- Easy to fix things
- Easy to try new things
Don't write down customer requests
If it really matters you will hear it constantly. Your customers can be your notepad.
Make a Good-at-Home Product
Avoid hype and marketing. It may sell a product but customers won't comeback for more and won't trust the company and will feel duped. Build a product that people like to use in their daily lives. Long term. You can't paint over bad experience with good marketing.
Think Usefulness, forget enthusiasm
Don't make the mistake. Things change, let the enthusiasm cool and think if the usefulness is there.
Focus on Users not competitors
- You will always be playing catchup, instead of leading the pack.
- Reactionary instead of visionary.
- Make the rules, don't play by other peoples rules and benchmarks. That's a losing game.
Say No by Default
It's easy to say yes. To that optimistic deadline or redesign, but it often becomes a regret. Saying 'No' is not often regretted, but people avoid conflict and confrontation. Cut down on features, don't accept crap.
Let your customers outgrow you
Don't change your core product for 1 customer. When you do this you cut yourself off from new clients and it makes the product less applicable. You give up independence. You scare new customers away. Keep your product open and easy to use.
Understand, don't copy
- You never lead
- Creates a bad foundation for future decisions
- Understanding helps you grow, copying doesn't
Put "You" into your product
Thrive on your uniqueness
Natural protection from copycats
sell the whole package,the whole solution, Start with Why?
Pick a Fight (Be anti-)
- Creates competition with a product in your market you think you can or are better than
- Taking a stand, stands out.
- Take sides, be passionate
Do less, underdo the competition
- You don't need to keep up with the Jones', 1-up the competition, that makes your decisions defensive.
- Do less, do simple
- Make low-tech, lighter, cheaper and less maintenance
- Less features, focus on the core
- Do one thing and do it well
- Be proud of the less that you do
Always Sleep 8 hours
You pay more later on in forsaken sleep: lack of creativity, technical debt, bad decision making and stubbornness. This is not something to brag about.
Humans are bad at estimating. It is better to estimate small things, in small chunks than massive things. Humans usually estimate the best case. They don't take into account the inevitable fuck ups. Try the 3-point-estimate.
Make short lists, avoid long lists
The longer the list, the worse you feel. They collect dust and are never done. Break it into smaller tasks make real progress and start some momentum. The most important thing on top of list, stop priority and numbers.
Make tiny decisions
Big decisions are:
- hard to make
- hard to change
- are believed even if they are wrong
- involve ego and pride
Small decisions have a smaller penalty and are easily changed.