The DevOps Digest: 2022-07-29

The DevOps Digest: 2022-07-29

Hi folks,

This week, we cover TDD, Metrics & Logical Fallacies, Positive Intelligence, Leadership Lessons, Modularity & Office Space in Chicago.

Enjoy!

Quote: TDD as a Consumer

“TDD creates consumption awareness: when you create a unit test, you are creating the first consumer of the code under development.” — Neal Ford

Tweet: Metrics and Logical Fallacies

Camille Fournier on Twitter: "If the most insightful thing you have to say about metrics and measures is "people will game them" you don't really have anything insightful to add to the conversation. Metrics are hard and people will try to game them but you need to have a counter proposal beyond feels." / Twitter

dr. nicole forsgren on Twitter: "See also: “metrics will be used against people” because trust me, lack of metrics (aka guesses and intuition) is ALSO used against people" / Twitter

?

Technical Article/Presentation: Shirzad Chamine, How to Convert this Crisis into a Gift & Opportunity

?Things don't always go our way or as we planned. How we react to bad outcomes is key.?Shirzad takes us through his 3 gifts techniques of Knowledge, Power and Inspiration.?These are great techniques to build resilience in yourself and in your team.

I'll also plug Shirzad's great book.?It is a fantastic resource that you can use to identify your Saboteurs and how to leverage your Sage to emerge stronger from setbacks.

Resources | Positive Intelligence

Podcast: No Turning Back: Linda Rendle

No Turning Back: Linda Rendle | McChrystal Group

I loved this talk with Linda Rendle who became the CEO of Clorox in September 2020 during COVID.?As you can imagine, Clorox was at the center of demand during COVID and the team scrambled to increase production 500%. She discusses leadership and building resiliency in teams.

Books: Modern Software Engineering / Part III: Optimize for Managing Complexity / Ch 9: Modularity

Dave Farley is a thought leader on Continuous Delivery and Test-Driven Development (TDD). His works and content have literally transformed the industry and improved the way we build and release software.?

https://www.amazon.com/Modern-Software-Engineering-Better-Faster-ebook/dp/B09GG6XKS4/

I have found his book, Modern Software Engineering, a great view into what real agility looks like. Above all else, I see this book as one that tries to paint the perspective of joy and fun that software engineering should be.?It should be about learning! As I've mentioned before, the act of learning and experimentation is why I was first attracted to software. This book brings back that joy and feel.

In previous coverage, we made it through Part I: What is Software Engineering and a summary of Part II: Optimize for Learning.?

Part III covers a set of important techniques on how to manage complexity in the systems we build.?There are tight ties between these techniques and the learning techniques in Part II.?

No alt text provided for this image

Here are my notes from Part III / Chapter 9:

  • Modularity is defined as “the degree to which a system’s components may be separated and recombined, often with the benefit of flexibility and variety in use.”
  • Modularity helps us break down complexity in our systems by creating smaller pieces that allows us to focus and lower cognitive load
  • Modularity does take skill but often folks don't attempt it at all creating bloated methods and classes that are difficult to understand
  • Hallmarks of modularity are: 1) dividing code into smaller components, 2) reusing those components multiple times, 3) creating components that are short enough to readily be understood as a standalone entity
  • Design concepts like?modularity are often undervalued and transcend programming languages and other tools.
  • Designing for modularity is a different skill than programming and does require some degree of mastery.
  • The inability to manage complexity with these techniques increases the cost of both ownership and the cost of change.
  • TDD is vitally important as it positively affects the software design to create modularity.?If your tests are hard to write than you need to increase modularity to make the tests easier.?This feedback can occur 100's of times/day to influence your design to become more modular.
  • Modularity allows us to also control variables in our system since it reduces complexity, dependencies and side effects.?This makes our experiments more accurate.
  • Instead of testing coupled systems or components use modularity to test the individual components in solution first via stable, modular interfaces.
  • Modularity is vital to scale software development:
  • "The most scalable approach to software development is to distribute it. Reduce the coupling and dependencies between teams and their products to the degree that each team can, independently, create, test, and deploy their work with no reference to another team."
  • Modularity is important at every scale and is also fractal.?We can build up modularity and testability at the method level, the class level, the component level, the service level, and the subsystem level.
  • Modularity is also vital to consider when designing Human Systems/Organizations.?We need both modular software and modular organizations. This is vital to be able to add more people and produce software faster.?Having poor modularity at the software level and/or the organization level can produce diminishing returns when complexity increases or you add people.?In other words, you will get slower instead of faster when adding people if the software and organization is not designed with proper modularity. This effect occurs because the coordination cost of bringing coupled modules together into a coherent whole can be extremely high if there is overlap between the modules or streams of work.

No alt text provided for this image

Some links:

Something Else: Google Buys Chicago Thompson Center

Axios: Google buys Thompson Center

Good news for both Chicago and Google.?Google will spend $105M and then invest $280M in renovations in the Thompson Center with plans to move in by 2026.?This is a needed shot in the arm for a post-Covid Chicago that has seen lots of office space go empty.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了