Be sure to have some beer, or wine, tea, coffee, chewing tobacco or kombucha by you as you go down this rabbit hole of

 

Publications

 

With over 160 technical articles, 266 blog posts, and dozens of videos you can find online, you can get lost and enjoy the ride. Here for you are are one featured article and one featured video, with links to a few more and from there to the tentaculous library.

 

agile is not dead

Article:  Agile is not dead, quite the opposite

August, 2019

 

Even with almost a million people who have taken a Certified ScrumMaster course and perhaps double that for non-certified agile courses, we have scarcely touched the work force. In fact, we have hardly scratched the surface of people who can benefit from working with the agile mindset.

 

So, no, agile is not dead, quite the opposite.

 

Read herehttps://heartofagile.com/agile-is-not-dead-quite-the-opposite/

Video:  Shell casings, Batman, and contextual clues

March 2013

 

Being asked a tricky question, I ended up reflecting on an old Batman comic I had read as a kid. Shell casings turn out to be the magic.

 

Take a look, Batman shows up about 2:20 into the video.

 

View here: https://www.youtube.com/watch?v=0Sgdfo_Aq-g

Here is an experiment. I am recording audio versions of all my books. Part of the question is how to present fragments of audio online. The following is a 3-minute extract from my 1997 book "Surviving Object-Oriented Projects", the section on "Sentences you hope never to hear", this one being "Just model the world, then code!" Take a listen and let me know any thoughts you have, good or bad. Enjoy :)

Next experiment: :)
Trying out a 'store' model to find all my articles, slides interviews etc. Let's see how it looks.

Hexagonal Architecture for Programmers

Kategorie:
Programmer
In-person or Remote:
In-person, Remote
Level:
More Experienced
Language:
English
Certificate Level:
HoA Level A Certificate
{{variant.name}}:
{{opt.name}}
{{opt.value ? '' : opt.name}}
{{opt.value ? '' : opt.name}}
Beschreibung

 

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