Written & Presented By: Jeremy Miller, Senior Architect at Calavista
CouchCon Live is a single day virtual technical conference focused on connecting and growing our vibrant tech community! We’re bringing quality technical content to a virtually connected community. Whether you’re a new developer or have been working in the industry for years, we know you’ll meet other great people and learn something new!
The Fundamentals of Continuous Software Design
Scrum completely dominates the landscape of Agile Software Development these days, but it’s always been a little focused on project management and a little bit light on specific software engineering practices and guidance. It’s unfortunately easy for Scrum projects to drown in technical debt while the team tries to keep up with the drumbeat of constant sprint deliverables.
Harking back to earlier Extreme Programming ideas, let’s review some of the fundamentals of continuous software design and how we can keep our codebases from turning into a giant mess as the system evolves. With some concrete examples, let’s dive in and learn more about reversibility, the importance of testability in software design, the ‘last responsible moment’, striving for simplicity now (YAGNI) without cutting off a pathway to more complex behavior later.