I just read 37 Signals "Getting Real" this weekend and as I think it has important points for the people who do web stuff, I picked up the most important points to this list:
1. Do less
• Less features
• Less options/preferences
• Less people and corporate structure
• Less meetings and abstractions
• Less promises
2. Build for yourself
A great way to build software is to start out by solving your own problems. You'll be the target audience and you'll know what's important and what's not.
3. Outside money is plan B
The first priority of many startups is acquiring funding from investors. But remember, if you turn to outsiders for funding, you'll have to answer to them too. Expectations are raised. Investors want their money back — and quickly. The sad fact is cashing in often begins to trump building a quality product.
These days it doesn't take much to get rolling. Hardware is cheap and plenty of great infrastructure software is open source and free. And passion doesn't come with a price tag.
So do what you can with the cash on hand. Think hard and determine what's really essential and what you can do without.
4. Scale back
Here's an easy way to launch on time and on budget: keep them fixed. Never throw more time or money at a problem, just scale back the scope.
5. Be Yourself
Differentiate yourself from bigger companies by being personal and friendly
A lot of small companies make the mistake of trying to act big. It's as if they perceive their size as a weakness that needs to be covered up. Too bad. Being small can actually be a huge advantage, especially when it comes to communication.
6. What's the Big Idea?
Explicitly define the one-point vision for your app
What does your app stand for? What's it really all about? Before you start designing or coding anything you need to know the purpose of your product — the vision. Think big. Why does it exist? What makes it different than other similar products?
7. Make Opinionated Software
The best software has a vision. The best software takes sides. When someone uses software, they're not just looking for features, they're looking for an approach. They're looking for a vision. Decide what your vision is and run with it.
8. Start With "No"
The secret to building half a product instead of a half-ass product is saying no.
Make each feature work hard to be implemented. Make each feature prove itself and show that it's a survivor. It's like "Fight Club." You should only consider features if they're willing to stand on the porch for three days waiting to be let in.
For every new feature you need to…
• 1. Say no.
• 2. Force the feature to prove its value.
• 3. If "no" again, end here. If "yes," continue…
• 4. Sketch the screen(s)/ui.
• 5. Design the screen(s)/ui.
• 6. Code it.
• 7-15. Test, tweak, test, tweak, test, tweak, test, tweak…
• 16. Check to see if help text needs to be modified.
• 17. Update the product tour (if necessary).
• 18. Update the marketing copy (if necessary).
• 19. Update the terms of service (if necessary).
• 20. Check to see if any promises were broken.
• 21. Check to see if pricing structure is affected.
• 22. Launch.
• 23. Hold breath.
9. "Done!"
Decisions are temporary so make the call and move on
Done. Start to think of it as a magical word. When you get to done it means something's been accomplished. A decision has been made and you can move on. Done means you're building momentum.
10. Be An Executioner
Ideas are worth nothing unless executed. They are just a multiplier. Execution is worth millions.
Explanation:
• Awful idea = -1
• Weak idea = 1
• So-so idea = 5
• Good idea = 10
• Great idea = 15
• Brilliant idea = 20
• No execution = $1
• Weak execution = $1000
• So-so execution = $10,000
• Good execution = $100,000
• Great execution = $1,000,000
• Brilliant execution = $10,000,000
11. Do it quick
• 1. Decide if it's worth doing, and if so:
• 2. Do it quick — not perfect. just do it.
• 3. Save it. upload it. publish it
• 4. See what people think
Keep breaking down timeframes into smaller chunks. Instead of a 12 week project, think of it as 12 weeklong projects. Instead of guesstimating at tasks that take 30+ hours, break them down into more realistic 6-10 hour chunks.
12. You Can't Fake Enthusiasm
Enthusiasm. It's one attribute you just can't fake. When it comes time to hire, don't think you need a guru or a tech-celebrity. Often, they
're just primadonnas anyway. A happy yet average employee is better than a disgruntled expert.
Find someone who's enthusiastic. Someone you can trust to get things done when left alone. Someone who's suffered at a bigger, slower company and longs for a new environment. Someone who's excited to build what you're building. Someone who hates the same things you hate. Someone who's thrilled to climb aboard your train.
13. Design the interface before you start programming
Too many apps start with a program-first mentality. That's a bad idea. Programming is the heaviest component of building an app, meaning it's the most expensive and hardest to change. Instead, start by designing first.
14. Open Doors
Get data out into the world via RSS, APIs, etc.
Don't try to lock-in your customers. Let them get their information when they want it and how they want it. To do that, you've got to give up the idea of sealing in data. Instead, let it run wild. Give people access to their information via RSS feeds. Offer apis that let third-party developers build on to your tool.
15. Your product doesn't require a manual
You don't need a manual to use Yahoo or Google or Amazon. So why can't you build a product that doesn't require a manual? Strive to build a tool that requires zero training.
16. Issue a major update 30 days after launch
A quick update shows momentum. It shows you're listening. It shows you've got more tricks up your sleeve. It gives you a second wave of buzz. It reaffirms initial good feelings. It gives you something to talk about and others to blog about.
17. Go With the Flow
Be open to new paths and changes in direction. Part of the beauty of a web app is its fluidity. You don't wrap it up in a box, ship it, and then wait years for the next release. You can tweak and change as you go along. Be open to the fact that your original idea may not be your best one.
Be a surfer. Watch the ocean. Figure out where the big waves are breaking and adjust accordingly.
18. Execution
Everyone can read a book. Everyone can come up with an idea. Everyone has a cousin that's a web designer. Everyone can write a blog. Everyone can hire someone to hack together some code.
The difference between you and everyone else will be how well you execute. Success is all about great execution.
Here is the complete book online for those who want to dig deeper: Getting Real