Home > Articles > Nine Business Lessons of 2009

Nine Business Lessons of 2009

Wednesday, January 06, 2010By Steven Talcott Smith2 Comments

The New Year is an excellent time to review the lessons learned over the previous year and consider how best to apply them in the future. 2009 was Talcott Systems’ second full year of consulting in Ruby on Rails development and mobile applications and we learned a lot. Among the lessons:

1) Pay regular attention to sales

Plan sales and marketing time on a regular and frequent basis.

When a big project comes through and takes over a developer’s time, it is easy to put off sales and marketing activities that lead to a steady flow of work. This activity is critical. By spending time every week on sales and marketing, the “slow periods” may be avoided.

2) Watch contingent payments

Avoid signing agreements where payment is contingent on an intermediary party getting paid first. Read all contingencies carefully in third party (as in a placement company) agreements. Avoid becoming a pawn in billing disputes between companies that may have nothing to do with the work performed.

3) Be careful with distributed development

Be careful with projects where the client also has a remote or offshore team. Only competent management and a good process can prevent the pitfalls that arise from different compensation, work styles, schedules and cultures. Responsibility without authority is a recipe for unhappiness.

4) Credit … forget it.

Do not carry large receivable balances if at all possible.

Making collections on accounts past due is a huge distraction and stress. Arrange for significant deposits to get started, and schedule intermediate payments on larger projects to protect your downside and cash position at all times.

5) Maximize software development with Pair-Programming in the office.

The most productive software development occurs with sub-contractors (or employees) working in pairs in an office environment. Even experienced and conscientious developers or freelancers make mistakes. Pairing largely eliminates this problem, as each member of the programming pair constantly reviews the partner’s work. Performing all work in the office makes it easier to keep an eye on things and allows developers to more easily ask for guidance from the client or client proxy during important decision points. The result is a better product.

6) Guard the margin

Do not underestimate the cost of doing business. There are many unanticipated costs.

For example, in 2009 we suffered a break-in and theft in our technology startup incubator office complex. We lost two brand new iMac pair workstations – these represented most of the accumulated profit of an entire quarter of hard work. Insurance, legal expenses, rent, taxes and accounting fees run into the thousands and are almost always more than expected. The time-cost in handling it all creates a substantial overhead - even when working in an unregulated industry and taking care to keep expenses low.

7) Work on your own products

Pay regular attention to passive-income-generating projects.

A dollar of passive income may be worth as much as six dollars or more earned through labor. Products that bring in subscription revenue or unit sales require regular attention and cultivation, even if earnings may be small at the moment. When client work is heavy, it is easy to put this on the “back burner.” Self-developed products may help cover your expenses in down periods and may provide your ultimate financial “freedom.”

8) Get it in writing

It is easy in the heat of development for conversations to be remembered differently and for expectations to wander during the course of a project. The final written contract and statement of work (SOW) is what counts. Adjustments should be written and signed. Agile contracts potentially including non-binding estimates allow for the greatest flexibility.

9) Plan Your Work and Work Your Plan

The old saying “Plan Your Work and Work Your Plan” applies to us. Work backwards from annual and quarterly goals to determine what must be done this month, this week, & today.

I hope these lessons we learned on the business side of software development are useful to other independent developers. They should also help potential clients seeking to understand how we do business.

Digg this! Add to del.icio.us! Reddit!

2 Comments

kapil bhatia said:

great tips,steven. thanks for posting.

Brad Howe said:

Hi Steve – I’m very late to the party on this. The pace of the MA to FL communte 2x/wk leaves little time for casual reading. But I liked your lessons learned, even as I can see that some of them (all of them?) were painful. Glad to read, however, that things are looking up for you. My software client (HealthCare 2.0) is targeting growth to $3.0MM from $1.95MM in 2009, and they’re off to a great start. Hopefully you are too. Keep in touch. Best to your mom. Brad

Post a comment


(required, but not displayed)

(optional)



(required)