I thought barman posted a link to this book 3 days ago...I did a forum search and google search but I can't find the original thread...so my book notes have to be posted solo.
Note: I have heard of 37 signals before but reading this book is a must for any web developer. I am no pro in the game, but in my two years of messing around with this stuff I have had to learn half of the stuff mentioned in the book the hard way. Usually I bold things that I find very useful, but in this case my entire post would be bold. This book is gold...this book reminds me why I love to code.
Enjoy!
Evernote link: https://www.evernote.com/shard/s63/...5c67b997e60e/69901e0c8cebf1a1b9feb18525972e11
What is Getting Real?
The Starting Line
Stay Lean
Priorities
Feature Selection
Process
The Organization
Staffing
Note: I have heard of 37 signals before but reading this book is a must for any web developer. I am no pro in the game, but in my two years of messing around with this stuff I have had to learn half of the stuff mentioned in the book the hard way. Usually I bold things that I find very useful, but in this case my entire post would be bold. This book is gold...this book reminds me why I love to code.
Enjoy!
Evernote link: https://www.evernote.com/shard/s63/...5c67b997e60e/69901e0c8cebf1a1b9feb18525972e11
What is Getting Real?
- It's about skipping all the stuff that represents real (charts, graphs, boxes) and actually building the real thing
- Getting Real starts with the interface, the screens that customers will use allowing you to get the interface right before you get the software wrong
- This book is for entrepreneurs, designers, programmers and marketers working on a big idea
- Build, launch and tweak. Rinse and repeat
- Build products that work smarter, feel better and allow you to do things your way...and are easier to use
The Starting Line
- Solve the simple problems and let the competitors deal with the difficult and nasty problems
- Do less
- Less features
- Less options/preferences
- Less promises
- Build software for yourself
- A great way to start is to solve your own problems, you can be the target audience
- Fund yourself. Outside funding comes with expectations that can affect your product
- Constrains can drive innovation
- Focus on building a quality tool that you and your customers cna live with for a long time
- Fix Time and Budget, Flex Scope
- Launch on time and on budget
- By keeping time and budget fixed it allows you to
- Prioritize better
- Reality
- Flexibility
- Its better to scope down than make a half-assed product
- Pick an enemy
- It will allow you to shine a light on where you need to go
- It can be another app or an idea you are trying to overcome
- Don't get too obsessed with the competition, just take a look and then move on to your own vision and your own ideas
- Don't follow the leader. Instead tell a different story. If your competition is cheaper you must be faster. If they sell the story of health, sell the story of convenience
- Your passion or lack thereof will shine through
Stay Lean
- The leaner you are the easier it is to change
- Reduce project mass by
- just in time thinking
- embracing constraints
- less software, less code
- less features
- small team size
- simplicity
- open source products
- open data formats
- An agile company can change its mind
- Cheap and fast changes are a secret weapon
- Create a well designed simple system that allows emergence
- Keep it small. Keep it simple. Let it happen
- For version 1.0 use a team of three
- A developer, a designer and a sweeper (can do both)
- If you can't build your version one with three people, you either need different people or need to slim down your initial version
- Instead of freaking out about constraints, embrace them. They drive innovation
- Be yourself, differentiate yourself from bigger companies by being personal and friendly
- Smaller companies are closer to the customer by default
Priorities
- Explicitly define the one point vision for your app
- What does your app stand for? What's it really all about?
- Get a vision. Think big.
- The vision should be brief and enough to get the idea across
- Writeboard: Word is overkill
- Ta-da List: Competing with a post-it note
- Basecamp: Project management is communication
- Use your vision as a guide post for how to create and execute your app
- Ignore the details early on, work from large to small
- There is plenty of time to be a perfectionist, just do it later
- You will know which details you need to address as you use your app
- Its's a problem when its a problem
- Don't waste time on problems you don't have yet
- Make decisions just in time, when you have access to the real information you need. In the meantime focus on things that require immediate care
- Hire the right customers. Find the core market for your application and focus solely on them
- If you try to please everyone you won't please anyone
- Scale later, you don't have a scaling problem yet
- Create a solid app and then worry about what to do once it's wildly successful
- Make opinionated software, your app should take sides
- Don't try to be all things to all people, make your apps have an attitude
- When the Wiki creators removed ownership and dates it became ego-less and time-less driven documents that allowed a community to grow
Feature Selection
- Build half a product, not a half-ass product
- build half a product that kicks ass
- Take whatever you think your product should be and cut it in half
- Pare features down util you are left with only the most essential ones
- It just doesn't matter, keep it to essentials only
- Does it matter
- To show the total number of people in a chat 12 vs 16?
- Allow colored text in a chat?
- Timestamp every second of the conversation
- Start with a no, make features hard to be implemented
- Make each feature prove itself and show its a survivor. Fight Club mentality, stand on the porch for three days waiting to be let in
- Expose the hidden price of features
- Be on the lookout for feature loops, features that lead to more features
- Build something you can manage
- Build products and offer a service you can manage
- Build software for general concepts and encourage people to create their own solutions. Don't force conventions on people
- Create a framework by fixing the root of the problem and then people will find their own solutions
- Forget feature requests. If its a request really worth remembering they will remind you until you can't forget
- Hold the mayo concept. What feature can you remove that your customers would not mind? What gets in their way the most
- Ask people what they don't want
Process
- Get something real up and running quickly
- Work in iterations,d on't expect to get it right the first time
- From idea to implementation
- Brainstorm
- What are you making it
- What do you want it to do
- Talk about the big idea
- Paper sketches
- Create a rough interface design
- Get your ideas out of your head and onto paper
- Create HTML screens
- Make an HTML version of the features and screens, don't code, just use HTML and CSS
- Code it
- Remember to stay flexible
- Decide on the little details so your customers don't have to
- How many messages should you include on each page? Just make a decision don't make people have to decide
- Preferences are a way to avoid making tough decisions. It may seem like you are doing them a favor but you are creating busy work for them. Not to mention it complicates your code
- Make the call. If you make a bad call people will complain about it and tell you
- Decisions are temporary so make the call and move on. This is not brain surgery its a web app, you can revisit later
- Get in the rhythm of making decisions
- Test your app via real world usage
- Get real data, get real feedback and then improve based on that info
- Break down your time, keep breaking down time frames into smaller chunks
- Keep dividing problems into smaller and smaller pieces until you are able to digest them
The Organization
- Don't split into silos, kep the teams united
- The alone time zone is where the real development magic happens
- Setup a rule at work, make half the day alone time. Make this period continuous and avoid interruptions
- Meetings are toxic productivity killers. The information to time ratio is too low
- If you have to have a meeting set a 30 minute timer, invite as few people as possible and make sure to have a clear agenda
- Release something today, celebrate small victories
- What can we do and release in 4 hours?
Staffing
- Add people slowly and go fast
- Work with prospective employees on a test-basis first. you can learn a lot by how someone works on a project
- Go for quick learning generalists over ingrained specialists
- Small teams need people who can wear different hats
- go for happy and average over frustrated and great. Enthusiasm is the one attribute you just can't fake
- Hire good writers. good writes know how to communicate, they know how to make things easy to understand, what to omit and how to think clearly. Those are the qualities you need