Speakers

James Coplien

software patterns


Jim ("Cope") Coplien is a programmer and an organizational guy who  spends a lot of time tieing those two interests together. Along the  way he has had a hand in shaping what we today call object-oriented  design from his work as the first user of C++ in the 1980s, in  launching the pattern discipline, and in laying the foundations of  software development hat are acknowledged by Kent Beck as a  foundation of the structural parts of XP and by Jeff Sutherland as the  origins of Scrum meetings. Today, he is working on architecture in its  relationship to usability, on Lean architecture, and on patterns of 
Agile organizations, as well as side projects in building  architecture, design theory, and quantum computing.

Read Chris Spagnuolo's interview with Jim in edgehopper:


Bob Martin

test driven design


Programmer since 1970. Published dozens of articles, is a regular  speaker, author of: Designing Object Oriented C++ Applications using  the Booch Method, Agile Software Development: Principles, Patterns,  and Practices, UML for Java Progammers.  Editor-in-chief of the C++  Report. First chairman of the Agile Alliance.

Jim Coplien provided a foreword to Bob's recent book Clean Code:


 

Test Driven Design vs. Architecture
or
Test Driven Design and Architecture
?

Jim Coplein and "Uncle Bob" Martin are leaders how to produce quality software. In the corner of architecture, patterns and agile is Jim Coplien. Driving the necessity of test based design is Bob Martin. Each is a recognized leader and passionate advocate for their approaches. Yet they have built a deep respect for the other's view and come to recognize the value of combining their seemingly disparate worlds.

As Jim notes in his introduction to Bob's book Clean Code:

"In our ongoing “debate” on TDD, Bob and I have discovered that we agree that software architecture has an important place in development, though we likely have different visions of exactly what that means. Such quibbles are relatively unimportant, however, because we can accept for granted that responsible professionals give some time to thinking and planning at the outset of a project. The late-1990s notions of design driven only by the tests and the code are long gone. Yet attentiveness to detail is an even more critical foundation of professionalism than is any grand vision. First, it is through practice in the small that professionals gain proficiency and trust for practice in the large. Second, the smallest bit of sloppy construction, of the door that does not close tight or the slightly crooked tile on the floor, or even the messy desk, completely dispels the charm of the larger whole. That is what clean code is about.

Still, architecture is just one metaphor for software development, and in particular for that part of software that delivers the initial product in the same sense that an architect delivers a pristine building. In these days of Scrum and Agile, the focus is on quickly bringing product to market. We want the factory running at top speed to produce software. These are human factories: thinking, feeling coders who are working from a product backlog or user story to create product. The manufacturing metaphor looms ever strong in such thinking. The production aspects of Japanese auto manufacturing, of an assembly-line world, inspire much of Scrum.

Yet even in the auto industry, the bulk of the work lies not in manufacturing but in maintenance—or its avoidance. In software, 80% or more of what we do is quaintly called “maintenance:” the act of repair. Rather than embracing the typical Western focus on producing good software, we should be thinking more like home repairmen in the building industry, or auto mechanics in the automotive field. What does Japanese management have to say about that?
"

Come prepared to be surprised and have your assumptions questioned! Our goal is to get well beyond the buzzwords and introductory agile ideas, roll in architecture and TDD, and to get you thinking.

What: Deep Agile 2008: Not as Easy as you Thought!
When: November 8-9, 2008, 9:00am to 5:00pm
(Registration opens at 8:30am)
Where: MIT, Cambridge, MA - Room E51-345
How: Register through Acteva


Topics

Saturday Sessions

9:00am-5:00pm. Continental breakfast and snacks provided.

What Makes Agile Hard to deliver? Part 1

Speaker:Jim Coplien and Bob Martin
Format: Conversation between the two speakers

The concepts in Agile are so simple, yet they can be very hard to practice. Some are harder and more fundamental than others. This session will look at the most common and most damaging mistakes that Agile teams make in the real world. You'll see why these happen and how to avoid them. This vital topic will be introduced on Saturday and then reprised with variations on Sunday.

Jim Coplien suggests that key points include:

  • Trust: Can your management take you at your word that you will deliver what you say, when you say, and that your delivery will be done-done-done?
  • Can you trust yourself to re-factor your code, to be honest with yourself in the small things of keeping your code clean? If you can't trust yourself with the small things, how can you trust yourself with the fate of your customer -- and of your own enterprise? When is the last time that your delivery was done: that there was no more known remaining work, no documentation waiting to be done, all the refactoring was done? Hey, it's easy to be done, right?
  • Self-organization: An enthusiastic manager once told me how eager that he was to "self-organize his team." Self-organization goes against almost everything that our corporate culture stands for. How, in a company that rewards individual effort and where accountability is the order of the day, do you put self-organization in place? Where do you start? Where do you end?
  • Communication: Oh, we'll just talk and send E-mails. Communication is the transmission of information, not of data. Information is interpreted data. Lots of E-mails and lots of meetings don't mean that there is communication going on; it may just mean there is lots of noise. Communication is in large part about listening. Think of yourself: are you a good listener? When did you last listen to a colleague? When did you last really, really listen to an end user?

Agile and Architecture: How Much is enough?

