Conquer And Divide

DivideAndConquer is an intellectual construction. Nature works in the opposite order. Cells grow and then split. A tree grows and then propagates.

As a software development strategy, the echoes of conquer and divide can be heard in "MakeItRunMakeItRight?". Get the code running, then split it into as many pieces as necessary to satisfy aesthetic, maintainability, communication, abstraction criteria.

LearningIsActionReflected is also a conquer and divide strategy. You do something, then you reflect on the doing and extract lessons.

ConquerAndDivide is used by KentBeck to describe ExtremeProgramming. Other examples include:


Moved from EdgeOfChaos:

I came across another notion in that vein the other night from ace epigram minter KentBeck: ConquerAndDivide. Kent was talking about how XP scales. In the spirit of Fred Brooks, he observes that any working large system starts as a working small system. So, to scale up, have a small team build a working core, and then disperse members of this team among a set of new teams, thereby disseminating shared vision and expertise with 'em. By mitosis, the new teams grow, and differentiate. This transparently organic, biological notion stands in contrast with traditional divide-and-conquer, top-down strategies. Very neat. Forgive me if this is old news.

-- BrianFoote

See also XpMayNotScale


DivideAndConquer tells you what to do with a problem in order to solve it. ConquerAndDivide is perhaps more directed at the construction of the solution.


CategoryExtremeProgramming


EditText of this page (last edited November 12, 2014) or FindPage with title or text search