James Grenning
The Engineering Side of Agile
Status: Coming up in April 2025!It’s no surprise—Agile is often misunderstood as little more than two-week sprints, burn-down charts, and daily stand-up meetings. In reality, Agile isn’t a micro-management framework; it’s a mindset rooted in continuous improvement and technical excellence.
When Extreme Programming (XP) emerged in 1999 with its provocative name, it challenged the status quo with sound engineering practices designed to support tight iterative cycles. Yet today, many Agile teams struggle to integrate these practices, leading to poor product quality, hard-to-change code, endless debugging, long stabilization phases, and the growing burden of manual testing.
In this keynote, we’ll cut through the noise to uncover why Technical Excellence is the cornerstone of successful Agile teams. You’ll discover how XP practices like test-driven development, refactoring, and automation can address the hidden challenges of Agile and set your team on the path to true agility.
SOLID Design for Embedded C
Status: Available NowC does not have to be spaghetti code. C code can be modular and flexible if you apply the SOLID design principles. Too often design is just about personal preference. In this session we'll see that there are objective qualities that we can use to assess software design. We look at applying Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation and Dependency Inversion principles to C. SOLID gives good guidance on modularity and coupling; these principles are not just for programmers with an OO language. You can use the SOLID principles to build better C code.
Live Q&A - SOLID Design for Embedded C
Status: Available NowLive Q&A with James Grenning for the talk titled SOLID Design for Embedded C
Test-Driven Development
Status: Available NowTest-Driven Development is a technical practice that supports Agile's iterative and incremental development cycle. TDD helps you quickly discover mistakes, preventing defects. You weave a test safety net as you grow your product's behavior one test at a time. This safety net supports you now and in the future to help you keep code working as you change it. Oh yeah, don't let me forget to tell you it's fun and once you learn it, you save time and money.
Maybe you have heard of Test-Driven Development but don't quite get it. A good way to understand TDD is to pair program with an experienced practitioner. We will start with a brief overview and demo of Test-Driven Development. In this interactive workshop, you can practice TDD in C. You don't need to install any tools for this workshop. You'll run the exercise on my exercise server. You will know what TDD is after this session. We'll conclude the workshop with a debrief on your experience.
Before attending this workshop, it is highly recommended that you watch this talk from the 2020 Embedded Online Conference.
Iterative Development: XP, Test-Driven Development and Refactoring
Status: Available NowSystems are not just developed, deployed and never touched again. Systems evolve. Systems have multiple releases and long lives. This talks gives you a quick look at Extreme Programming, and two of its core technical practices: Test-Driven Development and Refactoring. These are techniques and practices for the real world, where systems evolve.
Watch this intro if you are:
- tired fixing fires before every release
- writing code with no where to run it
- suffering from Scrum being imposed on your group
One lucky viewer will receive complimentary tuition to Wingman Software's self-paced Test-Driven Development Training. All attendees that finish the video in the first wee of the conference, can claim a 50% off coupon.
Live Q&A - Iterative Development: XP, Test-Driven Development and Refactoring
Status: Available NowLive Q&A with James Grenning for the theatre talk titled Iterative Development: XP, Test-Driven Development and Refactoring
Test-Driven Development
Status: Available NowTest-Driven Development is a technical practice that supports Agile's iterative and incremental development cycle. TDD helps you quickly discover mistakes, preventing defects. You weave a test safety net as you grow your product's behavior one test at a time. This safety net supports you now and in the future to help you keep code working as you change it. Oh yeah, don't let me forget to tell you it's fun and once you learn it, you save time and money.
Maybe you have heard of Test-Driven Development but don't quite get it. A good way to understand TDD is to pair program with an experienced practitioner. We will start with a brief overview and demo of Test-Driven Development. In this interactive workshop, you can practice TDD in C. You don't need to install any tools for this workshop. You'll run the exercise on my exercise server. You will know what TDD is after this session. We'll conclude the workshop with a debrief on your experience.
Before attending this workshop, it is highly recommended that you watch this talk from the 2020 Embedded Online Conference.
Test-Driven Development
Status: Available NowIf you missed this workshop at EOC earlier this year, here's a second chance to attend
Test-Driven Development is a technical practice that supports Agile's iterative and incremental development cycle. TDD helps you quickly discover mistakes, preventing defects. You weave a test safety net as you grow your product's behavior one test at a time. This safety net supports you now and in the future to help you keep code working as you change it. Oh yeah, don't let me forget to tell you it's fun and once you learn it, you save time and money.
Maybe you have heard of Test-Driven Development but don't quite get it. A good way to understand TDD is to pair program with an experienced practitioner. We will start with a brief overview and demo of Test-Driven Development. In this interactive workshop, you can practice TDD in C. You don't need to install any tools for this workshop. You'll run the exercise on my exercise server. You will know what TDD is after this session. We'll conclude the workshop with a debrief on your experience.
Before attending this workshop, it is highly recommended that you watch this talk from the 2020 Embedded Online Conference.
Test-Driven Development for Embedded Software (2020)
Status: Available NowYou've heard about Test-Driven Development but have never tried it or don't quite get it. Test-Driven Development is an important design and problem solving technique that helps software developers improve product quality and the quality of their life. How? By preventing defects, protecting your code from unintended consequences, and giving you warning when your design starts to deteriorate.
In this presentation James describes the problems addressed by TDD. He will define TDD and show you a short example of TDD. He'll tell you some of the benefits you can expect from TDD as well as the challenges of applying TDD to embedded C and C++.
James Grenning is inviting you to a scheduled Zoom meeting.
Topic: TDD for Embedded Happy Hour Embedded Online Conference
Time: May 20, 2020 03:00 PM Eastern Time (US and Canada)
Every day, 2 occurrence(s)
May 20, 2020 03:00 PM
May 21, 2020 03:00 PM
Please download and import the following iCalendar (.ics) files to your calendar system.
Daily: https://us02web.zoom.us/
Join Zoom Meeting
https://us02web.zoom.us/j/
Meeting ID: 824 6418 8187
Password: 031453
One tap mobile
+13017158592,,82464188187#,,1#
+13126266799,,82464188187#,,1#
Dial by your location
+1 301 715 8592 US (Germantown)
+1 312 626 6799 US (Chicago)
+1 646 558 8656 US (New York)
+1 253 215 8782 US (Tacoma)
+1 346 248 7799 US (Houston)
+1 669 900 6833 US (San Jose)
Meeting ID: 824 6418 8187
Password: 031453
Find your local number: https://us02web.zoom.us/u/
Attack IoT System Unknowns with Tracer Bullets (2020)
Status: Available NowYou have a product idea for using IoT technologies! You have an awesome greenfield development opportunity! Congratulation! You start staring at that clean sheet, that blank page. There are more unknowns than knowns! It's getting scary. What should you do?
This talk is the story of starting a greenfield IoT project. You see there are risks. You are attracted to the familiar tasks. If you defer risks, saving them until the end, it won't end well. In this story we'll look at identifying risks and attacking them directly with tracer bullets, building a walking skeleton of the product. The tracer bullets give you insight on a solution to your technical problem. The walking skeleton helps prove your product concept and demonstrate your ability to deliver it. You'll look at how to make progress with off-the-shelf hardware and software without becoming overly dependent on any vendor.