Welcome! Programme Speakers Presentations

Expo-C Speaker Books:

 

 

expologgagbg_60

 

Expo-C Customers:

   

 

 

James O. Coplien

Full Day Tutorial

Monday April 23

 

 

" Organizational Patterns " 

&

 " Seven Subtle Stumbling Blocks of Agile "

 

 

 james_coplien_polaroid_500_600 08.00 - 09.00 Registration

09.00 - 12.00 " Organizational Patterns "

12.00 - 13.00 Lunch

13.00 - 16.00 " Seven Subtle Stumbling Blocks of Agile " 

 

 

 


 

Session 1

 

" Organizational Patterns "

 

Many strategies and techniques compete for the attention of today's software manager: software process improvement, design paradigms, and architectural competence are among the top contenders. It is difficult to excel in any one of these individually. It is even more difficult to find a unifying theme if you want to rise to the system level and embrace the concerns for these perspectives. However, systems theory tells us that processes emerge from the structure of the organizations in which they apply. Organizational patterns combine this perspective with tried and true management and organizational structuring techniques that have stood the test of time. This talk will overview the principles behind organizational patterns, describing their basis in empirically validated organizational research, and showing how they can be used as a risk-managed, incremental approach to organizational improvement. The talk will also describe several key software project management patterns in detail. Last, the talk will describe several case studies where organizational patterns played a major role in organizational improvement.

 

 

Session 2

 

" Seven Subtle Stumbling Blocks of Agile "

 

Projects that make their first moves to Agile development often suffer from Brook's "second system syndrome" by over-reacting to the problems of traditional development. This may be the reason that even advocates of some Agile techniques openly share that half of their projects fail. Years of experience with Agile false starts shows that there is a short list of commonly recurring root causes -- errors that are easy to anticipate and, with discipline, to avoid.

 

Many projects -- particularly those with a history of using traditional development -- should adopt Agile practices gradually through local adaptation with feedback. In the long term, most projects will find that they can work most optimally with a combination of traditional techniques and techniques consciously designed to provide an "extreme" contrast to the wisdom of software engineering. Successful projects are agile in balancing these two.

 

This tutorial looks at the top seven mistakes that projects make in being overly ambitious in adopting Agile approaches too quickly or in discarding good practices that work:

 

- using Agile as a fix without knowing the problem;

- feigning ignorance through YAGNI instead of planning;

- creating incredible overhead with little benefit through overly granular unit testing;

- using procedural testing as a design tool, which leads to hierarchical procedural designs;

- being customer-centric instead of task- and context-centric, leading to unusable systems;

- fascination with a single customer instead of planning for the success that comes with many customers;

- being Agile instead of being adaptable.

 

Attendees will learn foundations that will enable them to decide which old practices should be phased out in favor of Agile practices and to sustain a balanced development program.