Are you over 18 and want to see adult content?
More Annotations
A complete backup of happierhuman.com
Are you over 18 and want to see adult content?
A complete backup of bluestarcooking.com
Are you over 18 and want to see adult content?
A complete backup of beadaholique.com
Are you over 18 and want to see adult content?
A complete backup of griefhealing.com
Are you over 18 and want to see adult content?
A complete backup of technopark.org.pl
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of https://suomela.fi
Are you over 18 and want to see adult content?
A complete backup of https://outlier.nyc
Are you over 18 and want to see adult content?
A complete backup of https://liveliteintl.com
Are you over 18 and want to see adult content?
A complete backup of https://kesk.org.tr
Are you over 18 and want to see adult content?
A complete backup of https://yunecommerce.com
Are you over 18 and want to see adult content?
A complete backup of https://wpcasa.com
Are you over 18 and want to see adult content?
A complete backup of https://williams-humbert.com
Are you over 18 and want to see adult content?
A complete backup of https://chipkarte.at
Are you over 18 and want to see adult content?
A complete backup of https://carolinelucas.com
Are you over 18 and want to see adult content?
A complete backup of https://techcoastangels.com
Are you over 18 and want to see adult content?
A complete backup of https://cal-span.org
Are you over 18 and want to see adult content?
A complete backup of https://acev.org
Are you over 18 and want to see adult content?
Text
properly.
BOUNDEDCONTEXT
Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD's strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. DDD is about designing software based on models of AN APPROPRIATE USE OF METRICS The first guideline to an appropriate use of metrics separates the real goal from the measure selected to monitor progress towards that goal. The real goal must always be made explicit. Guideline #2 and #3, monitoring trends and doing so over shorter periods is about helping organizations realize their goal faster.SEMANTICCONFLICT
1: And if we change the exact same text, the merge tool usually can't help either unless you have something like git rerere. But that problem is much smaller than semantic conflicts. 2: If your features are built quickly, within a couple of days, then you'll run into less semantic conflicts (and if less than a day, then it's in effect thesame
DESIGNSTAMINAHYPOTHESIS Putting effort into to the design of your software improves the stamina of your project, allowing you to go faster for longer. One way of visualizing this is the following pseudo-graph. The pseudo-graph plots delivered functionality (cumulative) versus time for two imaginary stereotypical projects: one with good design and one with nodesign.
P OF EAA: DATA TRANSFER OBJECT Data Transfer Object. An object that carries data between processes in order to reduce the number of method calls. For a full description see P of EAA page 401. When you're working with a remote interface, such as Remote Facade (388), each call to it is expensive. As a result you need to reduce the number of calls, and that means that you needTWOHARDTHINGS
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. -- Leon Bambrick. There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery -- MathiasVerraes.
MARTINFOWLER.COMAGILEARCHITECTUREABOUTMICRO FRONTENDSDON'T GET LOCKED UP INTO AVOIDING LOCK-IN martinfowler.com. Software development is a young profession, and we are still learning the techniques and building the tools to do it effectively. I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it DATA MESH PRINCIPLES AND LOGICAL ARCHITECTURE Data mesh addresses these dimensions, founded in four principles: domain-oriented decentralized data ownership and architecture, data as a product, self-serve data infrastructure as a platform, and federated computational governance. Each principle drives a new logical view of the technical architecture and organizational structure. MAXIMIZING DEVELOPER EFFECTIVENESS Maximizing Developer Effectiveness. Technology is constantly becoming smarter and more powerful. I often observe that as these technologies are introduced an organization’s productivity instead of improving has reduced. This is because the technology has increased complexities and cognitive overhead to the developer, reducing their effectiveness. THE PRACTICAL TEST PYRAMID The Practical Test Pyramid. The "Test Pyramid" is a metaphor that tells us to group software tests into buckets of different granularity. It also gives an idea of how many tests we should have in each of these groups. Although the concept of the Test Pyramid has been around for a while, teams still struggle to put it into practiceproperly.
BOUNDEDCONTEXT
Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD's strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. DDD is about designing software based on models of AN APPROPRIATE USE OF METRICS The first guideline to an appropriate use of metrics separates the real goal from the measure selected to monitor progress towards that goal. The real goal must always be made explicit. Guideline #2 and #3, monitoring trends and doing so over shorter periods is about helping organizations realize their goal faster.SEMANTICCONFLICT
1: And if we change the exact same text, the merge tool usually can't help either unless you have something like git rerere. But that problem is much smaller than semantic conflicts. 2: If your features are built quickly, within a couple of days, then you'll run into less semantic conflicts (and if less than a day, then it's in effect thesame
DESIGNSTAMINAHYPOTHESIS Putting effort into to the design of your software improves the stamina of your project, allowing you to go faster for longer. One way of visualizing this is the following pseudo-graph. The pseudo-graph plots delivered functionality (cumulative) versus time for two imaginary stereotypical projects: one with good design and one with nodesign.
P OF EAA: DATA TRANSFER OBJECT Data Transfer Object. An object that carries data between processes in order to reduce the number of method calls. For a full description see P of EAA page 401. When you're working with a remote interface, such as Remote Facade (388), each call to it is expensive. As a result you need to reduce the number of calls, and that means that you needTWOHARDTHINGS
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. -- Leon Bambrick. There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery -- MathiasVerraes.
WRITE-AHEAD LOG
The write ahead log is append-only. Because of this behaviour, in case of client communication failure and retries, logs can contain duplicate entries. When the log entries are applied, it needs to make sure that the duplicates are ignored. If the final state is something like a HashMap, where the updates to the same key are idempotent, no TESTING STRATEGIES IN A MICROSERVICE ARCHITECTURE How to use this Infodeck. Tap the info icon in the top banner to show this panel, tap it again to hide it.; Move forward and backward using the arrow buttons at the top banner. If you’re on a touch device then a tap on the left or right will move backwards or forwards.TWOHARDTHINGS
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. -- Leon Bambrick. There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery -- MathiasVerraes.
EVOLUTIONARY DATABASE DESIGN Evolutionary Database Design. Over the last decade we've developed and refined a number of techniques that allow a database design to evolve as an application develops. This is a very important capability for agile methodologies. The techniques rely on applying continuous integration and automated refactoring to database development,together
BRANCHBYABSTRACTION
version control. "Branch by Abstraction" is a technique for making a large-scale change to a software system in gradual way that allows you to release the system regularly while the change is still in-progress. We begin with a situation where various parts of the software system are dependent on a module, library, or framework thatwe wish
AN APPROPRIATE USE OF METRICS The first guideline to an appropriate use of metrics separates the real goal from the measure selected to monitor progress towards that goal. The real goal must always be made explicit. Guideline #2 and #3, monitoring trends and doing so over shorter periods is about helping organizations realize their goal faster. HOW TO MOVE BEYOND A MONOLITHIC DATA LAKE TO A DISTRIBUTED How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh. Many enterprises are investing in their next generation data lake, with the hope of democratizing data at scale to provide business insights and ultimately make automated intelligent decisions.REPORTINGDATABASE
A reporting database has a number of advantages: The structure of the reporting database can be specifically designed to make it easier to write reports. You don't need to normalize a reporting database, because it's read-only. Feel free to duplicate data as COMMANDQUERYSEPARATION The term 'command query separation' was coined by Bertrand Meyer in his book " Object Oriented Software Construction " - a book that is one of the most influential OO books during the early days of OO. (The first edition is the one that had the influence, the second edition is good but you'll need several months in a gym before you can lift it.)INVERSIONOFCONTROL
The methods supplied by the user tailor the generic algorithms defined in the framework for a particular application. Inversion of Control is a key part of what makes a framework different to a library. A library is essentially a set of functions that you MARTINFOWLER.COMAGILEARCHITECTUREABOUTMICRO FRONTENDSDON'T GET LOCKED UP INTO AVOIDING LOCK-IN martinfowler.com. Software development is a young profession, and we are still learning the techniques and building the tools to do it effectively. I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it DATA MESH PRINCIPLES AND LOGICAL ARCHITECTURE Data mesh addresses these dimensions, founded in four principles: domain-oriented decentralized data ownership and architecture, data as a product, self-serve data infrastructure as a platform, and federated computational governance. Each principle drives a new logical view of the technical architecture and organizational structure. EVOLUTIONARY DATABASE DESIGN Evolutionary Database Design. Over the last decade we've developed and refined a number of techniques that allow a database design to evolve as an application develops. This is a very important capability for agile methodologies. The techniques rely on applying continuous integration and automated refactoring to database development,together
BOUNDEDCONTEXT
Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD's strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. DDD is about designing software based on models ofTWOHARDTHINGS
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. -- Leon Bambrick. There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery -- MathiasVerraes.
BRANCHBYABSTRACTION
version control. "Branch by Abstraction" is a technique for making a large-scale change to a software system in gradual way that allows you to release the system regularly while the change is still in-progress. We begin with a situation where various parts of the software system are dependent on a module, library, or framework thatwe wish
TOLERANTREADER
One of the purposes of a Data Transfer Object is to wrap the data payload behind a convenient object so the rest of the system can just go anOrderHistory.orders and be impervious to changes that would even break a tolerant reader. It's worth bearing this principle in mind even if your data transfer protocol is binary. COMMANDQUERYSEPARATION The term 'command query separation' was coined by Bertrand Meyer in his book " Object Oriented Software Construction " - a book that is one of the most influential OO books during the early days of OO. (The first edition is the one that had the influence, the second edition is good but you'll need several months in a gym before you can lift it.) BLIKI: FUNCTIONLENGTH 1: Or in my first programming job: two pages of line printer paper - around 130 lines of Fortran IV. 2: Many languages allow you to use functions to contain other functions. This is often used as a scope reduction mechanism, such as using the Function as Object pattern to implement a class. Such functions are naturally much larger.TECHNICALDEBT
Technical Debt is a metaphor, coined by Ward Cunningham, that frames how to think about dealing with this cruft, thinking of it like a financial debt. The extra effort that it takes to add new features is the interest paid on the debt. Imagine I have a confusing module structure in my code base. I need to add a new feature. MARTINFOWLER.COMAGILEARCHITECTUREABOUTMICRO FRONTENDSDON'T GET LOCKED UP INTO AVOIDING LOCK-IN martinfowler.com. Software development is a young profession, and we are still learning the techniques and building the tools to do it effectively. I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it DATA MESH PRINCIPLES AND LOGICAL ARCHITECTURE Data mesh addresses these dimensions, founded in four principles: domain-oriented decentralized data ownership and architecture, data as a product, self-serve data infrastructure as a platform, and federated computational governance. Each principle drives a new logical view of the technical architecture and organizational structure. EVOLUTIONARY DATABASE DESIGN Evolutionary Database Design. Over the last decade we've developed and refined a number of techniques that allow a database design to evolve as an application develops. This is a very important capability for agile methodologies. The techniques rely on applying continuous integration and automated refactoring to database development,together
BOUNDEDCONTEXT
Bounded Context is a central pattern in Domain-Driven Design. It is the focus of DDD's strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. DDD is about designing software based on models ofTWOHARDTHINGS
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. -- Leon Bambrick. There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery -- MathiasVerraes.
BRANCHBYABSTRACTION
version control. "Branch by Abstraction" is a technique for making a large-scale change to a software system in gradual way that allows you to release the system regularly while the change is still in-progress. We begin with a situation where various parts of the software system are dependent on a module, library, or framework thatwe wish
TOLERANTREADER
One of the purposes of a Data Transfer Object is to wrap the data payload behind a convenient object so the rest of the system can just go anOrderHistory.orders and be impervious to changes that would even break a tolerant reader. It's worth bearing this principle in mind even if your data transfer protocol is binary. COMMANDQUERYSEPARATION The term 'command query separation' was coined by Bertrand Meyer in his book " Object Oriented Software Construction " - a book that is one of the most influential OO books during the early days of OO. (The first edition is the one that had the influence, the second edition is good but you'll need several months in a gym before you can lift it.) BLIKI: FUNCTIONLENGTH 1: Or in my first programming job: two pages of line printer paper - around 130 lines of Fortran IV. 2: Many languages allow you to use functions to contain other functions. This is often used as a scope reduction mechanism, such as using the Function as Object pattern to implement a class. Such functions are naturally much larger.TECHNICALDEBT
Technical Debt is a metaphor, coined by Ward Cunningham, that frames how to think about dealing with this cruft, thinking of it like a financial debt. The extra effort that it takes to add new features is the interest paid on the debt. Imagine I have a confusing module structure in my code base. I need to add a new feature. MAXIMIZING DEVELOPER EFFECTIVENESS Maximizing Developer Effectiveness. Technology is constantly becoming smarter and more powerful. I often observe that as these technologies are introduced an organization’s productivity instead of improving has reduced. This is because theMICROSERVICES GUIDE
Microservices Guide. In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. EVOLUTIONARY DATABASE DESIGN Evolutionary Database Design. Over the last decade we've developed and refined a number of techniques that allow a database design to evolve as an application develops. This is a very important capability for agile methodologies. The techniques rely on applying continuous integration and automated refactoring to database development,together
ANALYSIS PATTERNS
The patterns come from various domains, including health care, financial trading, and accounting. Each of the patterns is described both textually and in a simple pre-UML notation (this book was written before the UML had stabilized into a usable form). There's much I could do to improve the presentation of the patterns in this book withwhat I
REFACTORING
Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of small behavior-preserving transformations, each of which "too small to be worth doing". However the cumulative effect of each of these transformations is quite significant. By doing them in small steps youreduce the risk
CATALOG OF PATTERNS OF ENTERPRISE APPLICATION ARCHITECTURE A short summary of the patterns in Patterns of Enterprise Application Architecture (P of EAA). These pages are a brief overview of each of the patterns in P of EAA. They aren't intended to stand alone, but merely as a quick aide-memoire for those familiar with them, and a handy link if you want to AN APPROPRIATE USE OF METRICS The first guideline to an appropriate use of metrics separates the real goal from the measure selected to monitor progress towards that goal. The real goal must always be made explicit. Guideline #2 and #3, monitoring trends and doing so over shorter periods is about helping organizations realize their goal faster.CANARYRELEASE
continuous delivery. lean. Canary release is a technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody. Similar to a BlueGreenDeployment, you start by deploying the new P OF EAA: SERVICE STUB | P of EAA Catalog | Service Stub. by David Rice. Removes dependence upon problematic services during testing. WSDL. For a full description see P of EAA page 504. Enterprise systems often depend on access to third-party services such as credit scoring, tax rate lookups, andpricing engines.
DEVOPSCULTURE
The primary characteristic of DevOps culture is increased collaboration between the roles of development and operations. There are some important cultural shifts, within teams and at an organizational level, that support this collaboration. An attitude of shared responsibility is an aspect of DevOps culture that encourages closer collaboration.* Refactoring
* Agile
* Architecture
* About
* ThoughtWorks
*
*
TOPICS
Architecture
Refactoring
Agile
Delivery
Microservices
Data
Testing
DSL
ABOUT ME
About
Books
FAQ
CONTENT
Videos
Content Index
Board Games
Photography
THOUGHTWORKS
Insights
Careers
Products
FOLLOW
RSS
Software development is a young profession, and we are still learning the techniques and building the tools to do it effectively. I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it easier to build useful software. The site began as a place to put my own writing, but I also use it to publish articles by mycolleagues.
In 2000, I joined ThoughtWorks , where my role is to learn about the techniques that we've learned to deliver software for our clients, and pass these techniques on to the wider software industry. As this site has developed into a respected platform on software development, I've edited and published articles by my colleagues, both ThoughtWorkers and others, to help useful writing reach a wider audience. photo: Christopher FergusonMartin Fowler
A WEBSITE ON BUILDING SOFTWARE EFFECTIVELY If there's a theme that runs through my work and writing on this site, it's the interplay between the shift towards agile thinking and the technical patterns and practices that make agile software development practical. While specifics of technology change rapidly in our profession, fundamental practices and patterns are more stable. So writing about these allows me to have articles on this site that are several years old but still as relevant as when they were written. As software becomes more critical to modern business, software needs to be able to react quickly to changes, allowing new features to be be conceived, developed and put into production rapidly. The techniques of agile software development began in the 1990s and became steadily more popular in the last decade. They focus on a flexible approach to planning, which allows software products to change direction as the users' needs change and as product managers learn more about how to make their users effective. While widely accepted now, agile approaches are not easy, requiring significant skills for a team, but more importantly a culture of open collaboration both within the team and with a team's partners. This need to respond fluently to changes has an important impact upon the architecture of a software system. The software needs to be built in such a way that it is able to adapt to unexpected changes in features. One of the most important ways to do this is to write clear code, making it easy to understand what the program is supposed to do. This code should be divided into modules which allow developers to understand only the parts of the system they need to make a change. This production code should be supported with automated tests that can detect any errors made when making a change while providing examples of how internal structures are used. Large and complex software efforts may find the microservices architectural style helps teams deploy software with less entanglingdependencies.
Creating software that has a good architecture isn't something that can be done first time. Like good prose, it needs regular revisions and programmers learn more about what the product needs to do and how best to design the product to achieve its goals. Refactoring is an essential technique to allow a program to be changed safely. It consists of making small changes that don't alter the observable behavior of the software. By combining lots of small changes, developers can revise the software's structure supporting significant modifications that weren't planned when the system was first conceived. Software that runs only on a developer's machine isn't providing value to the customers of the software. Traditionally releasing software has been a long and complicated process, one that hinders the need to evolve software quickly. Continuous Delivery uses automation and collaborative workflows to remove this bottleneck, allowing teams to release software as often as the customers demand. For Continuous Delivery to be possible, we need to build in a solid foundation of Testing , with a range of automated tests that can give us confidence that our changes haven't introduced any bugs. This leads us to integrate testing into programming, which can act to improve our architecture.PHOTOSTREAM
Melrose, MA (2020)
DATA MANAGEMENT
There are many kinds of software out there, the kind I'm primarily engaged is Enterprise Applications. One of the enduring problems we need to tackle in this world is data management . The aspects of data managment I've focused on here are how to migrate data stores as their applications respond to changing needs, coping with different contexts across a large enterprise, the role of NoSQL databases, and the broader issues of coping with data that is both Big and Messy. DOMAIN-SPECIFIC LANGUAGES A common problem in complex software systems is how to capture complicated domain logic in a way that programmers can both easily manipulate and also easily communicate to domain experts. Domain-Specific Languages (DSLs) create a custom language for a particular problem, either with custom parsers or by conventions within a host language.BOOKS
I've written seven books on software development, including Refactoring, Patterns of Enterprise Application Architecture, and UML Distilled. I'm also the editor of a signature series for Addison-Wesley that includes five jolt award winners.My Books Page...
CONFERENCE TALKS
I'm often asked to give talks at conferences, from which I've inferred that I'm a pretty good speaker - which is ironic since I really hate giving talks. You can form your own opinion of my talks by watching videos of some my conference talks.My Videos Page...
BOARD GAMES
I've long been a fan of board games, I enjoy a game that fully occupies my mind, clearing out all the serious thoughts for a bit, while enjoying the company of good friends. Modern board games saw dramatic improvement in the 1990's with the rise of Eurogames, and I expect many people would be surprised if they haven't tried any of this new generation. I also appear regularly on Heavy Cardboard.
My Board Games page...TAGS
API design  · agile  · agile adoption  · analysis patterns · application architecture · application integration· bad things
· board games
· build scripting
· certification
· collaboration
· computer history
· conference panels
· conferences
· continuous delivery· covid-19
· data analytics
· database  ·
design  · dictionary  · distributed computing magazine· diversions
· diversity  ·
documentation  · domain driven design · domain specific language· domestic
· encapsulation  · enterprise architecture  · estimation  · event architectures · evolutionary design · experience reports · expositional architectures · extreme programming· front-end
· gadgets  ·
ieeeSoftware  · infodecks· internet culture
· interviews
· language feature
· language workbench· lean  ·
legacy rehab  · legal · metrics  · microservices· mobile  · noSQL
· object collaboration design· parser generators
· photography
· podcast  · popular · presentation technique· privacy
· process theory
· productivity
· programming platforms· programming style
· project planning
· recruiting
· refactoring  ·
refactoring boundary  · requirements analysis  · ruby · security  · talk videos· team environment
· team organization
· technical debt
· technical leadership· test categories
· testing  ·
thoughtworks  · tools· travel  · uml
· version control
· web development
· web services
· website  ·
writing
2021  · 2020  · 2019· 2018  · 2017
· 2016  · 2015
· 2014  · 2013
· 2012  · 2011
· 2010  · 2009
· 2008  · 2007
· 2006  · 2005
· 2004  · 2003
· 2002  · 2001
· 2000  · 1999
· 1998  · 1997
· 1996
ALL CONTENT
RECENT CHANGES
If you'd like to be notified when I post new material, subcribe to myRSS or Twitter
feeds.
------------------------- ON THE DIVERSE AND FANTASTICAL SHAPES OF TESTING Wed 02 Jun 2021 11:58 EDT There are arguments about whether a testing portfolio should be a pyramid or more like honeycomb. My second biggest issue with this argument is that it's rendered opaque by the fact that it's not clear what people see as the difference between unit and integration tests.more…
------------------------- MIND THE PLATFORM EXECUTION GAP Tue 27 Apr 2021 09:51 EDT Recently there's been a lot of interest, indeed hype, around building developer productivity platforms. Done well, they make it easier for developers to build systems aligned with the technology strategy and allow them to build useful features more quickly. However many organizations struggle because in order to do a good job of platforms, you need to have a number of baseline capabilities in place first. That way the platform can be designed and operated as if it were a a software product with a demanding public customer-base.more…
-------------------------BITEMPORAL HISTORY
Wed 07 Apr 2021 10:00 EDT It's often necessary to access the historical values of some property. But sometimes this history itself needs to be modified in response to retroactive updates. Bitemporal history treats time as two dimensions: actual history records what history should be given perfect transmission of information, while record history captures how our knowledge of history changes.more…
------------------------- BLIKI: REFINEMENTCODEREVIEW Thu 28 Jan 2021 10:38 EST When people think of code reviews, they usually think in terms of an explicit step in a development team's workflow. These days the Pre-Integration Review, carried out on a Pull Request is the most common mechanism for a code review, to the point that many people witlessly consider that not using pull requests removes all opportunities for doing code review. Such a narrow view of code reviews doesn't just ignore a host of explicit mechanisms for review, it more importantly neglects probably the most powerful code review technique - that of perpetual refinement done by the entire team.more ...
-------------------------BLIKI: PULLREQUEST
Thu 28 Jan 2021 10:37 EST Pull Requests are a mechanism popularized by github, used to help facilitate merging of work, particularly in the context of open-source projects. A contributor works on their contribution in a fork (clone) of the central repository. Once their contribution is finished they create a pull request to notify the owner of the central repository that their work is ready to be merged into the mainline. Tooling supports and encourages code review of the contribution before accepting the request. Pull requests have become widely used in software development, but critics are concerned by the addition of integration friction which can prevent continuous integration.more ...
------------------------- THE LIES THAT CAN UNDERMINE DEMOCRACY Tue 12 Jan 2021 09:56 EST Like many Americans, I was transfixed and horrified by the recent assault on the Capitol. Much of this anger originates in lies perpetrated by irresponsible politicians and spread through media agencies. Lies like this can destroy democracies, and while we must have free speech we must not be free of the consequences of thatspeech
more…
TOPICS
Architecture
Refactoring
Agile
Delivery
Microservices
Data
Testing
DSL
ABOUT ME
About
Books
FAQ
CONTENT
Videos
Content Index
Board Games
Photography
THOUGHTWORKS
Insights
Careers
Products
FOLLOW
RSS
© Martin Fowler | Privacy Policy| Disclosures
Details
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0