Agile talk by Bertrand Meyer

Bertrand Meyer ran a very good webinar on Agile development on Feb. 19, 2015.

(The recording of the webinar has been posted here: https://www.youtube.com/watch?v=ffkIQrq-m34)

The content of the webinar is based on his new book: Agile! The Good, the Hype and the Ugly. The book is a serious critique of agile development approaches, practices, methodologies, and culture.

Here is a link to the book on the publisher’s website --

http://www.springer.com/computer/swe/book/978-3-319-05154-3?otherVersion=978-3-319-05155-0

It is a critical book that reflects on the good and bad things in the ways that people use agile development. He agrees that the Agile community has come up with many good principles and practices, but they have unfortunately rejected many good principles and practices from classical software engineering.

I am including by raw notes below.

Bertrand’s basic conclusions:

Positive:

Negative:

On the whole, Bertrand is a proponent of Agile development, and his company uses many agile practices. But he is also interested in making sure that we don’t throw away many valuable ideas from classical software engineering.

(There are more comments by Bertrand Meyer on his blog: https://bertrandmeyer.com/category/agile.)

Bertrand Meyer is the head of the company Eiffel (creator of the Eiffel programming language), and he is also the chair of the software engineering program at ETH in Zurich.

----

Notes from Bertrand Meyer’s presentation - Feb. 18, 2015

Many software development ideas can either be labeled as “good” (we should use it) or “bad” (it doesn’t work). But in the case of Agile - it is a *combination* of the best and the worst.

Agile is everywhere -- it is difficult to find companies that are not applying some agile methods.

I will discuss agile ideas and practices from four sources: XP, Lean, Crystal, and Scrum.

First method was XP - Kent Beck

Lean - Mary Poppendieck

Crystal - Alistair Cockburn

Scrum - Schwaber and Sutherland

The rest of the talk is in two parts:

  1. Key agile concepts
  2. Assessment

Bertrand discussed the 12 Agile principles from the Agile Manifesto (http://www.agilemanifesto.org/principles.html) - Bertrand’s contention is that these principles are not necessarily the best ways to explain agile .

What isn’t in the agile principles that should be there?

Bertrand has created his own set of 5 agile values:

Agile values:

Bertrand also has two sets of agile principles (organizational principles and technical principles):

Organizational principles
Technical principles

What about some of the common agile practices that are good or not so good?

User stories - they have taken the industry by storm - and not for the better

User stories may be useful for requirements elicitation, but they are not a fundamental requirement technique.

As soon as your needs depart from the existing behavior, you are in trouble.

The idea of implementing more features runs into complexity problems:

One person in AT&T (Pamela Zave) discusses the possible complexity of feature interactions.

Each user story may make sense, but when you add them together, you find you need a better, more abstract view.

“Closed-window rule” - during a Sprint, there is a rule that says -- we don’t allow new work to be added to the Sprint

Agile tells you “no upfront design” -- this is not good, because it causes catastrophe. Sometimes just a few weeks of analysis and design would have saved you from disaster. Agile folks are right that we often spend too much time and effort in analysis -- and we sometimes analyze in circles, spend too much time in the abstract.

I like the idea of “dual development.”

Beck talks about the problems of a negotiated scope contract -- I can promise a deliver date or a set of functionality but not both. Classic software engineering disagrees - you can negotiate a small essential scope plus some add-ons that will cost more money or time.

Assessment...

Ugly - shown to harm projects

Indifferent -

Good -

Brilliant-

The Agile community has a bit of an “adolescent attitude” that our stuff is better than anything that came before... but I think of it as a step in the 50 year evolution of Software Engineering, and they are building on some of the best work that came before.

Question and answer session:

Q. What kind of negative comments have you received from the Agile community?

I spoke with many of the Agile pioneers in creating the book. I shared the PDF of the draft of the book with people, and many said that they welcomed criticism. Most of the post-publication feedback was silence, but I did get some supportive email from Kent Beck.

Q. No branching - what is it?

In some of the agile literature, they say your code changes need to be made to a single trunk in your code management system -- everyone checks in to the main trunk. Some people disagree -- the git community is fine with some branching. But most agile experts think that branching is probably evil, or at least risky. Developers shouldn’t create extra code branches for no good reason.


Last modified: Feb. 19, 2015

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.