Complex systems of functional order To see complex systems of functional order as order, and not as chaos, takes understanding. The leaves dropping from the trees in the autumn, the interior of an airplane engine, the entrails of a dissected rabbit, the city desk of a newspaper, all appear to be chaos if they are seen without comprehension. Once they are understood as systems of order, they actually look different. Jane Jacobs, The Death and Life of Great American Cities Order Out of Chaos orderchaos
Scenes of thoroughgoing sameness In places stamped with the monotony and repetition of sameness you move, but in moving you seem to have gotten nowhere. North is the same as south, or east as west. Sometimes north, south, east and west are all alike, as they are when you stand within the grounds of a large project. It takes differences—many differences—cropping up in different directions to keep us oriented. Scenes of thoroughgoing sameness lack these natural announcements of direction and movement, or are scantly furnished with them, and so they are deeply confusing. This is a kind of chaos. Jane Jacobs, The Death and Life of Great American Cities The Image of the CityThe Great Blight of Dullness confusionchaos
Impending destruction In any organized object, extreme compartmentalization and the dissociation of internal elements are the first signs of coming destruction. Christopher Alexander, A City Is Not a Tree chaos
Tendrils of Mess in our Brains An Essay by Sarah Perry www.ribbonfarm.com Show image 0 Show image 1 A ruin and a mess. Watts observes that elements of the natural world – clouds, foam on water, the stars, human beings – are not messes, though the nature of their order remains inscrutable, and Watts doesn’t try to pin down its precise nature. Mess seems to be somehow a property perceptible only in the presence of human artifacts. Is this the result of some kind of aesthetic original sin on the part of humans, uncanny beings severed from the holiness of Nature? I hope not. “Humans are bad” is a boring answer. natureorderchaosaesthetics
Manifesto for Agile Software Development A Definition agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Deliver early and continuouslyWelcome changing requirementsSelf-organizing teamsTechnical excellence and good designAgility and sustainability+7 More agileprocesssoftware
Deliver early and continuously Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. A late change in requirements is a competitive advantage planning
Self-organizing teams The best architectures, requirements, and designs emerge from self-organizing teams.
Technical excellence and good design Continuous attention to technical excellence and good design enhances agility. craft
Agility and sustainability Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
The amount of work not done Simplicity—the art of maximizing the amount of work not done—is essential. -2000 Lines Of Code simplicity
Build projects around motivated individuals Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. On ValueOn Talent
Deliver working software frequently Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers Business people and developers must work together daily throughout the project. collaboration
Face-to-face conversations The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. teamwork
Reflect, tune, adjust At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.