Saturday, April 27, 2019

Good talks/podcasts (April 2019 II)

These are the best podcast/talks I've seen/listen to recently

Tuesday, April 23, 2019

Books I've read lately 2019

These are the books that I read lately:
Read in progress:
The ones I liked the most are (I will make reviews for them):


Sunday, April 07, 2019

Good talks/podcasts (April 2019 I)

These are the best podcast/talks I've seen/listen to recently

Tuesday, April 02, 2019

A letter to Agile Coaches (Scrum, XP, and software delivery)

As you know, the Manifesto for Agile Development was created by some developers who believed that there was a better way to develop software than the one in widespread use at the time.
Surely you also know that this manifesto defines a different way of working and that it is not only valid for developing software.
The values and principles from the manifesto are valid for many creative endeavors. The great exponent of this way of working that has transcended throughout these years has been Scrum.

What perhaps nobody has told you (especially if you do not have a technical background) is that scrum is not a working methodology for software development so although it is very suitable for certain parts of the company, by itself is not enough for software development.

Precisely because it is a general-purpose framework, it has been able to expand without problem to many companies. The problem is that when applied to software development without any agile development practices, the result is usually a disaster not sustainable over time.

What an irony.  Developers come together to define how to develop software and 20 years later their ideas improve many types of work, except software development.

Some context to the manifesto, Scrum and XP

In the creation of the manifesto, there were representatives of Extreme Programming (XP), SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others sympathetic to the need for an alternative to documentation driven, heavyweight software development processes convened.

As we can see in the following photo a lot of the authors come from the XP community.

So to a large extent, when the authors referred to agile software development, they were referring to XP and other development practices that pursue technical excellence and simplicity as stated in the manifesto.
“Continuous attention to technical excellence and good design enhances agility.”
“Simplicity--the art of maximizing the amount of work not done--is essential.”

Moreover, in fact, Scrum was considered the ideal complement for agile software development (XP) to be scaled up and introduced in enterprises as we can read from the scrum creators:

eXtreme Programming is an ideal many software shops would love to reach, but with the constant pressures to produce software quickly, they cannot actually implement it. ... This book shows readers how to use SCRUM, an Agile software development process, to quickly and seamlessly implement XP in their shop-while still producing actual software.” 
Book: “Agile Software Development with Scrum”
Ken Schwaber and Mike Beedle
If XP was so crucial for software development, why hasn't it been transmitted as actively as scrum?

The ideas of agility with XP practices are only valid for software development and are not valid for the rest of the company, while Scrum fits like a glove in any departments of any company.
There is another interesting fact, without engineering practices, it was easier to transmit to the management level. :)
“I learned from Jeff Sutherland that the first Scrum actually did all the XP practices. But Ken Schwaber convinced him to leave the engineering practices out of Scrum, to keep the model simple and let the teams take responsibility for the tech practices themselves. Perhaps this helped spread Scrum faster, but the downside is that a lot of teams suffer because they lack the technical practices that enable sustainable agile development.”

“Scrum and XP from the Trenches” Henrik Kniberg
So actually, the authors of the manifesto clearly understood that Scrum is not an agile development method and that you need XP to get the benefits of agility when you develop software.
You don’t see high performing Scrum teams without XP engineering practices. It is difficult to scale XP teams without Scrum and Scrum solves the management interface issues for XP. Be careful about doing pieces of anything and calling it Agile.”
“Deep Agile course” Ron Jeffries and Jeff Sutherland

And what can I do as an Agile coach?

First, read the following references to understand the frustration that software developers have with the mainstream Agile:
Second, you should understand and recognize the importance of software development nowadays (you know, now every company is a software company).

So Finally, with this context and knowing that you need agile development practices, try to introduce them getting the needed help. Contract an XP coach. Introduce XP practices.  Push for an agile architecture that helps to introduce DevOps practices. 

And remember...
we can't be agile if our code sucks.