“Done is Better than Perfect” has been FaceBook founder Mark Zuckerberg’s slogan in his office since the company’s early days. The slogan became the code of conduct for all employees: Don’t strive for perfection, accomplish goals first and iterate.

Video address: www.zentao.net/programmer/…

In “How to Be a Programmer,” the author advocates software that is just good enough for users.

1. What is good enough software

The term “good enough” does not imply sloppy or bad code. In a nutshell, it’s better done than perfect. Software that is good enough today is more practical to users than the ideal of perfect software in the future.

2. Don’t gild the lily

The man who finished the snake first and could have won a pot of wine lost the pot of wine because he got so complacent and drew feet for the snake that he fell behind other men.

Examples of gilding the lily often appear in the actual development process. Users’ needs are simple, but we tend to be too perfectionist and add unnecessary features. This behavior is not only inappropriate, but not beneficial.

To avoid this mistake, try bringing MVP (minimum viable product) to market in a cost-effective and effective way to verify that the product meets the needs of users and then change direction.

3. How to be “good enough”

  • Train yourself to write good enough software. As long as the software satisfies current users and future maintainers, and satisfies you.

  • Let the user weigh in. First give users a software that is not perfect and has some flaws, but is usable enough. Let users use it early, and they will feedback their real needs, leading us to a better final solution. Great software today is preferable to perfect software tomorrow.

  • Know when to stop. Striving for perfection is a good idea, and when users feel good enough, they can stop. We can tolerate flaws, but don’t ruin a good program by over-embellishing and over-refining it.

Perfect products don’t exist. Instead of giving up on perfection, expert programmers get things done faster, at less cost, and with a good enough product to get user feedback.

Good enough, is conducive to the implementation of extreme programming in simple design, test-driven development, reconstruction and other practices, so as to improve the efficiency of team collaboration. Is your team’s product “good enough”? Feel free to leave your comments in the comments section.

The programmer the path to uniting the series more video can stamp: www.zentao.net/programmer….