Thursday, January 31, 2008

How much to dump on them...

So here's the situation...

We're redesigning the the client's application, piece by piece. Due to the amount of data they need to process, and how they process it, there will be a lot of code in the stored procedures.

Not a problem, we have a dba from my company on the job and he's doing great.

But... the application is currently in classic ASP. The team has mixed experience (e.g. two 20 somethings who's major OO experience is from college. They're willing to learn, just not there yet. Add to that one 60 something who's way behind tech wise... adds up to an immature team.)_

So part one, is introducing them to some basic processes like source code control, versioning and deployment.

Part two, as it were, is diving into major OO concepts. This app looks like it's a good candidate to use MS's new MVC framework for ASP .Net

Finally because of the sophisticated SQL backend this app also looks ripe to use LINQ to get data in and out with minimum fuss.

The issue? How much and how fast can I dump new concepts on the team. I'm worried about absorption rate of the materials (add to this the C# .Net training the will be getting by March 1.) They'r new to ASP .Net and add to that a ORM and MVC framework... could be a bit much (along with process and TDD).

I'm going to prototype as much as possible, I'm just worried they might have some problems siwmming as it were (well... the 20 somethings might do fine. But the 60 something is another issue..)

Friday, January 11, 2008

An Open Source Project that might temp me...

Actually I sent them an email already, so I'll get notified once they have an SDK and thoughts about what they need...

www.quarq.us

Quarq is developing two products for the cycling community. The first is a power meter for you crank. This is a device that measures power output in watts. Usefull for training and such. The neat aspect is it uses the Ant+Sport wireless protocol. Ant+Sport is an attempt to create a unified protocol for wireless sports devices like heart rate monitors, bike and running computers, etc.

The open source part comes in for their bike computer. It's going to be Linux based and have gps built in (in theory.)

So don't know what they'll need but... if it fits my interests I'll pursue it (and maybe get a pre-production unit to test and play with!)

It's the little things...

So current client has their machines fully locked down. No local admin access, no ability to install stuff etc.

Only problem I have is it means I can't effectively run IIS on my local machine... But thanks to MS I don't have to.

MS has nicely included a little asp.net web server that will do what I need. It's not full featured (e.g. no complex security, etc.) But it will get the job done for local development. Then it's just push the code to a test server for QA & integration testing.

Oh and getting to sqlexpress almost looked like a pain until I remembered it's a named instance. So you have to use computername/sqlexpress, not just computername to get to it.

So looks like I will be able to set up a development environment in a locked down OS.

Next up MVC vs. MVP...

Wednesday, January 09, 2008

CI and DB development part II the deploy....

Well lets see... got CruiseContorl .Net working with msbuild so not to automate the deployment to a test server...

Easy enough (as we tested this manually with MSBuild). The only change is to create a build configuration that has the CC .Net working directory as its build output path. That way when the Deploy target is selected MSBuild will know where to grab the correct sql file and use that to update the test server.

Results... so far so good. I've got it so I can update the db project, deploy it locally to test on "my box", then check it in. CC .Net takes over and pushes it to the test server.

Next is to figure out the best way to unit test it...
One approach is to create a test project and have it run the tests. The only trick is making sure it points at the right server. E.g. the developer's box when he is testing locally, then switch to the test box when CC .Net / MSBuild run the code. We'll see...