Harvard University, 33 Oxford Street
Cambridge, Massachusetts 02138





Deep Agile 2009: Agile for Embedded SystemsSponsored by Agile Bazaar, New England's agile community hubJoin us for a two day deep dive into Agile practices forembedded systems. We'll get beyond superficial prescriptionsand cookbook advice to understand how a methodology thatdemands extreme flexibility can work in an environment knownfor its rigidity. Jack Ganssle has the deep experience topose the kinds of challenging questions all embedded folkwant to ask, and James Grenning and Russel Hill have beenpracticing embedded agile programming long enough to give usanswers grounded in experience, that is, *embedded*experience!Don't miss this first-ever single track, deep dive into Agile for Embedded Systems. This event is all volunteer run so the price will be affordable. Details to be announced soon on www.agilebazaar.org.Date:

April 25 - 26, 2009 (Saturday & Sunday)

Location:

Maxwell-Dworkin Building, Harvard UniversityCambridge, Mass

Accommodations:

Preferred accommodations are available at the Sheraton Commander Hotel, Cambridge, Mass.Special event rate of $169 per night (normally $250), available through 4/18/2009Information and reservations

Host:

Nancy Van Schooenderwoert, founder, Lean-Agile Partnershttp://www.leanagilepartners.com/

View the registration and event policies
PRESENTERS:Jack Ganssle - One of the best-known authorities in the embedded world; veteran of over 100 embedded projects, author of six books, and hundreds of articles, Jack consults to NASA and to industry leading companies worldwide. Jack's site: http://www.ganssle.com/James Grenning - An original author of the Manifesto for Agile Software Development, James is a seasoned extreme programming coach and trainer, coaching his first XP team in 1999. James was trained by the guys that started it all. He's written many articles and speaks regularly at the Embedded Systems Conference and Agile conferences. James' site: http://www.renaissancesoftware.net/

Russel Hill - currently a senior software engineer who has been using agile methods, especially test driven development (TDD) for the past ten years on his projects. He's a veteran of many years building complex aerospace systems for the US defense industry. Russel now develops embedded software for Key Technology, a world leader in automated inspection systems for the food processing industry.

Host: Nancy Van Schooenderwoert - Agile coach to embedded teams since 1998 and to financial services teams since 2005; founder of Lean-Agile Partners http://www.leanagilepartners.com/

