Thursday, December 24, 2020

Good talks/podcasts (Dec 2020 II)

 


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

  • AgileByExample 2017: Donald Reinertsen - Making Money with Variability (Donald Reinertsen) [Lean Product Management, Product, Product Strategy] Interesting talk where Donald explains why, unlike in Lean Manufacturing, we can exploit the variability to innovate and achieve better outcomes in product development.
  • Beyond Features: rethinking agile software delivery (Dan North) [Agile, Inspirational, Lean, Lean Software Development] (⭐⭐⭐⭐⭐) Maybe we've been thinking about delivery all wrong. Maybe features aren’t the point after all. Maybe there are other kinds of work that we should recognise, schedule and track as first class citizens. Maybe this could take some of the uncertainty out of the delivery process, and give us back our sanity. Maybe.
  • GOTO 2020 • When To Use Microservices (And When Not To!) (Sam Newman, Martin Fowler) [Architecture, Architecture patterns, Evolutionary Design, Microservices] Interesting conversation about tradeoffs to be considered for using a microservices architecture.
  • SLO TheoryWhy the Business needs SLOs (Danyel Fisher, Nathen Harvey) [Observability, Operations, Technical Practices] (⭐⭐⭐⭐⭐) Great explanation about SLI, SLOs, error budgets and how to introduce them to improve our production operations.
Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Saturday, December 19, 2020

Good talks/podcasts (Dec 2020 I)


 

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

  • Cadence: Uber’s Workflow Engine with Maxim Fateev (Maxim Fateev) [Architecture, Scalability] Interesting podcast about cadence, an scalable workflow engine.
  • O11ycast - Ep. #12, Speed of Deployment with Rich Archbold of Intercom (Rich Archbold) [Continuous Delivery, Devops, Engineering Culture, Platform, Technical Practices] In episode 12 of O11ycast, Charity Majors and Liz Fong-Jones speak with Rich Archbold of Intercom. They discuss the crucial importance of timely shipping, high-cardinality metrics, and the engineering value of running less software.
  • The Art of Modern Ops · Camille Fournier on Building Internal Kubernetes Platforms (Camille Fournier) [Engineering Culture, Platform, Platform as a product] In this latest episode of the “Art of Modern Ops” Camille Fournier (@skamille), Managing Director at Two Sigma and Cornelia Davis (@cdavisafc), CTO at Weaveworks discuss what it takes to build an internal platform within your organization.
  • Continuous Delivery and Data Management (Dave Farley) [Continuous Delivery, Technical Practices, XP] In this episode Dave Farley describes the basics of a Continuous Delivery, DevOps, approach for Data. How do we apply the software engineering disciplines of CD to Data? How do we configuration manage, deploy, migrate and test the data related aspects of our systems?
  • Continuous Delivery simply explained (Dave Farley) [Continuous Delivery, Technical Practices, XP] (⭐⭐⭐⭐⭐) In this episode see Continuous Delivery explained by Dave Farley as he explores the fundamentals in a way that helps us to understand the real value in this advanced approach to software development, this engineering-for-software.
  • Continuous Deployment or Continuous Delivery? | When To Release (Dave Farley) [Continuous Delivery, Technical Practices, XP] In this episode, Dave Farley explores the differences and helps you to decide which approach is best for you - continuous delivery vs continuous deployment. 

 

Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Monday, November 09, 2020

Good talks/podcasts (Nov 2020 I)


 

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

  • Enterprise Architecture = Architecting the Enterprise? (Gregor Hohpe) [Architecture, Architecture patterns, Engineering Culture] (⭐⭐⭐⭐⭐) This session takes a serious but light-hearted look at the role of enterprise architects in modern IT organizations.
  • You Must Be CRAZY To Do Pair Programming (Dave Farley) [Agile, Technical Practices, XP] (⭐⭐⭐⭐⭐) One of the best descriptions I have heard of the usefulness of this practice. Dave provides pair programming examples, describes some pair programming best practices, and challenges some thinking about pair programming patterns and anti-patterns.
  • The GIST Framework (Itamar Gilad) [Lean Product Management, Product, Product Discovery, Product Strategy] In this talk from #MTP Engage Manchester consultant Itamar Gilad takes us through his GIST (goals, ideas, steps, tasks) framework.
  • Talking Serverless #27 - Gojko Adzic Partner at Neuri Consulting (Gojko Adzic) [Architecture, Microservices, Serverless]
  • Reboot Your Team (Christina Wodtke) [Engineering Culture, Product, Product Team, Teams] (⭐⭐⭐⭐⭐) Christina told us how to reboot the team you have, or build a healthy one from the ground up. 

  • The Product-Led Journey (John Cutler) [Lean Product Management, Product, Product Discovery, Product Strategy] Interesting insights into the changes needed to become a product led company.
  • Scale, Microservices and Flow (James Lewis) [Agile, Architecture, Engineering Culture, Microservices, Teams] Interesting presentation explaining the relationship between high performance teams, flow, complex adaptive systems, and the organization of teams and how it affects the organization scalability. 

 

 

Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Sunday, November 08, 2020

