Geeks With Blogs
Dynamic Concepts (in) Development Musings of TheCPUWizard

This past weekend (Jan 14-16) there were GiveCamp events accross the country. At the New York City event, nearly 100 developers, designers and database administrators came together to dontate their time to provide technology solutions for over a half dozen charities.

The experience was amazing, projects that would normally take weeks or months went from concept to delivery between 6:30pm Friday evening and 3:00pm Sunday afternoon. There were many comparisions to both Habitat for Humanity and Extreme Makeover Home Edition. Just like those events, the concept was simply, leverage the power of many volunteers to provide something (in this case, applied technology) that the people in need could not afford.

The majority of the projects were to create (or significantly rework) a web presence for the charity. Depending on the charities needs, different technologies were choosen (Joomla, WordPress, Orchard, were a few) and many of the websites included the ability to access online donations (typically via PayPal or Google Checkout). Typically the team that created the solution had only one or two members who had experience with the technology prior to the start of the weekend, making the successes even more amazing.

The project I was involved with, was a bit different from the rest [aren't most of my projects?]. Robin Hood is a charity that targets poverty in New York City by finding and funding the best and most effective programs and partnering with them with them to maximize results. They have an in-house staff of IT that develops and manages their web-site as well as an internal SharePoint site. In order to maximize the capabilities of the SharePoint site, they needed four functional items that were beyond their capabilities.

This meant we were going to be doing some "hard core development", with the result being a set of Visual Studio 2010 projects that the team at Robin Hood could then integrate with their overall site, and also continue to maintain the codebase to address the inevitable changes that would be necessary. Based on my experiences, I knew that if we adopted a purely "ad-hoc" process, that items would be missed and the it would be nearly impossible to coordinate the 9 developers (some of which had zero SharePoint knowledge, others which had SharePoint, but not Development, etc) in a way that could make the best use of their skills.

I began to think...Can you adopt a (Very) light weight ALM practices and use TFS 2010 to manage the projects development when the iteration/sprint cycle is 2-3 hours,  to go from concept to a working set of deliverables uploaded to a "production" SharePoint site????

I spend Friday night setting up a development local area network (local wireless access to our "server", with a bridge over the facility's wireless network to access external sites), a development domain, a TFS server complete with a build machine, and a few Visual Studio 2010 / SharePoint 2010 development VM's. By Saturday morning it was ready to go, with the initial 4 requirements entered in as User Stories (Epics) and a number of workitems (tasks) ready for assignment.

For the next 30 hours, the team worked on the items, issues/bugs/tasks were created, items were commited to source control, and the incremental results uploaded to a temporary server (Thank you Becky Isserman for installing and configuring SharePoint!! in this environment).

With three hours left before the presentation of our work to the entire audience, we had "beta" versions of each of the components up and running on the "production server", and a full set of artifacts recorded in TFS that could be turned over the the charity (by detaching and delivering the TPC).

To the best of my knowledge, this is the shortest development cycle where TFS has been setup, configured, and used to create a set of deliverables. We took a lot of shortcuts in order to tailor "the process" so that it would work smoothly under this extreme time compression, but the only word I can think of to describe the result was Amazing!.

After a good nights sleep, I was reflecting back on the expreience. By Sunday, most of us were so sleep deprived that short term memory, retention and other cognititave thought processes were significantly impaired. If we had gone with an "ad-hoc" process, and attempted to just use the white board (which was filled and erased many times) along with manual notes, I am convinced that we would not have been able to achieve the results that we did.

Special thanks go out to team members (alhpabetically): Azret Botash, Becky Isserman, Qinfu Chen, Rajeshwar Kokkula, Ryan Finnesey, Tom Daly, and Tome Tanasovski.  Jimmy Park from Robin Hood also deserves a big hand, for being able to deal with all of us!


Posted on Tuesday, January 18, 2011 7:50 AM Developing Agile Software , Random Musings , Developers Notes | Back to top

Comments on this post: GiveCamp NYC 2011 - Project Development in under 48 hours

# re: GeekGive NYC 2011 - Project Development in under 48 hours
Requesting Gravatar...
I think you mean 'GiveCamp' in the title, not 'GeekGive'. GeekGive is a different program:
Left by Steve Andrews on Jan 27, 2011 1:30 PM

Your comment:
 (will show your gravatar)

Copyright © David V. Corbin | Powered by: