Software Development

24 Mar 2009

UI Design – The Hard Part

By |2017-04-03T12:32:35-06:00March 24th, 2009|Categories: Doug's Blog, Software Development|

I finally understand something that has been nagging me for years.

It's the answer to "Why do the majority of software developers shun user interface design."

The user interface is the part the customer usually sees. It should be the glamorous or satisfying part of software development.

It is like building a car without caring what the interior, dashboard or exterior look like. Sure the motor and wheels are important, but who wants to drive or buy a chassis with motor on it? Judging by what I see on the road, very few people.

The reality is that the user interface design is:

4 Mar 2009

What Makes a Good Developer?

By |2017-04-03T12:33:29-06:00March 4th, 2009|Categories: Doug's Blog, Dream Teams, Software Development|

I think that "good" is partly a matter of perspective.

For a development team member, a good developer may have some or all of the following skills and attributes:

  • Team player,
  • Strong object oriented design and development skills,
  • Strong in the technical stack the team is using,
  • Agile experience,
  • Willingness and ability to learn and embrace new things,
  • TDD/DDD abilities,
  • Working knowledge of testing frameworks/concepts,
  • Etc.

From a management or business perspective you could also add some of the following:

  • Ability to estimate and then meet commitments,
  • Likely to stick around,
  • Marketable skills,
  • Focused on working client solutions and not just the latest technology,
  • Able to work with and communicate well with clients,
  • Able to generate […]
27 Jan 2009

The Excitement of Product Launch Day

By |2017-04-03T12:34:50-06:00January 27th, 2009|Categories: Business Strategy, Doug's Blog, Dream Teams, Software Development|

Back in 2003 we built a tool to help manage our business. At the time we thought that it was just something for us and that it wasn't good enough for the rest of the world. New employees kept telling us that it was one of the best tools they had seen for doing those things. But we were humble and didn't do anything with it other than use it internally.

Since then I have realized that many successful products have been launched with bare-bone features and mediocre capabilities… and excellent marketing. Sometimes products are sold before they are even built.

I […]

27 Jan 2009

Agile Design – Up Front and Often

By |2017-04-04T16:34:39-06:00January 27th, 2009|Categories: Doug's Blog, Software Development|

Sadly there is a misconception that performing any up front design in an agile project is a bad thing… pretty much forbidden because the opposite of agile is waterfall.

This misconception misses the whole point of building great software… use all the tools you have at your disposal in the most appropriate way and if something is not working fix it. Agile is not meant to be a rigid process… it’s meant to be an attitude of continuous improvement. (Caveat, when you are first learning anything, stick to the proven process as you don’t know enough yet to know what is important.)

Right from […]

13 Jan 2009

The Next Invention – An Accident Waiting to Happen

By |2017-04-03T12:35:01-06:00January 13th, 2009|Categories: Business Strategy, Doug's Blog, Software Development|

I recently watched an episode of the "Nature of Things" hosted by David Suzuki.

The show was looking at the fact that there is an element of randomness to many great discoveries. In fact, many of the greatest discoveries of the past several hundred years were the direct result of an accident or oversight.

The inventors could have dismissed the anomaly and went back to the original premise. Instead, they were intrigued and either continued the investigation down the new path or found a use for the discovery that was way off the original goal.

The other aspect was looking at […]

9 Jan 2009

Celebrate Your Accomplishments

By |2017-04-03T12:35:07-06:00January 9th, 2009|Categories: Business Strategy, Doug's Blog, Software Development|

It is very easy for a company or a management team to focus on the things that are being done wrong and dwell on the past. Sure you need to continuously look at improving things in your business and in your development teams. But you also need to focus on your successes.

Some of our recent accomplishments include:

  • Obtaining Microsoft Gold Partner status for 2009

  • Built a Silverlight application (adds to our WPF and web development skills) including components to make future Silverlight application easier to build.

  • Worked on strengthening our partnership with another synergistic company

  • Converted a Financial Planning Toolkit to .NET Framework 3.5 […]

7 Jan 2009

Agile Development – The Magic Bullet

By |2017-04-03T12:35:10-06:00January 7th, 2009|Categories: Doug's Blog, Software Development|

I recently read a post by James Shore (The Decline and Fall of Agile). It matches what I am seeing and hearing.

In the beginning, agile was considered leading edge. It was practiced by teams of fairly experienced developers and tended to have at least a few top developers on its successful teams. It was succeeding in the right environment.

Then along comes the mainstream.

Become agile and your projects are guaranteed to succeed. No more pesky Waterfall with its up front requirements and engineering. Use Scrum and write code as fast as you can and if the requirements change, […]

8 Oct 2008

Size Matters

By |2017-04-03T12:36:24-06:00October 8th, 2008|Categories: Business Strategy, Doug's Blog, Software Development|

Size matters. But not in the way you would expect.

Traditionally, big organizations would engage big organizations to be their suppliers. They could afford the extra premiums that the larger organizations charge as a burden of their size and overhead cost structures and it was a "safe" thing to do. Today there is nothing "safe" about business and even big organizations need to watch costs… just look at recent headlines.

If you are engaging with a vendor for something like software development, size matters… but bigger is not necessarily better.

Large suppliers have some pretty decent talent in their organizations. It would be […]

28 Aug 2008

Persistence with NHibernate

By |2017-04-04T16:29:44-06:00August 28th, 2008|Categories: Doug's Blog, Software Development|

A while back I wrote a review on persistence ignorance presented by James Kovacs and I thought I would give a quick update of what has happened since then.

Last week we held a Sunwapta Professional Development Day for our developers. The morning covered the theory and the afternoon we broke into two teams and built two aspects of a simple application to reinforce the learning.

Recently we implemented the technology in a real project, a .NET desktop application also using WPF.

Mission (learning and implementing NHibernate in a real project) accomplished and hats off to the team (on taking this first step).

Development […]

21 Aug 2008

Transitioning Between Iterations

By |2017-04-03T12:37:37-06:00August 21st, 2008|Categories: Doug's Blog, Software Development|

I’ve noticed one mistake that is easy to get into with agile project management and that is to not properly close off one iteration and then to seamlessly start the next iteration.

The biggest problems with this are:

  • This gives the illusion that a project is just one giant iteration with work broken into a sequence of steps,
  • There is no sense of completion or accomplishment along the way,
  • Code is left in an unstable state longer and the customer does not see as much value,
  • There is little to no effort going into re-evaluating priorities and involving the customer in decisions,
  • There is little […]