As a CTO working on enterprise-grade web and mobile applications, I often recommend two books to fellow technology leaders: "Software Engineering Best Practices" by Capers Jones and "Don't Make Me Think" by Steve Krug. Alongside these, adopting frameworks like CMMI (Capability Maturity Model Integration) has been transformative for improving both our technical execution and user experience.
Capers Jones' work provides a data-driven foundation for building scalable and reliable systems. The book offers practical insights into estimation, defect prevention, productivity measurement, and quality assurance — all backed by real-world industry benchmarks. Applying these principles has helped us move from reactive development to proactive process optimization. It has improved our ability to estimate accurately, reduce rework, and increase code quality across complex projects.
On the other hand, Steve Krug's "Don't Make Me Think" is a goldmine for understanding user behavior and simplifying UX design. The book emphasizes the importance of intuitive navigation, minimizing user effort, and removing friction from interfaces. By applying its lessons, our design and frontend teams now build cleaner, faster, and more user-centric applications — which has led to improved customer retention and user satisfaction.
Combining both of these resources with CMMI-based processes has given us a balanced approach: strong internal engineering discipline coupled with empathetic, user-first design. We've seen tangible outcomes — better code quality, fewer production incidents, faster release cycles, and a UX that aligns with user expectations.
These aren't just books and frameworks — they are cornerstones of a mindset that values craftsmanship, continuous improvement, and delivering long-term value through software.