Getting Real
![](https://img3.doubanio.com/icon/u16738643-2.jpg)
Have an Enemy
1. Help you to find the direction of application in two ways.
a. Figure out what you cannot do
b. Figure out what you can do better
2. It's good market strategy of having an enemy, telling a story based on an competitors is easier to ignite the passion and help people understand what you are doing.
Stay Lean
1. The company should be quick, flexible, and easy to adapt to changes.
Three People
1. It is still a matter of stay lean, as less people the cost of communication is low and the effectiveness of the team is higher.
Embrace your constraints
1. Try to optimize your results with the resource that you have.
Big Idea
1. Don't go to details until you have your big idea set up, then all the details follow the big idea
Details
1. We are too obsessed by details, which brings a lot of meetings, delays and ineffectiveness, we can be a perfectionist only we have the big picture well drawer.
Opinioned Software
1. Your software should has a lear vision of what and who it should build for, the follow the vision is very important. The decision made can be significantly effect the outlook and stereotype of the software in consumer's heart.
Adding a feature
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.
Less
Always focus on a few set of features
Race to Running Software
Real things lead to real reactions. And that’s how you get to the truth.
Decisions
Decisions should be made quick and keep moving on. There is an iteration on decisions too, Make it, If wrong correct it. It's important to get things quickly executed.
Alone Time
You should have at least few hours' continuous alone time to get yourself really productive and so you can get focus to work. That means when in a team, you should really get focused for at least a long period to get the staff focused and working.
Meeting
Meeting is a productivity killer. Keep meeting short, less people and have it only when we need it.
Get things released quick
Motivation should always be kept high while developing some thing. Try to release features daily and try to make small achievements instead of big ones.
Staffing
Brooks Theory, adding people to a late project make it later.
Go for quick learning generalist over ingrained specialist.
Go for happy and average over frustrated and great.
Hire people with good writing skills, as most of the time, good writers are good communicators.
Look for their actions(open source, interview projects, github code) instead of talking. Hire people who can walk the walk not talk the talk.
Interface
UI always go first, it's the product,and coding is heavy, cost to change.
The blank slate version is very important as it's the first expression of the app.
Context is more important than consistency.
Get defensive.
Code
Always trying to minimize the code you need to write, less code means less time, cost, maintenance, and more importantly, less complexity, easy to manage.
Listen to the code means put the tech difficulty as a consideration when designing things. See how your code reacts.
Make things open, apis rss and so on.
有关键情节透露