brownfield development – other ideas?
If you haven’t been following it over the last couple of months, we’ve been running a series of articles about brownfield development – authored by James Kovacs, Kyle Baley, and Donald Belcham. The big idea here is that rather than have yet another article or set of articles about implementing some new technology from the ground up (and usually in some kind of contrived scenario), we wanted to show how you can drive incremental improvements into existing codebases (hence the term “brownfield” as opposed to “greenfield”).
For the first of these series’, we wanted to address Web development – traditional ASP.NET development to be more specific. Therefore, we have taken an existing open source project, ScrewturnWiki, and have systematically refactored it along a bunch of different dimensions to produce the following.
Getting Your House in Order | This is part one of a multipart article series about improving an existing "classic" ASP.NET Web application. This first part helps to get your house in order with good development practices on an existing codebase, including version control, issue tracking, and automated self-contained build scripts. ASP / ASP.NET; Test / Debug; Web |
Testing | This is part two of a multipart article series about improving an existing "classic" ASP.NET Web application. This second part focuses on automated testing. ASP / ASP.NET; Test / Debug |
XHTML and CSS Improvements | This is Part 3 of a multipart article series about improving an existing "classic" ASP.NET Web application. This third part focuses on XHTML and CSS. XML / XSL; Web; ASP / ASP.NET |
JavaScript improvements | This article will focus on refactoring ScrewTurn Wiki’s JavaScript using jQuery, and testing it with QUnit. |
Improvements Using jQuery and jQuery UI | This is part 5 of a multipart article series about improving an existing "classic" ASP.NET Web application. This fifth part focuses on jQuery and jQuery UI. ASP / ASP.NET; Web |
Separation of Concerns | This is part 6 of a multipart article series about improving an existing "classic" ASP.NET Web application. This installment focuses on improving separation of concerns in Web applications. |
Death of a Singleton | In part 6, we moved away from the UI a little and worked more in the code behind the pages. In this article, we’ll continue that work and focus on a specific pattern that is used through the codebase: the Singleton. ASP / ASP.NET |
Disentangling Our Tangled Web | This is part 8 of a multipart article series about improving an existing "classic" ASP.NET Web application. This installment focuses on better ways to wire together loosely-coupled applications using dependency injection and an inversion of control container. |
So as we bring this particular series to a close, I have 2 areas where I would love to get your feedback.
First, what about this particular series worked – what didn’t? Did you like the intermingled videos – was it helpful that you could also read the articles on Channel9 – did you even notice?
Second, I think that the whole “brownfield” series concept is a repeatable one. What other series’ would you like to see? Some things that come to mind include:
- Breaking a monolithic architecture in to something more service oriented
- WinForms refactoring – could go a bunch of different ways here
- Leveraging the cloud in existing apps
- Bring exposing workflows as first class citizens
- etc?
Thougts?
Comments
Anonymous
September 02, 2009
The comment has been removedAnonymous
September 03, 2009
plan is for next WedAnonymous
September 08, 2009
I just happened across this series yesterday. My first thought is how did I miss these, I'm and have been pretty much since pre MSDN inception, a real magazine subscriber. I sit behind an LCD all day and don't spend much after hours time reading geeks stuff online, my TC just shows snow on channel 9. I'm guessing there is nothing in the real magazine on these. My second wow is where is the series indexed at, looking for that brought me here, never found a series index, that would be nice. Finally after reading the first 2 I like the content and am looking forward to reading the rest ASAP.