- **Epistemic status:** #seedlings When working with software in the real world you will find that producing something that is truly perfect, in particular, without [[Software Bug]] to be impossible. Managers, marketing, customers, and product owners are waiting for the code to be delivered as soon as possible. To produce good enough software, you will need to discipline yourself [[Limit refactoring code]] to the essential while [[Balancing client, business, and development needs]]. When gathering the requirements for the task, discuss the scope and quality of the work you need to produce and add it as a new requirement alongside the users. Your code must still meet basic performance, accessibility, privacy, and security standards. By adopting this discipline you will become more productive and give yourself, future maintainers, and users peace of mind. --- ## References - Thomas, David, and Andrew Hunt. _The Pragmatic Programmer, 20th Anniversary Edition: Journey to Mastery_. Second edition. Boston: Addison-Wesley, 2019.