Last weekend I was at the Southern Maryland Give Camp which really was an event not to be missed. In one weekend we designed and built a system to track and report on all of the services provided by the Tri-County Youth Services Bureau (TCYSB), an organization that provides important help to youth and families in Maryland. Their key goal was to automate the reporting they needed to do to the various state agencies and grant providers that otherwise took about a man year of effort to assemble by hand.
Held in the really beautiful St. Mary’s College of Maryland (a state school – who knew!) we set about building system to track all of the people TCYSB provides services to, all of the services that were provided, and then provide the data back out to satisfy the various reporting requirements. To get a feel for the complexity of the system, here’s the entity model:
When you have less than two days, it really focuses you on what’s important. For the most part we stuck with technologies we either knew or were willing to risk everything figuring out. We built the system using Entity Framework 4 (Model First), ASP.NET WebForms, and DevExpress Reporting. This was my first time using EF4 on a complete application, and it worked out amazingly well. Frankly, compared to the prototypes I did on EF1 they have really come a long way. Naturally we used DevExpress reporting not just because I know it (I know SSRS as well) but because ease of deployment is a big concern when you’re handing off a bunch of files to a customer with just this side of no IT support. Like a few vendors, DevExpress offered free licenses to the non profit organizations for solutions developed at the Give Camp.
Another thing that acquitted itself well was TFS – we had everyone on the team using our TFS server (since it was readily accessible and everyone had the client installed) and despite the high odds of merge hell it all came off without a hitch. Frankly, no one was more surprised than me.
At high noon on Sunday, 41 hours after the kickoff, we backed away from the source code, did a final check in and went into the group room for wrap up. Every team demonstrated what they built for their non-profit which was something to see. The results ranged from redesigned web sites to real line of business applications like what we did. Technologies spanned the range as well, with Microsoft pretty well represented as well as some interesting uses for Google Docs and Google Calendar.
What made it all work was behind the scenes – for me the biggest piece were the outstanding requirements documents we got prepared by Ann Scharpf before we got there. Combined with round-the-clock access to both the TCYSB staff and Ann we never had to guess at what we were trying to deliver. Frankly, I’ve never worked with a better BA than her and it made all of the difference.
Everything we might ask for was right there – more food than could be eaten, more caffeinated drinks than could be drunk, and roving specialists in design and technologies (a big shout out to Steve Michelotti for helping me with EF questions).
Finally, we had Jim Pendarvis doing his best impression of R Lee Ermey. When he says coding is over at high noon, coding is over at high noon! I can’t imagine how much work he personally had to put into making this happen.
If you have the chance, I really encourage you to check out a Give Camp near you. It’s a great experience to build something completely in a weekend that will make a huge difference for people. Regardless of your level of tech skill or even if you’re a designer, analyst or even (gasp) a program manager you can make a difference. Give it a shot!