Developer Diary – Ramp Up
[This is the 2nd article in a series of diary entries covering my experiences with Project MEBA]
As every developer knows, starting a new project requires a little bit of ramp-up time. Tasks such as getting your machine prepped with all of the necessary tools and favorite trinkets to make you a productive programmer, reviewing the requirements, brainstorming ideas to solve the problem statement, etc. As a developer coming onto an existing project, you also need to spend some time getting comfortable with the existing code base. Typically you have a lot of questions like: why is the project structured the way it is? what is the current testing/source control/build/etc process? who is the subject matter experts for parts X, Y or Z? You also have questions like “What the hell were you thinking?”, but we keep those to ourselves. I hope. :)
With existing code bases, your first task is to get the solution to build and run on your machine (depending on your solution). This tends to be a chore in itself most of the time. For Project MEBA, I fall into the category of working with an existing code base. This is Phase 2 after all. :)
In my “Ramp Up” time, I’ve spent the last couple of days getting my machine “dev ready”. This included installing all of the required bits to build Project MEBA. These include the following:
- Visual Studio 2008 Team Suite
- Team Foundation Server 2008
- Windows Azure Software Development Kit (January 2009 CTP)
- Windows Azure Tools for Microsoft Visual Studio January 2009 CTP
- Microsoft .NET Services SDK (Dec 2008 CTP)
- Microsoft SQL Data Services SDK
- Silverlight Tools for Visual Studio 2008 SP1
- Silverlight Toolkit
- What I have done was create a VPC Dev environment will all of my required tools installed. I’m not sure I’m going to stick with it. I may switch over to a dedicated machine for all of my dev work as the VPC is performing as optimally as I’d like. It’s currently running on the same hard drive as the host OS which may be one of the underlying reasons why it isn’t performing optimally. I’d be interested in hearing from others on their dev machine setup of choice. What tools do you use? What are the first things you install? Do you run in a virtual environment?
- Once I had all the tools up and running, I fired up Visual Studio, connected to our TFS instance and pulled down all of the source code. Unfortunately, this project is a little more complicated than hitting F5 and we’re off and running. I spent a good majority of my time last week digging into the project structure trying to understand all of the moving parts including what was an executable, what was a website, what was a library, etc.
Now Phase 1 dealt with a particular “reference implementation” of a B2B messaging solution running on Azure. If we continue to focus on this particular reference implementation, the first order of business will be to fire up Team System for Architects and model out these moving parts. I can’t wait until we can start using Visual Studio 2010 as the the Architecture modeling tools in VSTS 2010 have greatly improved. I will have to admit, it took me a good deal of time to get to know the project. It’s very important that we use the tools at our disposal and the capability they provide in communicating and collaborating across the team. VSTS as it has progressed into VSTS 2010 should provide increased capabilities in this communication process, and therefore cut down on those ramp up times.
The next order of business is meeting with the project stakeholders to discuss Phase 2 planning.
Until then…









Dave Bost is a Technical Evangelist for Microsoft and co-host of the Thirsty Developer Podcast.