Course DescriptionDesign Patterns for Agile Developers Design Patterns for Agile Developers helps participants learn to use design patterns to support Agile development. Design patterns enable the emergent design that is needed on Agile projects. Although patterns at one time were thought of as a “design up-front technique, they can be used in Agile projects to encapsulate variations that are discovered over time. For development organizations to thrive in an Agile environment, it is critical that the systems they create are not vulnerable to changing requirements, business priorities, technologies, or market pressures. This course addresses key questions in modern development such as how to design systems that have changeability as a fundamental quality and how the team can communicate effectively when a design is in a constant state of change.
The resources on this page help students of Design Patterns for Agile Developers explore the topics in the course more deeply.
This page has a wealth of materials on design patterns, agile design, object-oriented analysis and design.
The competencies required for Lean-Agile Programming: Professional, code qualities, principles, practices, wisdom, patterns, and discipline.
The purpose of this repository is to serve as a central clearing house for patterns in software. You are free to use this material for your edification and study.
A LinkedIn group for all conversations relating to supporting Net Objectives courses including both technical agility, process, portfolio management. This LinkedIn group was formed by Net Objectives trainers and coaches who are active in the group.
The practices involved in code quality including write tests first, code by intention, write clearly, encapsulate by convention and reveal by need, avoid redundancy, do not do more than needed, pull out things that vary, treat conceptually similar things the same way, favor composition over class inheritance, design to interfaces, separate use from construction, refactor code as needed, limit yourself to one perspective in a class or method.
The following books in the Net Objectives Effective Software Development Series relate to this course and offer online excerpts.
This book answers the question many developers have after taking some initial Agile/Scrum training – “OK, how do I write code now that we are building our software in iterations?” This book provides over a dozen proven practices that help developers improve their coding practices and make their code more easily changeable and maintainable in Agile projects.
As software continues to evolve and mature, software development processes become more complicated, relying on a variety of methodologies and approaches. This book illuminates the path to building the next generation of software. Drawing on patterns, refactoring, and test-driven development, Scott L. Bain offers a blueprint for moving efficiently through the entire software life-cycle, smoothly managing change, and consistently delivering systems that are robust, reliable, and cost-effective.
Design Patterns Explained provides the reader with a gentle yet thorough introduction to design patterns and recent trends and developments in software design.