- Parallelizing computation with dask TalkPython podcast. Good episode if you are interested in different solutions to improve the performance of algorithms for Data Science. For python native shops, Dask seems a very good solution with a low entry barrier for Data Scientists.
- InfoQ Podcast: Kim Scott on Radical Candor Very interesting to learn about giving and receiving feedback. To go deeper in the topic, the book is also great Radical Candor Kick Ass Without Humanity.
- Mik Kersten on Moving from Projects to Products An interesting interview about this clear trend.
- keynote: architecting for continuous delivery Jez Humble. Good ideas about how to create agile systems.
- Napoleon DevOps and Delivering Business Value Mark Schwartz. The importance of leveraging DevOps short feedback loops to evolve continuously the system.
Monday, May 13, 2019
Good talks/podcasts (May 2019 I)
Saturday, April 27, 2019
Good talks/podcasts (April 2019 II)
These are the best podcast/talks I've seen/listen to recently
- Systems that Run Forever Self-heal and Scale Joe Armstrong. A great talk by a great genius of our profession who recently passed away.
- Progressive Delivery James Governor. Good ideas to complement and amplify the continuous delivery using canary releasing, segmentation, toggles and so on.
- Scaling Your Architecture with Events and Services Randy Shoup. Very good insights on how to design and evolve a microservice architecture (assuming that you need it).
- Why the fuss about serverless Simon Wardley. A great talk to improve our orientation skills in the world of technology. Makes an excellent introduction to Wardley's maps and uses them to describe the evolution of technology and what serverless implies.
- Management, soft skills, and other interesting topics:
- EMPOWERED Achieving Extraordinary Results with Ordinary People Martin Cagan. Interesting insights about leadership, management and good ideas for hiring in the context of product management.
- Radical Candor: The Surprising Secret to Being a Good Boss First Kim Scott. A great talk describing one of the most difficult skills for good management, sincere and actionable feedback.
Tuesday, April 23, 2019
Books I've read lately 2019
These are the books that I read lately:
- Event Streams in Action Alexander Dean, Valentin Crettaz
- DevOps for the Modern Enterprise: Winning Practices to Transform Legacy IT Organizations Mirco Hering
- Leading the Transformation: Applying Agile and DevOps Principles at Scale Tommy Mouser, Gary Gruver
- Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework Mik Kersten
- Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results Mike Rother
- The Journey to Enterprise Agility: Systems Thinking and Organizational Legacy Daryl Kulak
- It Doesn't Have to Be Crazy at Work Jason Fried, David Heinemeier Hansson
- Isn't It Obvious? Eliyahu M. Goldratt
- Thinking in Systems: A Primer Donella H. Meadows
- Notes to a software team leader, Roy Osherove
- Toyota Talent: Developing Your People the Toyota Way Jeffrey K. Liker
- Inspired: How to Create Tech Products Customers Love Marty Cagan
- Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days Jake Knapp
- A Seat at the Table Mark Schwartz
- The Art Of Business Value Mark Schwartz
- Sapiens: A Brief History of Humankind Yuval Noah Harari
- Accelerate: Building and Scaling High-Performing Technology Organizations Nicole Forsgren, Jez Humble, Gene Kim
- Making Work Visible: Exposing Time Theft to Optimize Work & flow Dominica Degrandis
- Skin in the Game: The Hidden Asymmetries in Daily Life Nassim Nicholas Taleb
- Beyond The Phoenix Project: The Origins and Evolution Of DevOps Gene Kim, John Willis
- Data Analytics: An Essential Beginner’s Guide to Data Mining, Data Collection, Big Data Analytics for Business, and Business Intelligence Concepts, Herbert Jones
- Big Data: 4 Manuscripts: Data Analytics for Beginners, Deep Learning with Keras, Analyzing Data with Power BI, Convolutional Neural Networks in Python Anthony Williams
- Accelerate: Building and Scaling High-Performing Technology Organizations (2º read)
- Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework (2º read)
The ones I liked the most are (I will make reviews for them):
- Accelerate: Building and Scaling High-Performing Technology Organizations
- Skin in the Game: The Hidden Asymmetries in Daily Life
- Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework
- Inspired: How to Create Tech Products Customers Love
Related:
Sunday, April 07, 2019
Good talks/podcasts (April 2019 I)
These are the best podcast/talks I've seen/listen to recently
- Ep. 107. Explore, Expand, Extract with Kent Beck Agile for Human Podcast. Any interview with Kent Beck is always interesting.
- AWS re:Invent 2018: Inside AWS. Technology Choices for Modern Applications A good summary of technology trends using in the cloud.
- Second Generation Lean Product Development Flow Don Reinertsen. This talk is a little bit dense but it provided a good mental model to think about product development.
- Beyond_Features Dan North (NDC London 2016). A great talk. I already recommended a previous version of this talk. It is a must. Thanks, @Fortiz2305 for reminding me of this talk.
- SE-Radio Episode 359: Engineering Maturity with Jean-Denis Greze. Good insights for anyone leading technical teams.
- Feature Branching considered Evil Thierry de Pauw. A good summary of the problems introduced by using feature branching strategy and how this block continuous integration.
- Cultivating Production Excellence - Taming Complex Distributed Systems Liz Fong-Jones. A good talk about operating system at scale.
- Yes, I Test in Production (And So Do You) Charity Majors. A great talk about the need for testing in production and the approach we can use.
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.
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.
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:
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. :)
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.”
If XP was so crucial for software development, why hasn't it been transmitted as actively as scrum?Book: “Agile Software Development with Scrum”Ken Schwaber and Mike Beedle
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.”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.
“Scrum and XP from the Trenches” Henrik Kniberg
“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:
- Developers Should Abandon Agile (Ron Jeffries)
- Agile is Dead (Long Live Agility) (Dave Thomas)
- Flaccid Scrum (Martin Fowler)
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.
Related:
Thursday, March 28, 2019
Good talks/podcasts (March 2019 II)
- Sub-second acceptance tests Aslak Hellesoy (at SCLConf 2018) Interesting for anyone with slow tests.
- DevOps at Amazon with Ken Exner GM of AWS Developer Tools Great talk to understand how to deliver and operate software at scale. It contains a lot of useful insights.
- class SRE implements DevOps videos (5m each): A very interesting series to understand how SRE related with DevOps and how google operate services at scale. I think that all of them are very interesting.
- What's the Difference Between DevOps and SRE?
- SLIs, SLOs, SLAs, oh my!
- Risk and Error Budgets
- Toil and Toil Budgets
- Now SRE Everyone Else with CRE!
- Managing Risks as a Site Reliability Engineer
- Actionable Alerting for Site Reliability Engineers
- Observability of Distributed Systems
- Incident Management
- Postmortems and Retrospectives
Subscribe to:
Posts (Atom)