Skip to main content
Joe's Blog

Joe's Blog

Go Search
  

Categories
There are no items in this list.
Joe's Blog > Posts > Controlled Chaos in Software Development
Controlled Chaos in Software Development
Software development is different from many other types of disciplines in that there are many different ways to complete a task and in many cases you don’t really know the outcome of many of the operations without trying them out first.  Additionally, each iteration can give additional options of how to implement the overall solution. Due to the complexity of the many moving parts of software, an unstructured or chaotic approach of iteratively attempting multiple ways of solving a problem while building on the knowledge built from each iteration is the best approach.  This creative iterative approach mesmerizes you as a software developer and you can see developers become completely absorbed and focused on the process.  Some might call it obsessed, however, to me it’s becoming completely focused on a creative process to the point you become one with the task.  This chaotic, iterative, creative process to developing software is what draws me so passionately to the discipline.
 
So, how do you control this chaos in software development? We have been doing a lot of work with the Scrum approach to software development implemented with Visual Studio Team System the last few years and I feel this is the best approach to controlling this creative chaotic process in software development.  Scrum is not an acronym and has its roots of meaning in the process during a Rugby match where the ball is “kept in play” through the use of a Scrum.  It is an Agile approach that fits into the standard MSF (Microsoft Solutions Framework) Agile Development Template V5.0 found in Visual Studio Team System/Team Foundation Server 2010.  There is also a Scrum for Team System 3.0 template available for free from Conchango (an EMC company) and one from Microsoft entitled Scrum 1.0, through Visual Studio Extension Manager.
 
Scrum allows for the developers to work in this chaotic creative environment in complete freedom, however, within specific goals defined by something known as a Sprint.  This is what is formally known as an “Iteration” in the Agile approach template, however, Scrum adds specific methodology on how these Sprints are played out.  The end result is that developer gets to work in this chaotic creative environment without interference by instituting goals that do not change; which they personally commit to achieve within the time frame of a short Sprint, normally 14-21 days.  The only other structured requirement is a short (typically 15 minutes) daily Scrum meeting limited to the Team members to discuss current status and any impediments discovered.
 
The Scrum methodology is experiencing an exploding popularity within software development teams currently and is definitely something you should look at if you are in this field.  For more information, check out http://ScrumForTeamSystem.com and for training see us at http://homnick.com.

Comments

There are no comments yet for this post.