Geeks With Blogs
Chad Ernst Agile Software Development with .NET

Hello, World!

So I'm a little late, but here nonetheless!  This is my first blog entry, and I'm excited to start sharing with the software development community.  As the subtitle of my blog indicates, I'm extremely passionate about 2 things: [1] .NET development [2] Agile processes

A little background about each one ...  

.NET development.  I've used both C# and VB in the past due to client/company requirements, and I see the good and bad in both languages ... the most obvious of which are: VB - Love the intellisense in VS, dislike the lengthy syntax.  C# - Love the syntax, dislike the VS intellisense.  I think in November 2005, C# may become my language of choice (VS2005 ships with improved intellisense support for C#!!).  I've been architecting web solutions with .NET for over 3 years.  I'm a proponent of using custom business objects versus datasets(even strongly typed ones).  Datasets work fine for simple, “data-in data-out” applications, but make maintainability very difficult for larger applications that have complicated business rules.  And I'm amazed at the number of .NET developers that I've met over the years that have NEVER followed an object-model approach.  If you're a former VB6 developer that has recently started developing with .NET, I recommend you invest in a book by Rocky Lhotka.  Rocky also got his start with VB6, and is famous for authoring several books on business objects(VB6 and .NET).  I've seen Rocky speak at a couple of conferences and I enjoy following his blog.

Agile processes.  I've been involved in too many software projects in the past that use some form of “Waterfall” methodology.  Every one of these projects went something like this:  The business analysts and architects spend 6+ months working with the users to gather the requirements and create the design/architecture for the system.  The design is then given to the developers, and they are told they have 3 months to construct.  One week into development, requirements change, but the documentation is not updated and only one or two people on the project understand the change.  Scope creep begins there but never really ends.  The development phase does not complete on schedule, and only leaves one week (instead of one month) for system and acceptance testing.  When the users do start acceptance testing, they conclude that the software is not what they need.  Additionally, many bugs are present because the developers were forced to work 60 hours a week to meet the deadline and didn't perform good unit tests.  At this point, the project sponsors either cancel the project or are forced to delay the release until the software is cleaned up and the requirements are met.

Lightweight Agile methodologies such as Extreme Programming and Scrum (to name a few) seek to correct the problems introduced by Waterfall processes.  Agile processes tend to be iterative (i.e. spiral) and incremental.  I will further discuss the advantages of agile processes in a future post. 

So that's me and the jist of this blog.  Really, anything related to .NET development and/or agile processes are fair game for my blog.  Above all, I hope to solicit feedback from other professionals in the software development community.

Posted on Wednesday, September 7, 2005 2:49 AM | Back to top

Comments on this post: System.Console.WriteLine("Hello, World!");

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Chad Ernst | Powered by: