Sunday, May 20, 2018

Good talks/podcasts (May 2018 I)

These are some interesting talks/podcast that I've seen/heard during the past month:

Wednesday, May 09, 2018

DevOps talks

As a complement of the previous post DevOps concepts and learning path and in case that you prefer watching talks, these are some great talks about DevOps:

Bases for DevOps (Lean / Flow):

Related posts:

Monday, May 07, 2018

DevOps concepts and learning path

As Jez Humble said at leading a devops transformation DevOps is:
A cross-functional community of practice dedicated to the study of buildings, evolving and operating rapidly changing, secure, resilient system at scale. 
DevOps involves and enhance the ideas of the Agile Software Development giving a more end to end vision of the value stream for a technology-based company. And, you know, Every Company Is A Tech Company.

In summary, I think that DevOps should be the core of any technology-based company and the only option to reach/pursue the necessary business agility.

Main characteristics of DevOps culture:

  • Collaboration between development and operations (avoiding SILOs and conflicting goals).
  • Organize around the value stream optimizing for the flow efficiency (not resource efficiency). Learning to work in small batches.
  • Remove waste (Non-Value Adding Activities).  Of course, we talk about value from the customer point of view.
  • Build quality in.
  • Create fast feedback loops.
  • Maximize organizational learning (making safe to fail and learn).

Common practices:

  • Infrastructure as code.
  • Developers are involved in operations of the system (you build it, you run it).
  • Operations involved in the development from the beginning (introducing/facilitating specific, nonfunctional requirements to create a system easy to operate and monitor).
  • Automation (to avoid errors and to facilitate short iterations).
  • Continuous Delivery.

Books / Learning path:

If you are interested in learning about this culture and you like reading books, this is the learning path I recommend:

The Phoenix project: As a great and easy to read an introduction to Lean in an IT environment. (My review)

The DevOps handbook: The complement for The Phonix Project that explains step by step the typical practices and the strategy to introduce DevOps.  A short of practitioner’s guide.

Continuous Delivery: To learn the principles and technical practices that enable rapid and incremental delivery of high-quality, valuable software to our customers.

Accelerate: To understand how to build and scale high performing technology organizations creating this DevOps culture.  This book is also an analysis of the data from the State of DevOps reports that give an idea about the importance of these practices.

If you are involved in any technology company, do you a favor and learn about DevOps... As the State of DevOps report indicates is the key to be a high-performance organization.

Related posts:

Saturday, May 05, 2018

Good talks/podcasts (April 2018)

These are some interesting talks/podcast that I've seen/heard during the past month:

Sunday, April 22, 2018

Don't blame the Manifesto for Agile Software Development

From time to time I hear people saying that Agile is not the same thing as "technical practices" and software delivery, that the Agile manifesto makes no sense for the whole company...  And I agree and disagree entirely.

A bunch of software developers created the famous manifesto. And the complete name is Manifesto for Agile Software Development. The title is not Agile Manifesto or Manifesto for Business Agility. It was created by developers, to improve how we develop software and it was an excellent improvement on software creation 20 years ago. Right now it is not good enough and should be adapted to the industry evolution (perhaps including DevOps, Continuous Delivery or ideas from Modern Agile).

If you want an adaptable business that's optimized for this VUCA world, you need business agility and in a lot of cases these days, agile software development. The good news is that all of these concepts are grounded on the same roots, and principles and need a common culture (respect for people, continuous learning, continuous improvement, etc.).

So don't blame the Manifesto for Agile Software Development or the agile software developers for not solving problems that are outside the original scope and need other skills and practices. Complement this way of doing software development with other great disciplines that have common roots and principles and are very compatible.

When you are trying to do the right thing, learn about lean product development, design sprints, lean startup, customer research, dual track agile, etc. When you need to do the thing right (assuming software based company), learn about Extreme Programming (XP)DevOpsContinuous Delivery, Scrum, etc.

So focus on Continuous Incremental Improvement and Respect for People. Do the right thing and do the thing right.

References and Related posts

  • Agile is not a recipe for success...
  • The two pillars of agile software
  • Remove the excuses for not being a professional
  • Continuous Delivery