As many of you know, last year, I moved from being an independent consultant to joining Headspring Systems as the Chief Technology Officer. At the time, Headspring was a consulting company transitioning from websites and Internet marketing to building custom web applications. I joined to help complete the transformation as well as add a focus on Agile in all the project and how we do business in general.
We completed the transition, and we are now a custom software company. We focus on enterprise applications (software that helps companies do business). We specifically don’t do device drivers, embedded software or consumer applications (which are huge markets in themselves). We have derived a process by which we execute each project, and that process mixes the more well-known Agile processes together. Our process can be best described by taking Extreme Programming and mixing in a few project management artifacts from Scrum. The engineering process is key to providing the highest quality and planning predictability.
This year, we also became a Microsoft Certified Partner. We are a bit of an odd partner because we give both praise and criticism to Microsoft when recommending solutions and products to our clients. Some of our clients are a bit surprised when our solutions contain a mixed bag of Microsoft and non-Microsoft products. Often, other Microsoft partners use the full “Microsoft stack” and don’t recommend anything unless Microsoft doesn’t have an offering in that area.
In the partner acceptance process, we had to demonstrate some competencies. There are many competencies, and our two are:
Custom Development Solutions. We create and maintain custom software. These systems can be quite complex. We push QA to the front of the development activities to keep the complexity under control. We don’t employ testers only to discover defects. Instead, we employ testers to work before development to prevent defects. Well-known research has concluded that preventing defects is much more cost-effective than merely identifying them.
Business Process and Integration. We chose this competency because it fits quite well with our Agile focus. Because we do projects on site with our clients, it’s only natural that we help them improve their business process before (and while) creating software that depends on a solid business process. We never do a “throw it over the wall” project. We always insist on understanding the client’s business process so that we feel comfortable that we are providing all the value we can. Custom software is expensive, and it would be a disaster for us if we delivered software the client asked for only to realize later that it was based on a faulty business process.