Basic principles of modern software design

A technology project’s odds of success improve when the "non-technical" government leaders who fund and oversee it understand six basics concepts of modern software development: user-centered design, agile software development, DevOps, building with loosely coupled parts, modular contracting, and product ownership. You don’t have to be a technologist to understand these general concepts. Once you grasp them, it’ll feel like you’ve gained a new super power, allowing you to spot the BS and cut through the jargon and technical detail, and stay focused on the basics of successfully guiding any software project.

Modern software development processes are founded on these core concepts. By understanding them, you’ll be in a great position to understand how to budget for software more effectively, and to understand the rest of this playbook.