Software Development

17 Jun 2010

When the S–t Hits the Fan

By |2017-04-03T11:53:59-06:00June 17th, 2010|Categories: Doug's Blog, Software Development|

in software development things often don't go according to plan. Sometimes the fault lies with a third party vendor, sometimes you have to re-factor a design that no longer works and sometimes you get a bug that doesn't show up right away.

Whatever the case, you are way off estimate.

Developers will sometimes question if it even possible to estimate time on a development project.

You know what though. In reality few things of any complexity actually go according to plan.

So why plan at all?

Well for starters you need to commit to shipping a product. In business, saying we will build something someday […]

11 Jun 2010

Agile Project Management Tools

By |2017-04-03T11:54:13-06:00June 11th, 2010|Categories: Doug's Blog, Software Development, Technology|

We have a distributed workforce, lots of projects, remote clients, developers working on more than project at a time, and a large number of applications in support mode.

Whiteboards and sticky notes work well for a few projects and a local team. Excel and Google docs allow some remote sharing. Bug tracking software only is really useful for task and bug tracking.

So we are looking at finding one software package that can do product and release planning (stories or features), project management, Scrum/sprint management, bug tracking and also allows our clients to participate. It needs to integrate with our development environment (Visual Studio) and […]

4 Jun 2010

QA Should Find Nothing!

By |2017-04-03T11:54:19-06:00June 4th, 2010|Categories: Doug's Blog, Software Development|

Developers should produce code that is so good, the quality assurance team should find nothing. If they do it should be a big thing. How did that get through all the tests?

If continuous integration builds fail, it should be a big deal (think sirens going off). Failing tests should never be removed just so the build can be green… doing so is a slippery slope to crappy code.

Writing crappy code is never faster than writing good code.

It is all about putting the craftsmanship back into development.

These topics and many more contained in a recent presentation by Robert C. Martin (Uncle Bob).  […]

22 Apr 2010

KISS Your Software: Core versus Cool

By |2017-04-03T11:55:51-06:00April 22nd, 2010|Categories: Doug's Blog, Software Development|

In the software development realm we all succumb to this at some point. We lose site of what is core (what absolutely needs to be there) in favour of what would be cool or only used by a few.

What is the essential set of functionality that defines your software? Really?

What would happen if you removed it? What percentage of application users would notice it missing?

When you define the core, you can focus on the core.

Get this right and spend 80% of your effort on this for version 1. Otherwise you will spend 80% of your time on the things […]

14 Apr 2010

New Website – Less is Now, More is Later

By |2017-04-03T11:55:56-06:00April 14th, 2010|Categories: Doug's Blog, Marketing, Sales, Software Development, Technology|

The shoemaker's kids finally have new shoes. We've always been so busy doing the technical stuff for our clients, we've been ignoring our own marketing. Well that is changing.

Today we launched version 3 of our corporate website. It is using a Content Management System (CMS) behind the scenes so we can keep the site current.

I was inspired recently by several good books. Essentially, the message was pick a date, set a budget and vary the scope. This avoids it is never good enough syndrome and allows you to ship; on time and on budget.

This also follows the agile principle […]

8 Apr 2010

Useful Software – From Drums to Real Collaboration

By |2017-04-03T11:56:14-06:00April 8th, 2010|Categories: Doug's Blog, Dream Teams, Software Development|

Way back during the Greek and Roman empires, if you were part of the forced labour (slave) on a galley ship the business rules and communication structure was pretty simple. The drum would beat and you would row. If you didn't bad things happened to you.

Since then we've moved from farming, to factories to information workers. Ships have moved from human propulsion to sails and now diesel engines.

When you move past one person on a project, the number of communication paths (links between people) grow quickly. With two people there is one bidirectional path, with three there are three, but with 4 […]

4 Apr 2010

Optimizing Developer Productivity

By |2017-04-06T12:52:05-06:00April 4th, 2010|Categories: Doug's Blog, Leadership, Software Development|

In my last post I made light of the constant desire of (some) developers to want the latest and greatest in hardware; it can never be good enough. Smart managers know there is a balancing point between having the right tools to increase developer productivity and throwing money in the wind.

So exactly how do you justify and quantify the benefits of using faster tools in development?

The Business Case

Part of a manager’s role is to make the most profit for the company as possible while keeping customers happy. The other part of their role is keeping developers as productive as […]

1 Apr 2010

New Developer Computers

By |2017-04-03T11:56:39-06:00April 1st, 2010|Categories: Doug's Blog, Software Development|

Productivity is frequently an argument made by developers to get the latest and greatest computers.

This is what our developers tell me we are using now.

This is what they want (a supercomputer and monitors for every window they might want open). Everyone else is using this and it even supports pair programming.


I suspect we will have to compromise; and balance productivity gains with cost. Sorry guys.

Notes: See for the […]

29 Mar 2010

Using the Last Roll of Toilet Paper

By |2017-04-03T11:56:43-06:00March 29th, 2010|Categories: Business Strategy, Doug's Blog, Software Development|

Have you ever gone into the washroom to do your business and been surprised at the end to find out someone used the last of the toilet paper (and there are no extras in the washroom)?

Surely someone must of noticed that the roll was at the end. Why didn't they go get more (reactionary)?

Even better, why didn't someone notice that they were loading the last roll and go get more (proactive) before it was all gone?

How many areas of your business are like this?

Do you wait until the customer notices something or do you deal with it just before the […]

26 Mar 2010

Good Code Today, Legacy Code Tomorrow

By |2017-04-03T11:56:53-06:00March 26th, 2010|Categories: Doug's Blog, Software Development|

We recently came across a few potential clients with applications built around the turn of the millennium. These are business applications so presumably they have a team that is also supporting them.

We are talking Visual Basic 6 and Active Server Pages with DCOM.

Back in their day, these applications may have been well written code.

Now they want to migrate these applications to the latest .NET Framework, etc.

Back when we first moved to .NET Framework 1.1 coding best practices were quite a bit different than they are in .NET Framework 3.5 and soon, Framework 4.0.

Moving from VB and ASP to .NET put […]