• Do Not Call Register

    I’m sure this was in the news, but somehow I missed it.

    The Australian Do Not Call Register is now open for business.

    “On your bike” Telemarketers!

  • Lean Software Engineering

    “Lean Thinking” is a process management philosophy, and is often associated with Toyota Production System.

    I first heard of this via my friend Jane, who is applying this in a healthcare setting.

    It might sound a bit strange using a manufacturing philosophy (where the business is all about production lines and making widgets) to a hospital (which normally deals with lots of people with various health problems). However I’ve heard they’ve been applying the lean principles with some positive effects to things like waiting times for people in emergency and also improving how patients are moved through the hospital - the “patient journey”.

    And so it isn’t just in healthcare that a manufacturing philosophy is being used - we now have Lean Software Engineering too. I’m not an expert on all the details, but it does seem to relate to a lot of the Agile practices that are becoming more popular now.

  • Unit testing, Mock objects, Inversion of Control, Model View Presenter and Supervising Controllers

    For a while now I’ve been trying to figure out a good way of using unit testing to validate more of my code with ASP.NET applications.

    Most of our applications correspond to the n-tier model with the data-layer and business objects separated from the presentation layer.

    I’m still trying to find a good solution, but I think that some of these new ideas might help once I get my head around all the concepts.

    Mock objects seem like they can play a part, especially when you want to test something in isolation from the other layers (eg. testing the code that calls the data layer, without actually depending on the data layer to be all correct and available). Rhino Mocks is the mock object framework I’m trying out at the moment.

    Inversion of Control is another concept that seems to help with this by removing direct dependencies between classes. Josh has some thoughts on this while using the Castle Project’s Windsor Container

    Finally, the Model-View-Presenter design pattern might be a way of hooking this all up together. Billy McCafferty outlines his ASP.NET architecture and also has published an artile on using MVP with ASP.NET. Phil Haack also illustrates using the Supervising Controller pattern (an update on the MVP pattern) with ASP.NET.

    Then again, I could have it all mixed up, but I do think some of these techniques are going to be valuable tools - a pity that the learning curve is reasonably steep at the moment.