It Shouldn’t be a Chore
Your passion – or lack of – will shine through.
The less your app is a chore to build, the better it will be. Keep it small and managable so you can actually enjoy the process.
If your app doesn’t excite you, something’s wrong.
Likewise, if you feel passionately about your app, it will come through in the final product. People can read between the lines.
American business at this point is really about developing an idea, making it profitable, selling it while it’s profitable and then getting
out or diversifying. It’s just about sucking everything up.
My idea was: Enjoy baking, sell your bread, people like it, sell more. Keep the bakery going because you’re making good food and people are happy.
-- Ian MacKaye
The more massive an object, the more energy is required to change its direction. It’s as true in the business world as it is in the physical world.
When it comes to web technology, change must be easy and cheap. If you can’t change on the fly, you’ll lose ground to someone who can.
Mass is increased by…
- Long term contracts
- Excess staff
- Permanent decisions
- Meetings about other meetings Thick process
- Inventory (physical or mental) Hardware, software, technology lock-ins Proprietary data formats
- The past ruling the future
- Long-term roadmaps
- Office politics
Mass is reduced by…
- Just-in-time thinking
- Multi-tasking team members
- Embracing constraints, not trying to lift them
- Less software, less code
- Less features
- Small team size
- Pared-down interfaces
- Open-source products
- Open data formats
- An open culture that makes it easy to admit mistakes
Lower Your Cost of Change
Change is your best friend. The more expensive it is to make a change, the less likely you’ll make it. And if your competitors can change faster than you, you’re at a huge disadvantage.
This is where the big guys envy the little guys.
Cheap and fast changes are small’s secret weapon.
Emergence is one of the founding principles of agility, and is the closest one to pure magic. Emergent properties aren’t designed or built in, they simply happen as a dynamic result of the rest of the system.
“Emergence” comes from middle 17th century Latin in the sense of an “unforeseen occurrence.”You can’t plan for it or schedule it, but you can cultivate
an environment where you can let it happen and benefit from it.
A classic example of emergence lies in the flocking behavior of birds.
A computer simulation can use as few as three simple rules (along the lines of “don’t run into each other”) and suddenly you get very complex behavior as the flock wends and wafts its way gracefully through the
sky, reforming around obstacles, and so on. None of this advanced behavior (such as reforming the same shape around an obstacle) is specified by the rules; it emerges from the dynamics of the system.
Simple rules, as with the birds simulation, lead to complex behavior. Complex rules, as with the tax law in most countries, lead to stupid behavior.
Many common software development practices have the unfortunate side- effect of eliminating any chance for emergent behavior.
In the flocking birds example, as with a well-designed system, it’s the interactions and relationships that create the interesting behavior.
The harder we tighten things down, the less room there is for a creative, emergent solution.
-- Andrew Hunt, The Pragmatic Programmers
The Three Musketeers
For the first version of your app, start with only three people. That’s the magic number.
Not enough time. Not enough money. Not enough people.
That’s a good thing.
Constraints drive innovation and force focus. Instead of trying to remove them, use them to your advantage.
Smaller companies are closer to the cus- tomer by default.
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?
This vision will guide your decisions and keep you on a con- sistent path. Whenever there’s a sticking point, ask, “Are we staying true to the vision?”
- Basecamp: Project management is communication
- Backpack: Bring life’s loose ends together
- Campfire: Group chat over IM sucks
- Ta-da List: Competing with a post-it note
- Writeboard: Word is overkill
Organizations need guideposts.They need an outline; employees need to know each day when they wake up why they’re going to work.This outline should be short and sweet, and all encompassing:
Why do you exist? What motivates you? I call this a mantra – a three- or four-word description of why you exist.
-- Guy Kawasaki