Small Safe Steps workshop

 


 

If your team wants to have better strategies to manage large and risky changes, improve their slicing skills, or practice techniques as parallel changes, branch by abstraction, look at this Small Safe Steps workshop.

I have prepared information so that anyone can easily facilitate the workshop.

Please use the material, run the workshop, give me improvement feedback.  And if you need advice on running or adapting it, contact me, and I will be happy to help.

 

Small Safe Step workshop

 

Additional references:

Recommended readings:


 
 


Tuesday, October 06, 2020

The Big Branch Theory - Product Teams podcast

El pasado 1 de octubre se publico el episodio de The Big Branch Theory en el que pude conversar con mi amigo Ronny sobre los equipos de Producto, los equipos de Plataforma y algún que otro tema relacionado.

La verdad es que como siempre disfrute de la conversación con Ronny y creo que salieron temas bastante interesantes.


Espero que nuestra coversación le pueda aportar algo a alguien, y estaría encantado de conocer otras opiniones sobre los equipos de producto, las plataformas como producto y sobre el resto de los temas que tratamos.

Podeis descargar el episodio desde:
https://thebigbranchtheorypodcast.github.io/post/product-teams-edu-ferro/

Y no dejeis de serguir este interesantisimo podcast https://twitter.com/BigBranchTheory



Sunday, September 06, 2020

