I interrupt this regularly scheduled apprenticeship update to finally provide a proper project wrap-up from last month’s endeavors. After four weeks it all came down to a final project demo for our “clients”- with Neal, Mike, Jeff, Raghu and JC in attendance. It went really well. They were happy with the project, with the progress we’d made and with the lessons we’d learned. We’d been able to surpass their expectations and deliver a product with a lot of polish.

Paul deserves a lot of the credit for that UX polish as he poured on the JavaScript the final 10 days. He was actually in Vermont for the third week and although we tried to pair remotely, unfortunately neither of us had a solid enough internet connection to do anything in real time so I didn’t get to watch him make a lot of that magic.

Dan also spent a lot of time on polish diving into D3 and Raphael to create a user graph that updated in real time according to a user’s activity. This was his first dive into D3 and he definitely learned a lot.

While those two tackled their tasks I donned the “sweeper” cap and handled both big picture and little picture stuff. As we entered the final week I managed the Crew work board to consistently assess our velocity and prioritize our tasks accordingly. We decided to keep on track to be ready to deploy a fully-working product at the end of every day during the last week, and then the final deploy would be mid-day Thursday so that we could have 24 relaxed hours before the demo on Friday (and that plan pretty much worked perfectly). I also kept in regular contact with the client that final week and prepared the team’s outline and presentation deck for the demo (since they wanted to hear about what we learned as much as see the product).

The lower level details I worked mainly all about testing and the UI. While Paul was in Vermont he was cranking out some relatively complex code so I would try and write tests to provide some coverage on them. Writing tests after the fact is hard and definitely NOT best practices, but since this was a learning exercise and pretty much everything we were doing was a “spike” (figuring out if and how we could do something), I approached writing the tests the same way. It was a chance to explore Rspec and just get some practice writing tests. I also spent a lot of the time on the UI which meant conducting a few users tests and incorporating their feedback, making UI/UX tweaks recommended by C.A. design mentor Shay Howe, and spending a lot of time working with Twitter Bootstrap. The last tweak I made was actually after our self-imposed mid-day Thursday deadline, but the solution was so simple I had to give it a try and it took only 20 minutes to implement. A major user story we’d stuck in the icebox (with the client’s blessing) was to incorporate some sort of community support. However, as the final product took shape it hit me on Thursday night that there was the absolutely perfect place to drop in Disqus comments as a way to help users help each other. So I plugged those in on Friday morning.

As we headed out for a celebratory beverage after the demo I think it’s safe to say that the three of us were even happier with the experience than the clients were with the product. The four weeks gave us an excellent opportunity to evaluate our strengths and weaknesses, to cut our teeth on new concepts, to take a project from start to “ship”, and to be a part of a great team. Thanks again to JC for his guidance, the Code Academy crew for the opportunity and to Paul and Dan for just being awesome.