Sessions - Day 1
Overcoming Embedded Challenges with Agile Agile methods encounter extra challenges in the embedded world: Hardware development cycles are longer; test depends on hardware availability; applications have hard deadlines; many are safety-critical and highly regulated; customers are typically separated from development teams by distance or company boundaries. Our panel will field the tough questions - from our moderator and from attendees.Agile Test Techniques for EmbeddedEmbedded systems are notoriously hard to test - and we don't test nearly enough. Agile teams use an array of test types, TDD being only one of them - we'll show others. These test efforts can appear to add a lot of extra overhead but when done well, they speed the work along more than enough to pay for the labor of creating the tests. We'll show you when to automate tests and when you shouldn't bother. Object oriented design is key, even for languages like C and assembler, which offer little support for it. Agile embedded testing has to cover hardware as well as software - we'll demonstrate it with real hardware. Continuous Integration as Foundation for SpeedIntegrating new code into the full code base at frequent intervals - usually many times per day - is the antidote to integration hell. It is also critical for keeping the code bug-free because bugs cannot gang up on you. We'll explore what continuous integration means for embedded software, and show you examples of it using live code.Jack's Practical Tips for Building Real Time Embedded SystemsMost smaller embedded systems meet their real time requirements only by luck. We have few techniques that help us design a system that will be timely and predictable. This talk will show you practical ways to include time in your design, to help you produce a system that meets its deadlines, rather than beating a slow system into submission late in the debug stage. We'll examine the real speeds of common C constructs on various 8 and 16 bit CPUs, as well as faster alternatives to some compiler-supplied library routines. We'll examine some of the hype around multicore processors as well.TDD in a Fishbowl Watch as James and Russel start up a TDD session coding first on the PC and then on real hardware. Jack will rotate in as a newbie team member and pick up the technique. Attendees will join in offering suggestions, and all will gain new insights. To the extent practical we'll open it up to everyone with a laptop - and go for the world record for the most people in one room doing TDD in C! We'll wrap up with a summary and Q&A time. Test Driving Next to the HardwareCode that interacts with hardware can't be tested except in the target. Or can it? In this session we'll see how to test hardware dependent code, independent of the hardware!Sessions - Day 2
Design by ContractDesign by Contract (DbC) is a well-known approach to building correct software by specifying functions' goes-intas, goes-outas, and invariants, in the code itself, so that errors get detected automatically at runtime. Yet it's almost unheard-of in the embedded industry. Worse, procedural languages like C offer none of the built-in DbC support given by Eiffel and similar languages. Yet the notion of automatic error checking, of guaranteeing that functions fulfill their promises, is so powerful that we firmware folks must find ways to use DbC in our code. This class shows how to use DbC and similar ideas in embedded applications, in particular in C.Teamwork: the Prerequisite to Team AutonomyAgile teams are self-organizing. They make the technical decisions and carry them out. But what happens when people cannot agree? And how can a group really be accountable? Where are the limits of the team's authority? This session gives you stories of how real teams resolved (and failed to resolve) teamwork issues.Incremental Delivery: Impossibility or Opportunity?Agile methods demand collaboration between supplier and customer through incremental delivery of features, but what if your customer won't play? What if your product is 'all or nothing' in nature? This session will help you understand the place incremental delivery and fine grained scope control (stories) in an embedded environment.Case Study: Keys to Agile Success at KeyThis presentation will describe how an agile team at Key Technologies planned and executed their embedded project, including - The relationship between this project and the larger system- Notable choices made early in the project- Interactions between EEs and Software Developers- A history of the project: Important events and milestones- Bug reports The project preceded a split in the work where the team operated across two locations for some time. We'll explore the problems this created and the surprising changes it prompted the team to make. You'll find out what it's like day-to-day being part of an agile embedded team.The big Hairy Monster: Legacy CodeFew have the luxury of a "green field" project, free to use modern methods for all the code from day one. A mass of buggy, poorly documented existing code is a millstone around your neck that cannot be ignored. This plagues every type of software project. We'll examine the extra headaches it gives embedded systems and how real teams have successfully conquered this beast. We will demonstrate techniques for adding tests and improving the design of existing software.Things That Count Can't be Counted - or Can They?What metrics are needed to support embedded systems development? What metrics are needed in an agile context to support embedded devlopment? Metrics are a slippery slope, no matter what software development technique is used. But defect density can be measured. So can complexity, and other things. Get practical advice on what to measure, and what numbers to aim for.Agile Do or Don'tRole play session: Jack is a CEO who has just attended this seminar but still has his doubts. James is a consultant Jack hired to answer questions about applying Agile to his organization. We'll collect questions from the participants for Jack to express, in addition those he already has after participating in the seminar.

GOLD LEVEL SPONSORS



Silver Level Sponsors



Branze level sponsors



Organized by Agile Bazaar
New England's agile community hubagilebazaar.org



Ticket Info:  
  • Early Bird, $395.00
  • Student - Early Bird, $65.00
  • Academic Staff - Early Bird, $300.00
  • Group - Early Bird, $355.00
  • Regular, $545.00
  • Student - Regular, $75.00
  • Academic Staff - Regular, $350.00
  • Group - Regular, $495.00
  • Just In Time, $685.00
  • Student - Just In Time, $110.00
  • Academic Staff - Just In Time, $400.00
  • Group - Just In Time, $625.00

Official Website: http://deepagile2009-upcoming.eventbrite.com

Added by eventbrite-events on March 18, 2009

Interested 1