Good talks/podcasts (Sept 2020 I)

 

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

  • Agile as if you meant it (Maaret Pyhäjärvi) [Agile, Lean Product Management, Product, Product Strategy, Teams] (⭐⭐⭐⭐⭐) A good example of what Modern Agile looks like. Customer-focused team, with direct contact with the customer and without a proxy. Very interesting. It reminds me a lot of the way I used to work at [@AleaSolucionesS](https://twitter.com/AleaSolucionesS) and at TheMotion ([@HoneyBadgersDev](https://twitter.com/HoneyBadgersDev)).
  • How to Write Acceptance Tests (Dave Farley) [Continuous Delivery, Technical Practices, testing] "How to write Acceptance Tests" describes the use of Automated Acceptance Tests, an important tool in evaluating our software. These tests are focussed on answering questions like "Does our software do what our users want and expect?". Software Development teams have been trying to achieve this insight for many years, with often poor results. Grounded in the ideas of TDD and BDD this Acceptance Test Driven Development (ATDD) approach is based in the idea of creating a Domain Specific Language (DSL) for expressing test cases.
  • Lean starts with kanban (Michael Balle) [Lean] This presentation shows how lean is a people-first, value-based strategy. It also shows how kanban is the starting-point tool to learn and understand lean's upside-down thinking.
  • Product Management for Continuous Delivery (Elizabeth Ayer) [Continuous Delivery, Lean Product Management, Product] (⭐⭐⭐⭐⭐) This presentation explains how Continuous Delivery is very beneficial for excellent product management and growing a customer-focus team. CD enables closing the loop for each product increment, getting feedback, making decisions, and punting the focus on the impact generated (and not creating more and more features).
  • Tidy First? (Kent Beck) [Agile, Design, Evolutionary Design, Technical Practices, XP] (⭐⭐⭐⭐⭐) Great talk about the human relationships generated during software development. Kent explains these relations and uses them to analyze the development flow, the need for small safe steps, and the tension generated between the people involved. For me, this talk is a must.
  • How Stripe Invests in Technical Infrastructure (Will Larson) [Infrastructure, Platform, Platform as a product, Product] Will shares Stripe's approaches to prioritizing infrastructure as your company scales, justifying—and maybe even expanding—your company's spend on technical infrastructure, exploring the whole range of possible areas to invest into infrastructure, adapting your approach between periods of firefighting and periods of innovation, and balancing investment in supporting existing products and enabling new product development.
  • The science of batch size (Donald G Reinerstsen) Don explains the impacts of reducing the batch size in the product development world (not only software). Dense but very interesting.
  • Working without a Product Owner (Maaret Pyhäjärvi) [Lean Product Management, Product, Teams] Maaret talk about the experiment they did for three months working with a Product Owner or Product Manager. They experienced the development team delivering multitudes of value and innovate customer-oriented solutions in direct collaboration with customers. Team satisfaction and happiness bloomed. The experiment turned into a continuous way of working.
Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Monday, August 17, 2020

Resources for Product Management for Internal Platform

"The purpose of a platform team is to enable stream-aligned teams to deliver work with substantial autonomy. The stream-aligned team maintains full ownership of building, running, and fixing their application in production. The platform team provides internal services to reduce the cognitive load that would be required from stream-aligned teams to develop these underlying services."

The last year I have been leading the Platform Team in a startup during the scale phase. First at Nextail and currently at Clarity.ai. Although it is the first time I focus exclusively on that team, the truth is that throughout my career, I have always got very involved in any initiative or organization focused on improving internal tools or provide a platform for the rest of the engineering team.


I have always liked these teams, for the transversal impact they have on the whole product organization and the capacity they have to enable the DevOps culture.


But I've always seen that they usually focus too much on technology and not so much in the customer, our colleagues.  Happily, it seems that these teams are starting to be treated as product teams and are beginning to use modern product management techniques.

There are still not many resources dedicated to how to treat the Platform as an internal product. So I have decided to compile in this post the most interesting resources I have found about it.
 

Interesting presentations

Projects

Articles and blog posts

Books

I didn't find any specific book about Product management techniques for Platform teams, but we can always adapt the techniques described in modern product management books.

Other resources

I'd love to share resources with anyone who's interested in the subject. Any suggestions/resources/ideas are welcome.


Updates:

Sunday, August 09, 2020

Good talks/podcasts (Aug 2020 I)

 

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

  • Six Decades of Software Engineering (Mary Poppendieck) [Agile, Devops, Engineering Culture, Lean Software Development] (⭐⭐⭐⭐⭐) Great talk with the evolution of our field from a lean perspective. Great insights about the engineering role, agile, the current painful division between business and development, how we can think about complex systems, the failure of having proxy roles as the product owner, etc... Great talk, lot of computer and development history, and great Q&A session. Slides: https://speakerdeck.com/devopslx/2020-dot-07-meetup-talk-may-poppendieck-six-decades-of-software-engineering
  • 7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development (J.B. Rainsberger) [Agile, Design, XP] (⭐⭐⭐⭐⭐) Short excellent talk (7:26') that distilled the essence of software development and agile development. Essential. A must.
  • YOW! Singapore/Hong Kong 2017 The Best OO Language is a Functional One (Dave Thomas) [Design, Functional, OOP] Interesting talk about some OO concepts using elixir.
  • 15 teams and 4 months to achieve Continuous Delivery (Thierry de Pauw) [Continuous Delivery, Engineering Culture, Lean, Lean Software Development, TOC] Interesting presentation about how to transform the engineering culture of a company to reach Continuous Delivery. He talked about Improvement Kata, Value Stream Mapping, and the Theory Of Constraints to choose which changes to apply first, and kickstart the organisational changes we needed to improve quality and drive down lead times.
  • Mastering the Problem Space to Achieve Product-Market Fit (Dan Olsen) [Lean, Lean Product Management, Product, Product Discovery, Product Strategy] Good explanations about modern Product Management concepts (Product market fit, Problem Space vs Solutions Space, Lean product management, etc).
  • GOTO 2020 • Modern Continuous Delivery (Ken Mugrage) [Continuous Delivery, Engineering Culture] (⭐⭐⭐⭐⭐) Great description of a Continuous Delivery process.
  • What got you here won't get you there: How your team can become a high-performing team by embracing observability (Charity Majors) [Engineering Culture, Observability, Operations] (⭐⭐⭐⭐⭐) A ton of useful insights and ideas in this excellent Charity presentation. Great description of observability and its need in modern systems.
  • Podcast with Deloitte - Building Great Software Takes Great Teams and Communication (Matthew Skelton) [Agile, Architecture, Devops, Engineering Culture, Management, Technology Strategy] The show covered the original DevOps Topologies patterns and how these have been used in industry, and then talked about what’s in the book Team Topologies: well-defined team types, what we mean by a modern platform, team interaction modes, clear responsibility boundaries, DevEx, and using difficulties in team interactions as ‘signals’ to the organization that something is missing or misplaced. We also talked about moving beyond the Spotify model - success in software delivery is not just about team structures but about how teams interact and what kind of relationships they create, sustain, and evolve.
  • Software Modernisation (Sandro Mancuso) [Architecture, Architecture patterns, Technical leadership, Technology Strategy] In this talk, Sandro Mancuso, Software Craftsman and Co-Founder at Codurance will cover the key aspects of Software Modernisation initiatives and why they are neede
Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Monday, July 27, 2020

Good talks/podcasts (Jul 2020 II)



These are the best podcast/talks I've seen/listen to recently:
  • Life as a Chief Architect (Gregor Hohpe) [Architecture, Inspirational, Technical leadership, Technology Strategy] Gregor Hohpe will share insights from his life as a Chief Architect.
  • Creating Value and Flow in Product Development (John Cutler) [Agile, Engineering Culture, Lean, Lean Software Development, Product, Teams] (⭐⭐⭐⭐⭐) John Cutler, Product Evangelist at Amplitude explains why most of a product developers time is spent waiting and how limiting work in progress, the scope of work and handoffs can increase flow and value.
  • The Work That Makes the Work Work (John Cutler) [Agile, Company Culture, Engineering Culture, Inspirational] A quick video about continuous improvement, and visualizing the work that makes the work work with Popcorn Flow c/o @agilesensei
  • The subtle difference between a constraint and a bottleneck (Theory of Constraints) (Chris Hohmann) [Lean, TOC] (⭐⭐⭐⭐⭐) Excellent 3-minute video explains the subtle difference between a constraint and a bottleneck in the Theory of Constraints (and, therefore, where to put the focus.)
Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Sunday, July 12, 2020

Good talks/podcasts (Jul 2020 I)


These are the best podcast/talks I've seen/listen to recently:
  • Boundaries (Gary Bernhardt) [Architecture, Architecture patterns, Design, Evolutionary Design] (⭐⭐⭐⭐⭐) An exploration of the boundaries between pieces of code, including: isolated testing, behavior vs. data, mutation vs. immutability, how data shape affords parallelism, transforming interface dependencies into data dependencies, and what a system optimizing each of these for natural isolation might look like.
  • Cross-functional Leadership for High-Performance Product Teams (Dan Olsen) [Engineering Culture, Inspirational, Lean, Product] Interesting intro about modern product management. Interesting to understand concepts as product market fit and the Product-Market Fit Pyramid.
  • Habits, Practices & Strategy For Building Viral Products (Oji Udezue) [Inspirational, Product, Product Strategy] A discussion on the habits, practices and strategy for building products that are extremely viral and able to catch the attention of your target market, so you can grow your business faster.
  • Ask for the unreasonable… and then get out of the way (Andrew Harcourt) [Engineering Culture, Inspirational, Teams, Technology Strategy] The talk describe some ways to map strategy to execution by setting “unreasonable” goals - and then working out how to get organisational constraints - and ourselves - out of the way.
  • Life as a Chief Architect (Gregor Hohpe) [Architecture, Inspirational, Technical leadership, Technology Strategy] Gregor Hohpe will share insights from his life as a Chief Architect.

Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Continuous learning. What / How


“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
“Working software is the primary measure of progress.”

But making software is complex and requires a good understanding of the customer's needs, the market (WHAT), and the reactions of the system we are developing (HOW). Let's remember that current software systems are complex systems, and that implies that they have emerging behaviors that we don't know when we create them.
“The main idea behind complex systems is that the ensemble behaves in way not predicted by the components. The interactions matter more than the nature of the units. ... This is called an “emergent” property of the whole, by which parts and whole differ because what matters is the interactions between such parts. And interactions can obey very simple rules.” 
Nassim Nicholas Taleb

Therefore the bottleneck to create software that meets customer needs is continuous learning. But learning is useless if we bring the system down or piss off our customers.

In a software system each of the deployments/changes we make, allows us to learn and make decisions for the next steps. Therefore we are interested in shortening the learning and decision cycles as much as possible.

What is Agile delivery's strategy for doing so?

Agile Delivery's strategy is to deliver increments in small safe steps (3S), each of which must attempt to generate learning about the WHAT (user needs) or the HOW (technology/system).

Learning WHAT / User needs / Valuable software

If we have a lean product development process, we will try to validate and learn this aspect by generating as little software as possible. This implies generating hypotheses and trying to achieve validated learning using everything we have at our disposal: data analysis, prototypes with or without code, or software increments. For the latter, we will have to divide using Vertical Slicing in increments so small as possible.
Of course, to learn about user behavior, it is also essential that we instrument the product to learn continuously from the use that the customer makes of the system.

Learning HOW / Technology/System / Working software

Software is a complex system. This means that we can't foresee the final behavior when we develop each of its parts independently. That is why it is essential to make small safe changes (technical Slicing) that allow us to learn from the behavior of the system in production without affecting the user. Of course, in order to get these learnings, we need to decouple the deployments (putting into production a change) from the releases (activating a change for the end-user).


Summary

In summary, the sure way to achieve this continuous learning of the WHAT and HOW that agile delivery offers is the Continuous Delivery of Small Safe Steps (both purely technical increases and increases in value for the user).
It seems that the data confirm that this is the right approach for making digital products.



References:

Small Safe Steps

Vertical Slicing

Continuous Delivery

Sunday, June 28, 2020

Good talks/podcasts (Jun 2020 II)


These are the best podcast/talks I've seen/listen to recently:
  • Monolith Decomposition Patterns (Sam Newman) [Architecture patterns, DDD, Microservices] (⭐⭐⭐⭐⭐) Sam Newman shares some key principles and a number of patterns to use to incrementally decompose an existing system into microservices. He covers patterns that can work to migrate functionality out of systems hard to change, and looks at the use of strangler patterns, change data capture, database decomposition and more.
  • Strategic Autonomous Design: Patterns & Heuristics (Nick Tune) [DDD, Design] Practical techniques for identifying effective modules in your software systems and enabling autonomous teams in your organization, and you’ll see modeling patterns based on real-world examples from a variety of domains. Along the way, you’ll learn about the theoretical concepts underpinning the techniques, touching on DDD, Systems Thinking, Promise Theory, Theory of Constraints, and more. 

  • Product Discovery: Engineering perspective (Eduardo Ferro) [Engineering Culture, Product, Teams] A product team with excellent product discovery habits has a tremendous competitive advantage.​​​​​​​ Engineers must get involved in the continuous product discovery process. Learn how to leverage technology, team organization, and practices to facilitate this learning process. The talk tries to explain why every team needs Product Discovery, what does an effective team look like​​​​ and how our systems should facilitate Product Discovery.
    Slides: http://www.eferro.net/2020/06/technology-at-core-of-product-discovery.html
    Additional Notes: https://miro.com/app/board/o9J_ksGhEsM=/
    Disclaimer: This is my first public talk in English, and I think the delivery is awful, but I think the content adds value, so I decided to include it in this post.
Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Sunday, June 21, 2020

Charlas/Podcasts interesantes (Castellano) (2020 Junio)


Estas son algunas charlas y podcast interesantes que he visto o escuchado ultimamente:

Sunday, June 14, 2020

Good talks/podcasts (Jun 2020 I)


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

  • GOTO 2020 • Advanced Feature Flagging: It's All About The Data (Dave Karow) [Continuous Delivery, Engineering Culture, Product, Product Discovery] (⭐⭐⭐⭐⭐) A great talk on one of the fundamental techniques for making product discovery and continuous release. Excellent information about how to use them, define experiments, and interpret results.
  • The Marty Cagan special - ProductTank #27 Singapore (Marty Cagan) [Product, Product Discovery] (⭐⭐⭐⭐⭐) An open discussion on Modern Product Management. The talk contains a lot of interesting discussions during the Q&A. I think it covers all the underpinnings of modern product management.
  • YOW! 2019 Evolutionary Design Animated (James Shore) [Agile, Design, Engineering Culture, Evolutionary Design, XP] (⭐⭐⭐⭐⭐) Modern software development welcomes changing requirements, even late in the process, but how can we write our software so that those changes don’t create a mess? Evolutionary design is the key. It’s a technique that emerges from Extreme Programming, the method that brought us test-driven development, merciless refactoring, and continuous integration. James Shore first encountered Extreme Programming and evolutionary design nearly 20 years ago. Initially skeptical, he’s explored its boundaries ever since. In this session, James will share what he’s learned through in-depth animations of real software projects. You’ll see how designs evolve over time and you’ll learn how and when to use evolutionary design for your own projects.

Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Sunday, May 31, 2020

Good talks/podcasts (May 2020 II)


These are the best podcast/talks I've seen/listen to recently:
  • Technical Leadership for Empowered Teams (Emily Bache) [Agile, Architecture, Devops, Engineering Culture, Technical Practices, Technical leadership] Fascinating ideas of how agile development has evolved (DevOps, testing, mob programming) and how technology leadership must go through working with teams daily.
  • Product Strategy is About Saying No (Des Traynor) [Product] (⭐⭐⭐⭐⭐) Why Product strategy is mostly about saying no. Funny, short, thought-provoking and actionable. Imprescindible.
  • The Origins of Opera and the Future of Programming (Jessica Kerr) [Engineering Culture, Inspirational, Teams] There’s a story to tell, about musicians, artists, philosophers, scientists, and then programmers. There’s a truth inside it that leads to a new view of work, that sees beauty in the painful complexity that is software development. Starting from The Journal of the History of Ideas, Jessica traces the concept of an “invisible college” through music and art and science to programming. She finds the dark truth behind the 10x developer, a real definition of “Senior Developer” and a new name for our work and our teams.
  • Dynamic Reteaming at fast Growing Companies (Heidi Helfand) [Engineering Culture, Teams] Team change is inevitable, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split — like mitosis. Twenty people might arrive in one day. What feels like tectonic shifts happen as you morph structurally to refocus people and work. How can we bring a humanistic stance to this dynamic reteaming? How can people be empowered to have ownership over their team change? How can we integrate new people without losing our sense of culture? We will explore questions like these and will discover practical strategies to master dynamic reteaming.
  • Product Tank Madrid: Focus on Impact with John Cutler - World Product Day 2020 (John Cutler) [Product] (⭐⭐⭐⭐⭐) Excellent talk. John presents all the learnings he had during the last three years, using his great article as a starting point (https://cutle.fish/blog/12-signs-youre-working-in-a-feature-factory). Lots of knowledge and tips to introduce product thinking.
  • Rapid Prototyping & Product Management (Tom Chi) [Engineering Culture, Inspirational, Product] Tom Chi has practiced rapid prototyping for over 15 years, on everything from software to hardware, organisational design to entrepreneurship. And a lot of the lessons he has learned in rapid prototyping are directly applicable to the discipline of product management.

Reminder, All these talks are interesting even just listening to them, without seeing them.

Related: 

Sunday, May 17, 2020

Good talks/podcasts (May 2020 I)


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

  • Passion, Grace, & Fire - The Elements of High Performance (Josh Evans) [Engineering Career, Engineering Culture, Management, Teams] Josh Evans talks about the elements of high performance: passion, grace, fire, and what matters when trying to build and shape teams for high performance. He focuses on a period at Netflix when demands on engineering to quickly deliver multiple, parallel, large-scale technical transformations was the norm. The transformations enabled a global, scalable, reliable, successful streaming platform.
  • Evolutionary Architecture as Product @ CircleCI (Robert Zuber) [Architecture, Design, Engineering Culture, Microservices, Product] Robert Zuber discusses how the evolution of software development since 2011 has driven the evolution of CircleCI's architecture. From the explosive adoption of Docker to the steady rise of microservice architectures, the changing demands of software engineering teams have proven to be deeply coupled with the structure of their service–far more than they anticipated when they started the business.
  • The Foundations of Continuous Delivery (Dave Farley) [Continuous Delivery, Devops, Engineering Culture] Fundamentals of continuous delivery and how it is helping companies produce better software, quicker.
  • If (domain logic) then CQRS, or Saga? (Udi Dahan) [Architecture, DDD, Design] The “if” statement – the guard clause that makes sure that what shouldn’t happen, can’t happen. We see it all over our code base, especially in our domain logic. The thing is, when we use properties of domain objects in those if-statements, we don’t even realize that other agents may have just changed that data – or will change it just a second later. In essence, hiding behind those little “ifs”, are all kinds of race conditions and collaborative domains – the places where CQRS approaches are necessary. Join Udi for a different perspective on domain logic, CQRS, and long-running processes. It will be quite a saga.
  • Continuous Delivery and the Theory of Constraints (Steve Smith) [Architecture, Continuous Delivery, Engineering Culture, Technical Practices] (⭐⭐⭐⭐⭐) In this talk, Steve Smith will explain how easy it is for a Continuous Delivery programme to be unsuccessful, how the Theory Of Constraints works, how to apply the Five Focussing Steps to Continuous Delivery, and how to home in on the constrained activities that are your keys to success. It includes tales of glorious failures and ignominious successes when adopting Continuous Delivery.
  • Making Work Visible: How to Unmask Capacity Killing WIP (Dominica DeGrandis) [Agile, Company Culture, General, Lean, Management, inspirational, toc] Are you scrambling to meet deadlines only to find more requests piling up in your inbox? Hidden WIP is a major contributor to clogged value streams and overloaded employees, burdened with too many meetings and frustrating work routines. Making work visible highlights the problems leading to low productivity across the organization. In this talk, Dominica shares how to unmask the things that are killing your team’s capacity and their ability to optimize workflow.
  • Full Cycle Developers @Netflix (Greg Burrell) [Architecture, Devops, Engineering Culture, Management, Operations] (⭐⭐⭐⭐⭐) Greg Burrell presents Netflix’s journey from siloed teams to their Full Cycle Developer model for building and operating their services at Netflix. He discusses the various approaches they’ve tried, the motivations that pushed them to keep evolving, and the lessons learned along the way.
  • Reminder, All these talks are interesting even just listening to them, without seeing them.

    Related: 

    Saturday, April 18, 2020

    Clarity.ai: Challenge accepted


    Since April 6th, I have been working at Clarity, an incredible company with an essential yet difficult mission, to change the rules of capitalism.

    Clarity aims at contributing to a more socially efficient capital allocation by providing decision makers with the most reliable and comprehensive tools to understand and optimize social and environmental impact, leveraging scientific research, and the latest technologies.




    Anyone who knows me will guess that this is a mission wholly aligned with my values, so I cannot pass up this challenge. :)

    In particular, I am working with the SRE team to create an internal platform that allows stream-aligned teams to work autonomously. Right now, the toil level is high, and although there is an excellent base (IaC, cloud thinking, etc.). The first step will be to help eliminate part of this toil by changing the way of working (optimizing the flow), the priorities, and simplifying some parts of the infrastructure that do not support core domains.

    By the way, if this is a challenge that resonates with you, we have opened a position for the team:


    Of course, in parallel to this process of reducing toil, we will try to expand the DevOps culture to the rest of the teams and provide tooling so they can have ownership of their services.

    In summary, Clarity is a great challenge, with a critical and essential mission.

    Related

    Friday, March 27, 2020

    Looking for new challenges

    Updated


    Given the current situation and the impact it is having on Retailers and in the SaaS product for them, now, I am looking for new challenges (remote or in Madrid).

    I am a software engineer passionate about people, technology, product development, and having an impact.

    I help teams and systems grow from an end to end vision and with the ability to impact the development process, architecture, technical practices, agility, and product development. Using continuous delivery as a goal, I help teams become high-performance teams.

    I have experience with CD, XP, DevOps culture, DDD, Lean software development, Lean product management and remote working (as a developer and as manager).

    Here are my CV and some related links that may be of interest:

    Update:
    See: Clarity.ai: Challenge accepted

    Saturday, March 21, 2020

    Good talks/podcasts (March 2020 II)


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

    • The Beautiful Mess (John Cutler) [Agile, Company Culture, Management, Product] John explains how we must all embrace ‘the beautiful mess’ and learn to navigate change in order to be more successful.
    • What Will The Next 10 Years Of Continuous Delivery Look Like? (Dave Farley, Jez Humble) [Agile, CD, Continuous Delivery, Devops, Microservices, Technical Practices, Technology Strategy] In the 10 years since the publication of the Continuous Delivery Book, a lot has changed. Continuous Delivery has become a reality for many organizations all over the world and an aspiration for many more. Join the authors Dave & Jez to reflect on why Continuous Delivery has been such a successful concept, why it matters and where it is going. (⭐⭐⭐⭐⭐)
    • What Does it Mean to Lead IT? (Mark Schwartz) [Engineering Culture, Management]
    • The Agile Revolution Podcast: Episode 180: Extreme Programming & 3X Explained with Kent Beck (Kent Beck) [Agile, Company Culture, Mental models, Technology Strategy, XP] An interesting conversation about XP including a potential reboot, 3x, TDD, TRC, etc.
    • Progressive Delivery Patterns In The Wild (Dave Karow) [Agile, CD, Continuous Delivery, Devops, Technical Practices] Progressive Delivery and the statistical observation of real users (sometimes known as “shift right testing” or “feature experimentation”) are essential CD practices. They free teams up to move fast, limit the blast radius of issues found in production and focus engineering cycles on work that delivers results, not just releases.
    • Modern Product Management (Marty Cagan) [Agile, Management, Product] An interesting Q&A session with Marty Cagan.
    • Microservices and Rules Engines – a blast from the past (Udi Dahan) [DDD, Design, Technical Practices] Good insights about the real meaning of delete in different domains and about how to design solutions to model complicated services as search service, price service, risk service, that require to process information from different subdomains.
    • Agile Essence and Fluency (Martin Fowler) [Agile, Engineering Culture, Technical Practices, inspirational] As agile software has got more accepted and popular, it’s also been subject to a fair bit of misunderstanding. This talk focuses on the essence of agile software development, adaptive planning, and people-orientation. Following this, a brief summary of the Agile Fluency model, which describes the typical path people follow as they learn and apply agile software development, is given.
    • Practical Change Data Streaming Use Cases with Apache Kafka & Debezium (Gunnar Morling) [Architecture, Data Engineering, Design, Microservices] Gunnar Morling discusses practical matters, best practices for running Debezium in production on and off Kubernetes, and the many use cases enabled by Kafka Connect's single message transformations. He talks about how to leverage CDC for reliable microservices integration, e.g. using the outbox pattern, as well as many other CDC applications (maintaining audit logs, driving streaming queries).
    Reminder, All these talks are interesting even just listening to them, without seeing them.

    Related: 

    Sunday, March 15, 2020

    Good talks/podcasts (March 2020 I)


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

    • Why So Serverless? (Bob Gregory) [Architecture, Engineering Culture, Scalability, serverless] Bob Gregory, Chief Architect at Cazoo, shares his teams insights into serverless architecture from their experience building a new eCommerce platform in a matter of months.
    • AFH 107: Explore, Expand, Extract with Kent Beck (Kent Beck) [Agile, Company Culture, Mental models, Technology Strategy, XP] Kent Beck (@kentbeck) joined Ryan Ripley (@ryanripley) to discuss product development, Extreme Programming, certifications, and his new book on software design.
    • AWS re:Invent 2019: Data modeling with Amazon DynamoDB (CMY304) (Alex DeBrie) [Architecture, Design, Scalability, Technical Practices, Technology, serverless] Modeling your data in the DynamoDB database structure requires a different approach from modeling in traditional relational databases. Alex DeBrie has written a number of applications using DynamoDB and is the creator of DynamoDBGuide.com, a free resource for learning DynamoDB. (⭐⭐⭐⭐⭐)
    • Mik + One podcast: Episode 1: Gene Kim (Part 1) (Mik Kersten, Gene Kim) [Agile, Continuous Delivery, Engineering Culture, Product, inspirational] They talk about: the Unicorn Project, the first two ideals (Locality and Simplicity and Focus, Flow and Joy).
    • Mik + One podcast: Episode 2: Gene Kim (Part 2) (Mik Kersten, Gene Kim) [Agile, Continuous Delivery, Engineering Culture, Product, inspirational] They talk about the last three ideals described in The Unicorn Project; Improvement of Daily Work, Psychological Safety and Customer Focus.
    • Intro to Amazon EventBridge (James Beswick) [Architecture patterns, Cloud, Microservices, serverless] Learn about Amazon EventBridge and how it can help simplify your application architecture. In this video, we'll cover common challenges and the benefits of an event-driven design supported by EventBridge. (⭐⭐⭐⭐⭐)
    • Technical leadership and glue work (Tanya Reilly) [Engineering Career, Engineering Culture, Management, inspirational] Let's talk about how to allocate glue work deliberately, frame it usefully and make sure that everyone is choosing a career path they actually want to be on. (⭐⭐⭐⭐⭐) (Thanks @islomar for the recommendation).
    • Everyone Thinks They’re Managing by Outcomes. Here’s How to Actually Do it. (Teresa Torres) [Engineering Culture, Management, Product, inspirational] Interesting tips to make this mental shift. The talk is targeted at managers and leaders.
    • Fast & Simple: Observing Code & Infra Deployments At Honeycomb (Liz Fong-Jones, Daniel Fisher) [CD, Continuous Delivery, Devops, Engineering Culture] You don’t need kubernetes to automatically push green builds to production – learn how Honeycomb has utilized CircleCI, Terraform, Chef, a collection of home-grown scripts, and Honeycomb itself to speed up its deployments and make them safer. We’ll talk about what went wrong along the way, and how we used our Service Level Objectives to evaluate and mitigate the risks.
    • How To Design A Good API and Why it Matters (Joshua Bloch) [Design] Every day around the world, software developers spend much of their time working with a variety of Application Programming Interfaces (APIs). Some are integral to the core platform, some provide access to widely distributed frameworks, and some are written in-house for use by a few developers. Nearly all programmers occasionally function as API designers, whether they know it or not. A well-designed API can be a great asset to the organization that wrote it and to all who use it. Good APIs increase the pleasure and productivity of the developers who use them, the quality of the software they produce, and ultimately, the corporate bottom line...
    • If Russ Ackoff had given a TED Talk... (Russell L. Ackoff) [Lean, Management, Mental models, inspirational] This presentation is from a 1994 event hosted by Clare Crawford-Mason and Lloyd Dobyns to capture the Learning and Legacy of Dr. W. Edwards Deming. Russ knew Dr. Deming and speaks here about the difference between "continuous improvement" and "discontinuous improvement" as seen through the lens of systems thinking.
    • Observability: What Got You Here Won’t Get You There (Charity Majors) [Devops, Engineering Culture, Microservices, Operations, Technology Strategy] In the first wave of DevOps, practitioners embraced change to incorporate development into design and build processes. To successfully build the next generation of software, practitioners will need to catch the second wave of DevOps to focus on controlling and fine-tuning evolving architectures. Honeycomb CEO, Charity Majors, discusses how to ensure buildability, empower developers, and make a truly observable architecture that’s primed for success.
    Reminder, All these talks are interesting even just listening to them, without seeing them.

    Related: 

    Sunday, March 08, 2020

    Scalability Basics, application to systems, teams and processes / Caceres Devops Days 2020

    A few days ago, I had the great luck to be able to present at the DevOps Days Caceres 2020, together with Fran Ortiz, a presentation about system and team scalability. We presented several mental models that help to understand or design scalable systems and organizations.

    Video (spanish)

    https://www.youtube.com/watch?v=yPqHK5fjJ10

     


    Slides

    Original document



     References:

    Related:

    Tuesday, February 11, 2020

    Good talks/podcasts (February 2020)



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



    Related: