Available Presentations and Seminars
Presentations and Seminars Sampler
The presentations listed below are often delivered at Meetups, User Groups, CodeCamps and Conferences. Please see our schedule for upcoming dates and locations.
If you are involved in a community organization and would like to have Dynamic Concepts give a free presentation to your group, please contact us using the form at the bottom of this page.
Corporate Clients can also arrange to have these presentations delivered on-site for their staff. Please contact our office for additional information including rates and availability
Software Engineering in an Agile Environment (Popular!)
Your team has adopted Agile practices with all of the ceremonies and artifacts–a major change to the environment. Yet you're still approaching software design, implementation, and test in the same old way. Perhaps you're ignoring certain elements altogether. Is it any wonder your team is struggling??? If you change the environment, you must change the way you work in order to succeed. This session will cover specific approaches to working styles and software design/implementations that will help your team to succeed.
CODE: The Fundamental Things Apply (New!)
Current software development efforts are typically built on top of complex libraries that encapsulate many details. In these situations, attention to core design principles often gets lost, with the focus moving towards just getting the pieces to work together. There is significant evidence that many of today’s developers are not even aware of core principles that have had a major influence in the creation of effective and robust systems. Even developers who once regularly considered such elements now only have a dim memory of them. As a result, many systems currently being developed are experiencing a category of problems that were largely addressed many years ago. This talk will review a number of items including the set known as SOLID [originated by “Uncle Bob” Martin nearly 15 years ago) along with items that originated with Object Oriented Design. Common problems in today’s software development will then be correlated with the relevant underlying principle(s). By bringing these principles to the forefront we are able to demonstrate and correlate how a lack of attention to the foundational principals relates to common defects.
Your Application: What is and What should Never Be (New!)
Most testing efforts focus on the "happy path" of application execution with a side of "error handling". Unfortunately this leaves a large percentage of the application's overall behavior totally uncharacterized. This uncharted territory often manifests itself as a bug/defect that is only discovered once the code is in production use. During this session, we will examine various techniques to improve visibility of how the code actually behaves (both in terms of what it does and does not do) and reduce the number of surprises that occur.
Bootstrapping Automated Testing for Existing Software Systems
"Tests are hard!" says your team. "This legacy code is horrible. Let's just write tests through the UI. How hard could that be?" That was six months and twenty-seven different UI's ago. "Tests are still hard" says the team.
In this session, you'll see how to transform a UI-centric test suite into something that actually works–a test suite that is fast, robust, and nowhere near as much work to maintain. With the recent increased focus on ALM (including DevOps) and faster delivery cycles, automated testing has become a critical issue. Nearly every team is faced with the challenge of creating automated tests for an existing codebase (often written using legacy technologies). The most common approach is to focus on "System Tests using User Interface Automation." which has inherent limitations
This session covers the journey from Manual System Tests to a suite of tests that allows for component level testing easily integrated with the Build process, providing a much faster feedback cycle when a defect is introduced into the system.