Three quarters of all software projects fail. Why? Because we're still trying to manufacture software instead of create it. Software development is more art than science. As such, it can't be predicted accurately and is difficult to control. Yet how do managers typically respond to a failing software project? More control.
Complexity science has a surprising amount of relevance to agile software development. Developers tend to behave like agents in a Complex Adaptive System (CAS). These agents must be allowed to self-organize to the edge of chaos, which is where remarkable things happen. Most of us agree that agile works. But *why* does it work? Examining the science behind agility can tell us why.
Once we understand why agility works best for software projects, we will stop trying to predict what can't be predicted and control what can't be controlled. We will allow software to emerge on its own instead of trying to manufacture and control it.
Matthew Bass (MatthewBass.com (http://matthewbass.com/)) is a local independent software developer specializing in agile web development with Ruby on Rails. He has a strong background in eXtreme Programming (XP) from his work at Ken Auer's studio, RoleModel Software. Rumor has it that he once worked for Jared Richardson at SAS. He has also been spotted speaking at RailsConf and co-organizing the Raleigh Ruby Brigade.
We'll be meeting at Misys for the first time. Here are two links for directions. Directions (http://www.stc-carolina.org/tiki-index.php?page=Misys+Healthcare) and Google Maps (http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=116372375450842071147.000434ee268e78e658b7f&ll=35.89649,-78.650608&spn=0.003972,0.008454&t=h&z=18&om=1)