What you need to know about Versions

October 2nd, 2007

Software is released in versions, usually in Major.Minor.BugFix format. So, version 1.0.0 would be the first release of production code. Version 2.3.14 would be the second major release, 3 minor releases, and 14 bug fix releases. 0.0.3 would mean the 3rd release of Beta code (code that is not released to production yet).

What does all this mean to you?

1. Your software provider should use version control

Version control is the tool developers use to govern the development process. Changes made to the software are associated with an issue (bug fix or new development). To create a release, the changes are bundled and assigned a version number (2.3.14).

There are others, but Subversion, CVS, and Source Safe are three popular version control products.

2. Your software provider should give you a list of resolved issues for each release

These could be bug fixes or additional functionality. This provides an audit trail when your software is upgraded.

Version control is the sign of an experienced software development shop. It is crucial to the success of your provider, and therefore to the success of your business.

Stephen

Coffee Press

October 1st, 2007

I picked up a Bodum coffee press my last trip to Starbucks. I am very, very happy with it.  It makes a very nice cup of joe.

I also picked up some espresso beans. This afternoon I pulled a long doppio (double espresso) while writing some code to import data from various sources. Software and coffee. What a great day!

I’m coming to the end of a bag of Sumatra, so I have to decide what will be the flavor for this month. Let me know if you have any suggestions…

Stephen

Software Development Process

September 27th, 2007

This is a tip for businesses considering, or in the throws of a custom software development project.

Software development has several stages. Geeks refer to it as the “systems development life cycle”. I’ve listed them broadly (and chronologically) below. Each stage is important to you and your business. They are:

1. Gather the requirements

Find a software provider you can communicate with, that understands your business.

2. Design a solution

The provider should understand your processes, and work with you to enhance your service and/or product offerings.

3. Develop the solution

The provider should set a realistic deadline, and keep you updated on the progress.

4. Test the solution

The provider should have a quality assurance mechanism. Deploying untested code wastes your resources.

5. Train end users

The provider should have a good relationship with your employees.

6. Release the solution

The provider should deliver what they promise. Ask for references from other clients.

7. Maintain the solution (fix bugs)

Poor work up front causes huge problems down the road. Make sure the provider has products in maintenance mode. As a matter of fact, make sure they’ve been supporting those solutions for a few years.

The verbiage may differ, but any software provider you meet with should follow these steps at a minimum. Ask them how the process usually works. If it does not match this list, it should raise a big red flag.

Stephen

The problem with Web 2.0

September 25th, 2007

One of the paradigms of Web 2.0 marketing is the “self proclaimed expert”. The idea is to present oneself as an expert by writing an article or blog, or publishing a podcast. “I’m an expert- just ask me and I’ll tell you!”.

I was listening to a podcast about starting new businesses. A few episodes in, the podcaster made a comment about never successfully starting a business. I was shocked and slightly taken aback. Not much of an expert, if you ask me.

Don’t get me wrong, failing is the first step to learning. But if you never succeed, all you can teach is what doesn’t work. Through this blog I plan to show SMB owners and managers what does work and how to make strategic software decisions.

To demonstrate my experience, I’ll share tidbits of my bio, share customer solutions, and provide feedback from my customers. Along the way, I’ll share tips and processes that will help you assess and resolve your current and future software needs.

Stephen