The emergent nature of software systems

  • 206 views
Uploaded on

This slideshow offers an argument for how the structure of a software system has an inherently emergent nature. …

This slideshow offers an argument for how the structure of a software system has an inherently emergent nature.

More information can be found at: http://humane-assessment.com

More in: Software
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
206
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • This picture shows the BaseActivity class from team 8. The black circle is the class. The red circles represent the methods of the class, and the blue ones represent the attributes.

    The class appears
  • This picture shows the BaseActivity class from team 8. The black circle is the class. The red circles represent the methods of the class, and the blue ones represent the attributes.

    The class appears

Transcript

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