It takes a change in mindset to do it, but Agile Architecture speeds-up development and innovation. The co-creator of Scrum, Jeff Sutherland, and the founder of Team WIKISPEED, Joe Justice, two of the industry’s thought leaders in this area, explain how it all works in this on-line course.
Upon completion you will:
Agile Architecture Overview:
View and Download Class Slides
Subsumptive Architecture and Emergent Behavior
What’s interesting, Brooks said is that each time you turn on the robot, it learns to walk for the first time. There is no database of where everything is in the room. Instead the world is its database. It figures everything out for the first time each time it is switched on. It bumps into things and figures things out based on the actual surroundings, which means it can adapt to any environment.
“Let me show you,” he said as he took me over to their lab. He popped a blank neural chip into one of these insectoid robots and I watched it wobble to life. Hesitantly at first, it stumbled around the room like a fawn picking itself up on its legs for the first time. With each step it became more and more assured. The legs quickly learned to collaborate and work together. Within a few minutes the robot was racing around the room. Nothing was stored or programmed about how to walk, instead a few simple rules kept these components working together. These legs didn’t think; they just did. I was blown away by the ingenuity and simplicity of the system. . . .
“What would happen,” I asked Brooks, “if we could come up with a simple instruction set for teams of people to work together just like those legs? They would self-organize and self-optimize, just like that robot.”
“I don’t know,” he replied. “Why don’t you try it and let me know how it works out?”
What the robot was doing was displaying emergent behavior based on Brooks' Subsumptive Architecture. The. Individual pieces reacted independently and reacted to the world as it is, rather than relying a database of static information. Brooks designed the system to solve problems from the ground-up, rather than from the top-down. This is how architects have to think in an Agile context.
Papers and Patterns
J. Sutherland, ACM StandardView, vol. 6, pp. 4-13, March 1998.