Thoughts from the office by Ed Ball
Tuesday, November 29, 2005

I hope this mini-trend of giving free software to .NET bloggers continues!

I've got a number of ideas for Windows Forms applications; if any of them ever come to fruition, I may want to leverage third-party control libraries, so I am happy to mention the release of the Krypton Toolkit in exchange for a free copy of DotNetMagic. The Krypton Toolkit provides user interface controls for Windows Forms, is targeted at Visual Studio 2005 and .NET Framework 2.0, and is free for commercial use.

11/29/2005 3:05:19 PM (Pacific Standard Time, UTC-08:00) | Comments [0] | Tools#
Wednesday, November 23, 2005

How could I avoid reading a book whose title is our favorite mantra at the office? Of course, it’s usually used tongue-in-cheek when that’s exactly what we can’t do…

Ship It! A Practical Guide to Successful Software Projects is a “pragmatic” book by Jared Richardson and William Gwaltney Jr. It is an easy read with lots of great ideas for improving your software development team.

The book starts by describing the infrastructure necessary to do successful software development. Hopefully every programmer out there is using source control by now, but there were some specific ideas that caught my eye; the book does an outstanding job of justifying them:

  • Programmers should commit changes to source control at least every few days; if that’s not possible, they should commit changes to a private folder in the source control database.
  • Creating a build machine should be as easy as getting files from source control and running a script. The build process should have no machine-level dependencies.
  • The build script should run frequently, ideally whenever code is checked in, and should include automated tests to help prevent bug regression.
  • Bug reports and feature requests must be tracked in an easy-to-use database.

The book then talks about techniques that help ensure success:

  • The List is a prioritized list of measurable tasks that need to be completed. The team has a master list, and each programmer copies items from the team list to their individual list.
  • Each item on the list should have a time estimate. When completed, each item is marked as finished, and the actual time is recorded. Time estimates will improve with practice.
  • Each team needs a tech lead who maintains The List and monitors the direction of the team.
  • The team should have a daily meeting where each person takes a minute or two to describe what they’re working on.
  • No code should be committed to source control without a code review, generally by one other developer. Code reviews, like commits, should be frequent.
  • The team should be able to easily monitor commits to source control.

The book also describes their process, called “Tracer Bullet Development.” I’m sure I’m missing something, but it doesn’t really seem much like a “process” to me; it basically describes a modular way of architecting a product and dividing the labor among the modules.

Finally, the book reinforces the advice it has given by presenting various common problems in the development process and the techniques that are important to solving those problems. Much of the advice in this section is on how to incorporate and maintain automated testing without too much pain.

I highly recommend this book to all software developers, particularly to those in leadership positions. I’m hoping that our development team will have the opportunity to try out some of these ideas and see improvement as well.

11/23/2005 2:16:50 PM (Pacific Standard Time, UTC-08:00) | Comments [0] | Books#
Tuesday, November 22, 2005

This PDC 2005 session was a great introduction to the top-level application framework used by WPF. We learned about the Application class. We learned about the various ways to store application settings. We learned about the various supported “user experience models,” and about the navigation-based model in particular.

I didn’t realize that WPF would have special support for “structured navigation” – that’s when you navigate to a page or series of pages that has a “finish” button at the end that brings you back to the page where you started the trail, akin to a traditional application that launches a wizard dialog, but all in the main frame of the application. I still don’t quite understand the programming model, but it didn’t look too complicated.

The session also talked about running WPF applications from a Web browser. The same application model is used for both Windows and Web apps, though there are special challenges for Web apps, especially as regards code access security.

11/22/2005 3:33:32 PM (Pacific Standard Time, UTC-08:00) | Comments [0] | Development#
Tuesday, November 08, 2005
11/8/2005 8:25:38 AM (Pacific Standard Time, UTC-08:00) | Comments [0] | Development#
Tuesday, November 01, 2005

I’ve often thought that it would be nice to have an easily deployed database engine for a client-based application, but most database engines are difficult to deploy, have a large footprint, and use many files for a single database. One database engine that always looked like it had promise was VistaDB, so I couldn’t pass up this offer to get a free copy! If you’re interested, read the advertising blurb below…

VistaDB 2.1 database for .NET has been released
This 2.1 update includes over 60 improvements, including new support for .NET 2.0 and Visual Studio .NET 2005. VistaDB is a small-footprint, embedded SQL database alternative to Jet/Access, MSDE and SQL Server Express 2005 that enables developers to build .NET 1.1 and .NET 2.0 applications. Features SQL-92 support, small 500KB embedded footprint, free 2-User VistaDB Server for remote TCP/IP data access, royalty free distribution for both embedded and server, Copy 'n Go! deployment, managed ADO.NET Provider, data management and data migration tools. Free trial is available for download.

11/1/2005 12:00:09 PM (Pacific Daylight Time, UTC-07:00) | Comments [1] | Tools#
Search
Archive
Links
Categories
Administration
Blogroll