Speaker:Jim Coplien and Bob Martin
Format: Jim and Bob present their positions for 20 minutes each, followed by moderated debate that includes audience members

A hot debate within the Agile community and in software engineering is "how much up-front design is the right amount?" You'll come away from this session with guidelines for how to spot where the value of up-front planning and the value of starting your iterations hits a cross-over point.

Lunch

Lunch is provided as part of the conference. Please join your fellow attendees for discussion and debate!

Agile and Patterns

Speaker: James Coplien
Format: 60 minute Presentation followed by Q & A session

Jeff Sutherland and Kent Beck credit Jim Coplien’s work on organizational patterns as the inspiration for key aspects of Scrum and XP. Jim co-founded the software patterns discipline over 20 years ago. How does Agile relate to patterns in software architecture and organizations? Jim asserts that a change in organizational structures, rather than process, is a better way to improve software development. The understanding you'll gain will help you develop your own judgment for which Agile practices to apply and when to apply them in your work.

Test Driven Design – Essential Discipline or Harmful Fad?

Speaker: Jim Coplien and Bob Martin
Format:Jim and Bob present their positions for 20 minutes each, followed by moderated debate that includes audience members

Jim Coplien claims, “The jury is in - TDD does not deliver good architecture”.
Bob Martin claims, “The jury is in – TDD works and works well”.
Experience the debate between two outspoken experts first hand.

Jim and Bob debated this topic at JAOO last year, and this session will be a continuation – catch up on the prior debate here, and come see the next round!

Link to video of prior debate: http://www.infoq.com/interviews/coplien-martin-tdd

 

Dinner (included in conference)

As part of the conference, you are invited to join us for dinner at a local restaurant.

Pub Session: Patterns on Steroids

Speaker: James Coplien
Format: Very informal evening session at a local bar

As only Jim can describe it: “This is the type of talk that has to be at a bar, in the evening. I’d like to talk about the Nature of Order. This is patterns on steroids – Alexander’s ideas extrapolated into a full metaphysic of design. It will give people a little taste of what patterns really are about.” Christopher Alexander is the author of “A Pattern Language”, the book that inspired the software patterns community where Jim took a leading role.

Sunday Sessions

9:00am - 5:00pm. Continental breakfast and snacks provided.

What Makes Agile Hard to deliver? Part 2

Speaker:Jim Coplien and Bob Martin
Format: Conversation between the two speakers

The concepts are still simple, and still hard to deliver. Building on the lessons of the previous day, Jim and Bob will look at more subtle mistakes in Agile - and, of course, how to avoid them!

Lean vs. Agile

Speaker:Jim Coplien and Bob Martin
Format: Conversation between the two speakers

Is there a conflict between Lean Thinking and Agile philosophies? Jim Coplien says yes, and furthermore that there has been an unconscious whitewash of this conflict. Bob Martin asks “What conflict? Lean and Agile are perfectly complementary disciplines!” This session will explore what the two philosophies have in common, and how they differ. Come and get a better understanding of the role of management vis-a-vis Agile teams.

Lunch

Lunch is provided as part of the conference. Please join your fellow attendees for discussion and debate!

Agile and Professionalism

Speaker: Bob Martin
Format: 60 minute Presentation followed by Q & A session

Some have said that Agile reduces software work to a hectic piece-work style, with little design or planning. Does Agile reduce the professionalism in software? Is this a craft, a trade, or a profession? With so much change going on all around us, such as the merging of Scrum and XP, how can we find a stable common ground? This rousing talk was a keynote and one of the highlights of Agile 2008. Bob will have you in stitches while delivering an important message about what it means to be a professional software developer with a surprising and powerful twist at the end.

Panel Discussion/Open Discussion

Speaker:Jim Coplien and Bob Martin
Format: An open conversation between Jim, Bob and conference attendees

It's been a busy two days. Jim and Bob open the floor to following up on points raised during the earlier sessions and invite conversation with the conference attendees. This is the opportunity for you and your peers to really delve into questions of greatest interest - and maybe even argue with our speakers! By now you know that these are not shy individuals...


Sponsors

We would like to thank the following companies and organizations for their support in sponsoring the Deep Agile 2008Seminar:

Gold Sponsors

AccuRev logo

AccuRev provides best-of-breed software change and configuration management (SCCM) to manage the software development process together with code assets in a single interface using any preferred development process model (e.g., Scrum, Waterfall, Lean, RUP). The AccuRev solution is designed for Agile, geographically distributed and offshore development teams managing parallel releases.

 

 

 

Silver Sponsors

Cyrus Innovation is a growing Agile software consulting and development firm in New York City and Boston. We create highly usable solutions with a proven blend of extreme programming and scrum techniques, user-centered design and deep insight derived from financial services experience.

Rally is the #1 partner for Agile success through products, coaching and community support. Rally helps organizations of all sizes shorten development cycles, minimize risk, and collaborate across teams. Our on-demand Agile lifecycle management products received three-time Jolt Product Excellence Awards and support 900 customers, 20,000 projects and 35,000 users in 50 countries. www.rallydev.com

Media Sponsor

Addison-Wesley Professional and Prentice Hall Professional are leading publishers of high-quality and timely information for programmers and developers. Our mission is to provide educational materials about new technologies and new approaches to current technologies written by the creators and leading authorities.