Robert Hurlbut Blog

Thoughts on Software Security, Software Architecture, Software Development, and Agility

Another TDD and DDD success story

Monday, July 16, 2007 Comments

 .NET  ArchitecturePatterns  ASP.NET  Extreme Programming  Security  System.Transactions  WCFIndigo  Web Services 
Share:   Share on LinkedIn    Share on Twitter    Share on Google+    Share on Facebook   

I have been mostly silent for the past year as I have been busy working with a client in Western Massachusetts on a very interesting ASP.NET 2.0 project (using C# 2.0). I had the pleasure of working with one of the best teams I have seen in my career -- all were bright, willing to learn, and up to the daunting task of converting skills from pre .NET right into .NET 2.0 and object-oriented programming. I taught a course to the company earlier last year and they asked me to come and help with the architecture and final development of a very time-critical ASP.NET application. I am very, very happy to say they met their goals with the project going live last week and right on target! In the end they have a very robust, highly maintainable, flexible, and extensible architecture that met their immediate needs and certainly future needs as well.

One of the most impressive things to me was how the team caught on to designing the system with Domain Driven Design (DDD) by thinking of the business domain and translating that into objects that made sense. Also, Test Driven Development (TDD) with NUnit and TestDriven.NET (also, the testing tools that are part of ReSharper) was shown and it was caught well by the team, using Dependency Injection and other principles of DDD to test the domain without the use of the database (of course, there was some testing of the database at unit level as well, but the core objects were tested without the need of a database). Instead of building a traditional data-centric application as was most familiar, they built more of an object/domain centric application that as I said is robust and highly maintainable, flexible, and extensible. Of course, I also helped with making sure the application was secure and I put together a nice web services/SOA solution using WCF I think will grow with the company. It certainly was a great opportunity, and I am very proud to have been part of the team's accomplishments.

Now, on to other things. I look to continue speaking, training, performing secure code audits and security testing, and working on similar projects as this one. I am currently available for contract and/or other opportunities. You can contact me through my web site or the contact page of this blog if I may be of assistance.
 

Share:   Share on LinkedIn    Share on Twitter    Share on Google+    Share on Facebook