the emergent nature of software systems
TRANSCRIPT
![Page 1: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/1.jpg)
Software systems have emergent structures.
![Page 2: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/2.jpg)
Software systems are irregular.
![Page 3: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/3.jpg)
Software systems are contextual.
![Page 4: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/4.jpg)
Software systems are intricate.
![Page 5: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/5.jpg)
text
![Page 6: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/6.jpg)
This is a real software system.
![Page 7: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/7.jpg)
It is irregular.
![Page 8: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/8.jpg)
It is contextual.
![Page 9: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/9.jpg)
It is intricate.
![Page 10: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/10.jpg)
Its structure emerges out all its tiny details.
![Page 11: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/11.jpg)
This is another real software system.
![Page 12: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/12.jpg)
It is irregular.
![Page 13: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/13.jpg)
It is contextual.
![Page 14: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/14.jpg)
It is intricate.
![Page 15: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/15.jpg)
These two systems come from different domains.
![Page 16: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/16.jpg)
And they have radically different shapes.
![Page 17: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/17.jpg)
But, why do they look so different?
![Page 18: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/18.jpg)
Is it only because they come from different domains?
![Page 19: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/19.jpg)
Let’s take a step back.
![Page 20: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/20.jpg)
This visualization shows one class, its methods and its attributes.
![Page 21: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/21.jpg)
The class exhibits a rather regular shape.
![Page 22: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/22.jpg)
Add some collaborator classes to the mix, and its shape changes.
![Page 23: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/23.jpg)
Some of it seems to want to be in a different place.
![Page 24: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/24.jpg)
Add some more, and the shape shifts even more.
![Page 25: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/25.jpg)
Look at the whole system, and the class is unrecognizable.
![Page 26: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/26.jpg)
Look at the whole system, and the class is unrecognizable.
![Page 27: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/27.jpg)
This is a tiny system.
![Page 28: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/28.jpg)
This system is actually the result of only a few man-weeks of work.
![Page 29: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/29.jpg)
This system is also the result of a few man-weeks of work.
![Page 30: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/30.jpg)
In fact, both systems have similar functionality.
![Page 31: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/31.jpg)
Yet, they have radically different shapes.
![Page 32: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/32.jpg)
These three systems also have similar functionality.
![Page 33: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/33.jpg)
And these two systems have similar functionality, too.
![Page 34: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/34.jpg)
Yet, they have radically different shapes.
![Page 35: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/35.jpg)
Why is it that even functionally similar systems look so different?
![Page 36: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/36.jpg)
Because software systems are irregular.
![Page 37: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/37.jpg)
Software systems are contextual.
![Page 38: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/38.jpg)
Software systems are intricate.
![Page 39: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/39.jpg)
Software systems have emergent structures.
![Page 40: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/40.jpg)
The structure emerges out oftiny independent commits.
![Page 41: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/41.jpg)
The structure emerges out ofchanges in requirements.
![Page 42: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/42.jpg)
The structure emerges out ofhuman interaction.
![Page 43: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/43.jpg)
Software systems have emergent structures.
![Page 44: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/44.jpg)
Treat software systems for what they are.
![Page 45: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/45.jpg)
Upfront control is unlikely to work.
![Page 46: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/46.jpg)
Embrace their emergent nature.
![Page 48: The emergent nature of software systems](https://reader038.vdocument.in/reader038/viewer/2022102322/53f4ef908d7f7297528b6c71/html5/thumbnails/48.jpg)
Tudor Gîrbawww.tudorgirba.com
creativecommons.org/licenses/by-nc-sa/3.0/