Dr. Alistair Cockburn

alistair teaching

Dr. Cockburn is the world expert on agile methodologies and use cases, internationally recogized for his expertise in project management and object-oriented design.

 

  • Co-author of the Agile Manifesto.
  • Voted in 2007 one of the "All-Time Top 150 i-Technology Heroes."
  • Named in 2020 as one of the "42 Greatest Software Professionals of All Times."

 

alistair teaching

He is the author of two industry-changing books:

 

  • Writing Effective Use Cases, having sold hundreds of thousands of copies, serves as the foundation text in both universities and industry.

 

 

 

A Brief History

 

In 1993, after two years of interviewing teams around the world on "What makes a successful project?", he wrote for the IBM Consulting Group an early version of what we now call an agile methodology. He and IBM used that methodology successfully in 1994 on a 18-month, $15M, fixed-price, fixed scope Smalltalk project, with Alistair as lead consultant and technical coordinator.

 

In 1998 he helped the Central Bank of Norway successfully deliver a difficult mainframe project that merged all the bank-to-bank transactions in the country of Norway. He also designed the Crystal family of methodologies while at the Central Bank of Norway.

 

In 2001, he organized the historic meeting in Snowbird, Utah, in which he and 16 other people from around the world wrote the Agile Manifesto. That manifesto revolutionized the field of software development, and then product management and eventually project management and organizational development in general. The "agile" approach - once considered radical - is now recommended in all industries from startups to government defense contracts, and even to government departments themselves, and social impact projects.

 

He published books in 1997 (Surviving Object-Oriented Projects), 2000 (Writing Effective Use Cases), 2001 (Agile Software Development), 2003 (his PhD dissertation, "People and Methodologies in Software Development), 2004 (Patterns for Effective Use Cases), 2005 (Crystal Clear), 2006 (Agile Software Development: The Cooperative Game, 2nd ed.).

 

In 2015, Dr. Cockburn synthesized his advice to just four words: Collaborate, Deliver, Reflect, Improve - what he calls the Heart of Agile. These four words make any initiative more effective and more enjoyable to work on. Dr. Cockburn and his associates at the Heart of Agile Academy apply all the techniques they learn to different project situations.

 

With his background, Dr. Cockburn is one of the few people in the world who can authoritatively relate agile development to the need for executive control, balancing fiduciary responsibility with the need to stay responsive to a changing world. He stays grounded by consulting, teaching and working with project practitioners in all active roles, particularly project managers, product owners, scrum masters, coaches and programmers. This real-problem contact keeps him in tune with the changing work situations.

 

 

Some of Dr. Cockburn's Notable Memes

  • This photo, the "wild hair" picture, is the most widely recognized bio picture, serving as his LinkedIn profile and photo for as many conference lectures as will permit :).

  • Information Radiators is one of Dr. Cockburn's most used phrases, coined during a visit to a company in Chicago in 2000. There have been contests for the best information radiators.
     

  • "A user story is a promise for a conversation", is a phrase he framed in 1998 when visiting the first Extreme Programming project in Detroit. Since expanded by Ron Jeffries to Card, Conversation, Confirmation.
     

  • The Cockburn Scale describes the various sorts of projects you might find yourself on, to highlight that different strategies and methodologies are needed at different time.
     

  • Hexagonal Architecture is a software architecture used to protect domain logic from external technologies and simplify testing.

Please write to me about how else I might be able to help:

Name *
E-mail *
Topic *
Message *

(Test space for testing indexed view into all contents)

Hexagonal Architecture for Programmers
Category:
Programmer
In-person or Remote:
In-person, Remote
Audience:
Programmers
Level:
More Experienced
Duration:
Half-day
Language:
English
Certificate Level:
HoA Level A Certificate
{{variant.name}}:
{{opt.name}}
{{opt.value ? '' : opt.name}}
{{opt.value ? '' : opt.name}}
Description

 

Description

 

"Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases."

-- Hexagonal Architecture defined : https://alistair.cockburn.us/hexagonal-architecture/

 

In this short and intense workshop, learn how to implement hexagonal architecture in your own development environment. As an extra benefit, experience acceptance-test-first and micro-slicing program development.

 

Who Should Attend

 

For medium- and senior-level programmers. This is for programmers wishing to learn the structure of the hexagonal (ports & adapters) architectural design pattern, to see it programmed in their own development environment. Ideally, there are a few people in the workshop with experience with the pattern, to help program the sample problem with the desired dev environment.

 

Sequencing

 

Lecture: Introduction of the origin, motivation for, structure of the pattern.

Environment setup: Establishing the versioning, testing environment.

Micro-sliced development: 3-6 micro-slices of development to implement the base architecture and grow it to incorporate external complexity.

Roundtable Discussion: Questions and discussions from the workshop. 

 

Targeted Outcomes from the Workshop

 

At the end of the workshop, attendees should be able to:

Describe the intended purpose, benefits, structure of the architecture.

Describe what is a "port", how that fits with test harnesses and databases.

Set up a simple application, with test harness, in your selected environment.

Answer basic questions from colleagues about the pattern.

 

Longer Description of the Workshop

 

The workshop proceeds in four stages.

 

In the first stage, Dr. Cockburn describes the origin of the idea, the pressures that generated it, the structure of the pattern, the terms involved, the names "hexagonal" and "ports & adapters", the naming of ports, the use of testing and loopback. At the end of this section, the basic idea will be motivated and described.

 

In the second stage, Dr. Cockburn will pass control over to one of the workshop attendees, who will have a development environment set up, with version control, checking and test harness set up. We will review that structure and make sure that everyone is understanding how that works. 

 

In the third and most important stage, all of the participants in the workshop will help, in a "mob programming" style, to build a small application exhibiting the hexagonal architecture structure. 

 

We will build a simple reference application with somewhere between four and six stages, "micro-slices", of growing complexity, in an acceptance-test-driven manner. The first slice is just the test harness and first test case; the second is to add an in-memory database; and from there to increase the complexity of the application and the external technologies. At the end of this section, attendees will have participated in and seen the incremental construction of a simple implementation of the pattern. 

 

The fourth and final stage will allow discussion about the properties of the architecture, the programming habits demonstrated, and the conventions appropriate to the attendees' development environment. Having seen the program written, these questions will be more accurate and relevant than the questions at the beginning.

 

At the end of these stages, attendees should be able to describe the intended purpose, benefits, structure of the architecture; describe what is a "port", how that fits with test harnesses and databases; set up a simple application, with test harness, in your selected environment, and answer basic questions from colleagues about the pattern.

 

Pre-work to Maximize the Outcomes for the Workshop

 

  • Pre-reading: Read the original article: https://alistair.cockburn.us/hexagonal-architecture/ and the longer description by Juan Manuel Garrido de Paz: https://jmgarridopaz.github.io/content/articles.html.

  • Watch the first part of the 3-part video series: Alistair in the Hexagone

  • Environment setup: The lead attendee(s) in the workshop establish the programming, versioning, testing environments used in the workshop. 

also ref: https://alistaircockburn.com/Discussion of dependency inversion etc.pdf

and

https://alistaircockburn.com/Articles/Discussion-of-dependency-injection-etc