Martin Fowler

On Pair Programming

Martin Fowler

At ThoughtWorks, we regularly use Pair Programming. We find it's a rarely used practice, in part due to lack of knowledge in how to do it well and because its benefits are not immediately obvious.

Bliki: ExploratoryTesting

Martin Fowler

Exploratory testing is a style of testing that emphasizes a rapid cycle of learning, test design, and test execution.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Technical Components of CD4ML

Martin Fowler

Our authors now move on to the technical components that make Continuous Delivery possible for a Machine Learning system. The first two are "Discoverable and Accessible Data" followed by "Reproducible Model Training". more…. skip-home-page

Continuous Delivery for Machine Learning

Martin Fowler

How AI Can Radically Change Your Business

AI is quickly becoming mainstream, thanks to its value-driving capabilities. Yet, even with such widespread attention, it still is one of the most misunderstood technologies out there. Here's how to make the most out of it and bring a positive change to your company.

Bliki: WaterfallProcess

Martin Fowler

In the software world, “waterfall” is commonly used to describe a style of software process, one that contrasts with the ideas of iterative, or agile styles.

Agile 230

Micro Frontends

Martin Fowler

Recent years have seen an explosion of interest in the microservices architectural style, which has become popular due to its ability to allow customer-oriented teams to build and deploy software independently.

Is High Quality Software Worth the Cost?

Martin Fowler

A common debate in software development projects is between spending time on improving the quality of the software versus concentrating on releasing more valuable features.

Self-serve data platform

Martin Fowler

One of the main concerns of distributing the ownership of data to the domains is the duplicated effort and skills required to operate the data pipelines technology stack and infrastructure in each domain.

Data 263

How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh

Martin Fowler

Data 263

Indistractable: How to Control Your Attention and Choose Your Life with Nir Eyal

Speaker: Nir Eyal

Ever get the feeling the world is full of too many distractions? Research shows the ability to stay focused is a competitive advantage, in work and in life. However, in an age of ever-increasing demands on our attention how do we stay productive and stay sane? In this webinar, Nir provides research-backed, practical advice, and memorable strategies for managing distraction and our time. Nir Eyal shares findings of his five years of research into how to master what he calls, "the skill of the century," the power to be "Indistractable."

Bliki: TechnicalDebt

Martin Fowler

Software systems are prone to the build up of cruft - deficiencies in internal quality that make it harder than it would ideally be to modify and extend the system further.

Passing execution context to domain probes

Martin Fowler

Calls to instrumentation require various bits of execution context. Pete extends his discussion of domain probes to show how factory functions help simplify the data plumbing. more…. skip-home-page

Data 251

Domain-Oriented Observability

Martin Fowler

Any serious software system needs some form of observability, so we can figure out how it is working and keep track of problems. But adding the code for this often results in lots of low-level cruft.

Domain-driven data architecture

Martin Fowler

Zhamak explains the first part of the data mesh concept - using the ideas behind Domain-Driven Design to structure the data platform. more…. skip-home-page

Building Healthy Innovation Ecosystems for Your Projects

Speaker: Nick Noreña, Innovation Coach and Advisor, Kromatic

In this webinar, Nick Noreña will walk through an Innovation Ecosystem Model that he and his team at Kromatic have developed to help investors, heads of product, teachers, and executives understand how they can best support innovation in their own ecosystem. He'll also go over metrics we can use to measure the health of our ecosystems as we build more resources for innovators.

Completed Copyedit and other notes

Martin Fowler

I've added a couple more memos to my thoughts on producing the second edition of Refactoring. Last week I shone a light on the hidden heroes. whose technical reviews removed many a mistake from the book. Today I added some thoughts about the copyediting of the book , which we've just finished.

285
285

Product-Service Partnerships

Martin Fowler

When customer companies buy software products, they usually need skilled staff to install them. This staff is usually provided by a service provider company, since software product vendors don't find it makes business sense to build their own services arm. Customers need to be aware of the relationship between product vendors and service providers, and should require transparency on the relationship from those they work with.

Don't get locked up into avoiding lock-in

Martin Fowler

A lot of software architects expend time and energy trying to come up with ways to avoid lock-in. Sadly many of these discussions miss important elements of how lock-in works - it's certainly not a simple binary switch. Gregor Hohpe , who's probably spend more time in such meetings that he'd like to admit, has written what I think will be an essential article on the topic. This first installment looks at the different varieties of lock-in.

Energy 195

Cover design for the Refactoring 2nd Ed

