What You Will Learn
Responsive Engineering will show you how to combine agile engineering practices with product thinking, so that the evolutionary design of your system is always aligned with the needs of your product. In this course you will learn and work through hands-on exercises to develop these four engineering skills:
- Product Thinking Based System Architecture: Blend the needs of the system architecture with the needs of the product. Apply the right balance between creating extendible, well-designed systems and over-engineering beyond the product needs.
- Evolutionary Design: Drive the design of your code by using a test-first (TDD) approach grounded in product discovery. Iteratively and incrementally deliver tests for stories and user journeys. Ensure your systems are testable both internally and externally.
- Continuous Product Learning: Create simple, consistent build processes allowing you to grow test suites over time while addressing separation of testing concerns. Manage testing dependencies within and across teams.
- Refactoring Legacy Code: Work with legacy code created without tests to address poorly designed code, bring critical parts of the product under test, and
What We Will Cover
- Challenges of building modern products
- Balancing architecture with product
- Using product discovery to guide test creation.
- Applying test-driven design and test-first coding including mocks and test doubles
- Managing test needs including data
- Building within and across teams
- Flow of tests with continuous integration.
- Refactoring with intent
- How much testing is enough?
- Testing dependencies within and across teams.
- Growing and manicuring test suites.
- Branching strategies.
- Working with untested, muddy code.
Who Should Attend
Common participants include product engineers, software engineers (front-end and back-end), architects, and Scrum Masters looking to expand their skills.
Please note: Cancellations with less than 2 weeks prior notice will not be refunded.
Contact us for more info