In mathematics, a self-similar object is one whose component parts resemble the whole, either exactly or approximately. This is a typical property of fractals. A popular example is the Mandelbrot set.
In agile software development we have self-similar organizational or process structures, that repeat themselves several times, and reappear at different levels.
Let’s discuss one wide-spread example: inspection and adaption in Scrum.
First of all, we have a look on the Sprint Review meeting, where the development team demonstrates the accomplished work of the last sprint to the stakeholders. The stakeholders inspect the new product increment, particularly the new features, and give comments and feedback. Ideas for new product backlog items evolve. This is the adaption part.
While the Sprint Review is about the product, the next meeting, i.e. the Sprint Retrospective, focuses on the team’s work. Development Team, Product Owner and Scrum Master inspect their collaboration and collect ideas for improvement. Small baby steps toward the identified improvement are the adaption.
O.k., that was on sprint-level.
Focus in: we can have a look on finer granularity: The development team performs daily stand-up meetings (so called daily Scrums), where they exchange information about their work accomplishments and the tasks they focus on next. Here the other team members inspect the related informations and give short hints for the next steps, i.e. give adaption advice.
Even finer granularity: one popular agile software development practice is pair programming, where two team members share one computer, mouse and keyboard and take turns in implementing, and planning, reading, checking. The one typing gets immediate feedback on his work from the pairing partner.
Do you see other self-similar agile methods?