Martin Fowler

We've got a cover design for the second edition of Refactoring. As with any book in my signature series, I needed to decide which bridge would feature in the photo.

285
285

BI Buyers Guide: Embedding Analytics in Your Software

The business intelligence market has exploded. And as the number of vendors grows, it gets harder to make sense of it all. Learn how to decide what features you need and get an evaluation framework for every technical and non-technical requirement you could imagine.

How to manage a program in a product-mode organization

Martin Fowler

My colleagues often talk about the important advantages of organizing a software development organization using products rather than projects. While this is an effective organizational approach, it does have its downsides.

Visual artifacts and defined roles in running a program

Martin Fowler

Luiza and James finish their article on running programs in product mode organizations by discussing two useful practices. Investing in visual artifacts to help convey information to those involved, and the necessity of having defined roles for managing the overall program.

Other implementations for domain-oriented observability

Martin Fowler

Pete completes his discussion of domain-oriented observability by comparing domain probes to using events and aspect-oriented programming. more…. skip-home-page

How to break a Monolith into Microservices

Martin Fowler

As monolithic systems become too large to deal with, many enterprises are drawn to breaking them down into the microservices architectural style. It is a worthwhile journey, but not an easy one.

Business Agile: A Roadmap for Transforming Your Management & Adapting to the VUCA Environment

Speaker: Peter Taylor, Speaker/Author, The Lazy Project Manager

Businesses everywhere are trying to “get business agile”—but it’s not easy to adapt to becoming this adaptive. How can conventional organizations succeed in this transformation? In this webinar, Peter Taylor will walk through the change process step by step, and look at a tried and tested transformation roadmap: benefits are outlined, solutions to common challenges offered, and tried and tested methods and tools provided. It will be a guide towards a decentralized and management style that offers more successful decision making through collaboration.

An example of a micro frontend application

Martin Fowler

After all the theory about micro frontends, Cam now digs into an example of how JavaScript integration can work with a simple application. more…. skip-home-page

Downsides of micro frontends

Martin Fowler

Any significant architectural pattern has downsides. Cam finishes his explanation of micro frontends by looking at some of the costs of this approach, such as payload size and complexity in operations and governance. more…. skip-home-page

Testing Domain Probes

Martin Fowler

Now he's shown you the basic idea, Pete shows how using domain probes makes it much easier to test observability behavior. more…. skip-home-page

Data Versioning and Pipelines in CD4ML

Martin Fowler

My colleagues continue their article on Continuous Delivery for Machine Learning by looking at the future, considering what further work needs to be done in Data Versioning and Data Pipelines. more…. skip-home-page

2019 State of Engineering Performance Management Report

More than 100 software leaders were asked how they manage and measure engineering performance. How do the findings stack up to your own experience? The report includes the top engineering challenges and the most used performance metrics.

Orchestration and Observability in CD4ML

Martin Fowler

Danilo, Arif and Christoph finish the technical components of Continuous Delivery for Machine Learning with the last two items: Continuous Delivery Orchestration, and Model Monitoring and Observability. more…. skip-home-page

A model for thnking about lock-in

Martin Fowler

Gregor continues his article on lock-in by introducing a model, a quadrant based on switching cost and unique utility, to aid thinking. more…. skip-home-page

171
171

Serving and testing models in CD4ML

Martin Fowler

My colleagues continue their discussion of the technical components of Continuous Delivery for Machine Learning. This installment looks at model serving, testing, and quality. more…. skip-home-page

Experiments Tracking and Model Deployment in CD4ML

Martin Fowler

The team tackles some more technical components of Continuous Delivery for Machine Learning. This time they look at Experiments Tracking and Model Deployment. more…. skip-home-page

Beyond the Findings: The Case for UX Research in Digital Transformation

Speaker: Marina Foglietta-Tereo, Head of UX Research, AXA Insurance

People often think of UX research as a tactical approach to improve the usability or visual appeal of a digital product. While good research will certainly validate an existing design, using it for validation alone would be like using your iPhone solely to tell time! Join Marina Foglietta-Tereo, Head of UX Research at AXA Insurance, as she explores the unrecognized organizational, cultural, and strategic benefits of an in-house, central and mature UXR team.

Integration approaches for micro frontends

Martin Fowler

Cam moves on from the benefits of micro frontends to look at different ways of implementing them. He covers server-side template composition, build-time integration, and run-time integration via iframes, JavaScript, and Web Components. more…. skip-home-page

186
186