- Joel Spolsky, founder of Fog Creek software, author of several books and the man behind the joelonsoftware blog
- Seth Godin, Business Week’s “Ultimate Entrepreneur for the Information Age”, is the best-selling author of 7 books (including Permission Marketing and Purple Cow) as well as the most popular eBook of all time.
- Eric Sink, founder of SourceGear, author of “Eric Sink on the Business of Software” and the person who coined the term “Micro ISV”
- Steve Johnson of Pragmatic Marketing and winner of last year’s Software Idol competition
- Richard Stallman launched the development of the GNU operating system, now used on tens of millions of computers today. Stallman has received the ACM Grace Hopper Award, a MacArthur Foundation fellowship, the Electronic Frontier Foundation’s Pioneer award, and the the Takeda Award for Social/Economic Betterment
- Paul Kenny is one of the UK’s top sales trainers, consultants and speakers. He has worked with many customers in three continents, including IBM, Perot Systems, The Guardian and tens of others.
- Dharmesh Shah is a geek, serial entrepreneur, founder of HubSpot and blogger at OnStartups.com
- Jessica Livingston is author of Founders at Work: Stories of Startups’ Early Days and a founder of Y Combinator
- Jason Fried is founder of 37signals (developers of Basecamp and Ruby on Rails) and Signal vs Noise blogger
Business of Software Conference
21 April 2008Entrepreneurialism
29 March 2008What defines an entrepreneur? Wikipedia says, “An entrepreneur is a person who has possession over a new enterprise or venture and assumes full accountability for the inherent risks and the outcome.”
Technically, this is true, but its also meaningless. I think that a true entrepreneur is someone who is able to see a pain that is shared by a lot of people, then identify and deliver a solution to that pain. Entrepreneurs are motivated by creating value and serving people.
Most companies start off being entrepreneurial, but plenty gradually become the opposite – exploitational. Exploitational businesses (and people) are interested in their own gain above their customers. They are looking to make money without necessarily creating value and without serving people.
I’ve seen some companies where the culture was exploitational (and culture always comes from the top) and this came through in every facet; the way staff were treated, the way sales were made, the way priorities were set, the way customers and suppliers were treated. No value was created – it was only taken.
Xero is a good example of a company that is led by an entrepreneur and has a culture of entrepreneurialism. Everyone at Xero, whether they’re building the software, selling it or providing service (or most likely all three) are all entrepreneurs in the sense that we’re motivated to find, solve and deliver solutions to the pain that small businesses and small business owners experience today.
We know that we can’t create value for our customers and shareholders until we deliver innovative software and exceptional service and actually resolve that pain. Its a pleasure to be part of a team that is so motivated by creating value for the ~25% of the work force whose life revolves around their business.
BTW: Xero are currently hiring.
What are you building?
5 March 2008Another interesting point from Mary Poppendieck’s talk on the role of leadership in software development is about identifying what motivates your team.

The question Mary asks is,
When a team member is annoyed by their job, do they:
- Complain (I’m cutting stones – I just want to do my job)
- Ignore it (I’m earning a living – I just want to go home to my family)
- Fix it (I’m building a cathedral – I’m passionate about the vision of the company)
Its obvious what kind of person you want in your team and this question highlights the motivation and attitude of individuals, but it also reflects a lot on the leadership of the team … since it is a leaders #1 job to impart the vision. Leaders also need to move responsibility and decision-making to the lowest possible level to empower people to have a ‘fix it’ attitude.
Software development standards
5 March 2008I just got around to watching a 90 min presentation by Mary Poppendieck on the role of leadership in software development.
Mary talks a lot about lean manufacturing, using Toyota as an example and relates this to software development. Its well worth a listen. Next on my must read list is The Goal by Eli Goldratt, a book I’ve been meaning to read for a while now.
One of Mary’s comments was about establishing work standards and procedures and how these should be written based on how the job is done today and then improved consistently. “The purpose of standards is to provide a baseline for the team to change.” Mary quotes Taiichi Ohno from Toyota:
“Years ago, I made them hang the standard work documents on the shop floor. After a year I said to a team leader, ‘The color of the paper has changed, which means you have been doing it the same way, so you have been a salary thief for the last year.’ I said ‘What do you come to work to do each day? If you are observing every day you ought to be finding things you don’t like, and rewriting the standard immediately. Even if the document hanging there is from last month, this is wrong.’
I like this, because it emphasizes that procedures exist to achieve better results and are never written in stone, but are constantly changed (ie broken!) in the name of higher efficiency and bigger goals.
Orbits, not projects
26 February 2008Grant Margison from Information Leadership spoke at a Microsoft Architect session this month in Wellington and made a really good point.
Building software is not about projects that end with deployment, but is about getting new features into orbit.
In other words, the goal is not to deploy, but to add value for users.
This is what ‘release early, release often’ is about. Its not until a feature is deployed and in use that the lifecycle of usage -> improved usability -> improved usefulness -> higher usage -> … begins.
Fair price vs market price for software development
17 February 2008I’m a big fan of fair valuation and pricing software development is a good example of why.
Its easy for small fixed price software projects to turn into lose-lose situations, usually because they are too cheap. The customer gets what they paid for and the developer starts to lose money fast as the project drags on. The customer expects a perfectly working system for the agreed price and the developer either carries on losing money (but doing a poorer job) or calls it scope creep and delivers an incomplete project.
Software projects are hard to estimate and therefore price, but often this makes no difference to the price of the project. The problem is often that a market valuation of the project is used, instead of a fair valuation.
The market price is what the customer is prepared to pay and what the developers are prepared to deliver for, but it can be well under (or above sometimes) the fair price and can have nothing to do with the project being under-spec’ed or under-estimated.
The fair price of a project means charging a fair and profitable amount for the work to be done/delivered. Estimating the development required for a project is easy compared to estimating the other work to be done, but for delivering a simple software project, a good rule of thumb is that the project will be 3 times the size of the development work.
The market price of a project can be significantly lower than the fair price for a few reasons:
- The fair price makes the project un-viable, so the customer’s cost/benefit dictates the price they are willing to pay
- The customer has limited cash or budget and the developer wants the work
- Competition are prepared to deliver the project for lower than the fair price
Unfortunately, you can’t just quote the fair price, because if this is significantly above the market price, then you’ll lose the project.
One way to bridge the difference between market and fair price is to find a pricing model that fits the project. Software is very rarely a single deliverable, so the pricing shouldn’t be either. Once you know the fair price, you need to communicate this to the customer, so they understand the full scope of the project before they enter it. Then, you need to understand what the market value is (from the customer’s perspective is best) and structure the project so that the cost/benefit stacks up for the customer after every deliverable.
Angel investors
27 January 2008Another good quote from Paul Graham is regarding angel investors:
I’ve experienced two types of angel investors – someone who believes in you or is passionate about your product and the professional angel investors. From my experience, the former are much preferable, but you’ll probably get more money and more rounds of investment from the later.
Professional Angel investors are taking high risks by investing in startup companies, so expect high returns. One formula that I’ve seen is that they expect 1/10 to succeed, and they are looking for a 3x return on their money over 3 years. They have to treat each investment as if its the one that will succeed, so they expect a 30 x return on each investment.
Its no wonder that they often negotiate so hard … especially when they know the founders are desperate.
Rod has some useful info about Angel Investors.
Build what users want
26 January 2008Jessica Livingston has interviewed a number of successful entrepreneurs in her book ‘Founders at work‘. One of the interviews is with Paul Graham, founder of Viaweb, one of the first SaaS providers who made it big.
Paul makes some good comments about software startups, the first of which is:
“If you make something users want, they will be happy, and you can translate that happiness into money. That is the basis of a startup. A startup is a company that builds some kind of technology that people want. The mistake that a lot of founders make is to build something they think users want, but that users don’t actually want.”
There’s often a big gap between what users ask for and what they want and if you’re building what your users are asking for, then you’re still playing catch-up with your competition. Most successful software stories have pre-empted what users want and have led the way by innovating in their field.
Most of my favorite software takes me beyond what I can already do and gives me higher productivity/enjoyment/success. I rely on experts to lead me in their field, so I can focus on becoming/being an expert in my field. I don’t want software to give me what I ask for, because then I either have to pretend to be an expert at everything, or I just won’t grow my capabilities because I’ll ask for what I’m familiar with.
Innovating in your field of expertise is leading users to higher productivity, enjoyment and success and in turn, letting them focus on what they do best.
Now’s a good time …
22 January 2008… to upgrade your small business accounting system to Xero.
Xero have just released their 19th update within the last 12 months and its only getting better and better.
To make it even easier, Xero will also get you up and running from your existing accounting system for $NZ199, so now’s a perfect time to get setup in time for the new financial year.
Shameless Xero advertising follows …

Classic Mistakes
10 January 2008Steve McConnell has released the results of his classic mistakes survey – an update on the original 36 classic software development mistakes that he published in 1996.
You can read the white paper and presentation here. According to the survey, the top mistakes commonly made in software development are (ordered by frequency and severity):
- Unrealistic expectations
- Overly optimistic schedules
- Shortchanged quality assurance
- Wishful thinking
- Confusing estimates with targets
- Excessive multi-tasking
- Feature creep
- Noisy, crowded offices
- Abandoning planning under pressure
- Insufficient risk management
Its interesting to note that none of these top 10 mistakes are caused by technology. Assuming you’ve got good people, then a lot of these mistakes arise from either working under too much pressure, or not enough pressure. The trick is to find the right balance of stress so everyone is working on challenging problems, not crappy problems.
Parallels vs VMWare
24 December 2007For the last couple of weeks I’ve been comparing Parallels with VMWare Fusion on my Macbook to see which gives a better experience running Visual Studio. Fusion was winning, until Parallels released build 5582.
My comments:
- Both have similar startup/compile/shutdown performance (running 32 bit Windows XP)
- Both install and run cleanly over my Bootcamp installation
- Swapping between VMWare and Parallels requires Windows to be re-activated every time due to changes in hardware drivers
- Both handle sleep/wake in OSX nicely
- Under Parallels, Windows XP wouldn’t shut down properly, but this was fixed in build 5582
- Parallel’s ‘Coherence’ mode integrates with Leopard more cleanly than Fusion’s ‘Unity’ mode
- The defaults in Parallels are better – it maps my Mac partition as z drive by default and enables all USB devices by default
When running Windows XP on my Bootcamp partition, they are very equal. They both also provide full migration from a Windows PC and from each other. Overall, I favor Parallels – not for performance reasons, but for its cleaner integration of devices and visually within Leopard, although this could all change with one more VMWare release.
OmniFocus 10/10
8 December 2007OmniFocus is a Mac application for tracking to-do lists. Quite a basic concept that Outlook and every mobile device has been doing for years, but I’ve tried every task management system I can get my hands on, including various ABC-123 systems, and I always seem to end up with lists so large that they become useless and I return to the good-old daily list on paper.
OmniFocus is different because it follows the ‘Getting things done‘ methodology of dealing with tasks. Control-Option-Space opens the ‘new task’ window and adds a task to your task inbox.
Dealing with tasks in your inbox is easy – if you can do it today, then do it and mark it as complete. Otherwise, drag-and-drop it onto a project and/or assign a context. The context could be home/office/phonecall/lunchtime etc.
The task list can be viewed by project, group of projects, context, due date etc. Very simple, yet the three dimensions of inbox/project/context provide enough power to manage an ever-growing list of tasks and to actually get stuff done.
OmniFocus is 10/10 because its to-the-point and simple yet much more powerful than a one dimensional to-do list. Also – until Jan-8 its half price at $US 40.
There’s no going back
28 November 2007Its been two weeks since I moved to the dark side and upgraded my Toshiba laptop to a Macbook and I wish I’d done it sooner! In two weeks I’ve gone from complete Mac novice to Mac evangelist … here’s my highlights for all of you wondering if you can live without windows:
- I’ve used XP for 5 years and the switch from XP to Leopard was much easier than the switch from XP to Vista.
- Windows apps run seamlessly in Leopard (using Parallels running XP) and Visual Studio runs faster and compiles faster than on my desktop. You can launch windows apps from the dockbar, or have the windows taskbar visible.
- The best feature is the instant on / instant off just by opening/shutting the lid. No waiting for 5 mins while it hibernates and wakes up.
- I have a whole new appreciation for software. I’ve always preferred installed software over web apps, but after using Apple & other Mac software – I’m even more sold on installed software. Web apps won’t be as powerful/graceful/fast/loaded with features yet easy to learn and use for years (if ever).
- Time machine is amazing. No more waiting for backups and no more pain of restoring.
- Omni focus is great – I can finally throw away paper to-do lists (www.omnigroup.com).
- When building windows software, you typically follow Microsoft’s lead and copy the latest version of Outlook. Mac software vendors copy Apple software and therefore everyone’s building beautiful software for the Mac. Even the mac version of Skype is nicer!
- One of the coolest features is that the headphone jack is also an optical audio output, allowing me to play digital audio (& video via DVI) to my AV receiver.
- What’s you favorite Mac feature that I need to try?
There’s definitely no going back. You need a Macbook.
Are dynamic languages the next best thing?
31 October 2007We had a preview of Ivan’s talk this morning comparing the up-and-coming IronRuby dynamic language in .NET with C# 3.5.
My first impressions of Ruby on Rails and IronRuby are that they give you fast results now, but at the cost of maintainability later (since everything’s a tradeoff). But, maybe maintainability doesn’t matter so much, because its faster to just re-write it.
In C# & Java, I like the fact that an interface is a contract and the implementation is abstracted away from caller. Dynamic languages lose this explicit interface-driven-design in favour of a test-driven-design.
At the end of the day, its what gets better results for less effort that matters so it will be interesting to watch if dynamic languages can improve project success rates and deliver cheaper and better quality software.
Are dynamic languages the next best thing? Ivan definately thinks so and will be writing more about IronRuby on his blog.
Foxmarks
25 October 2007I recently installed foxmarks – a bookmark synchroniser for firefox and I like it. I don’t use bookmarks a lot (except for the bookmarks toolbar) but now I can bookmark a page instead of emailing myself the link between work/home/laptop.
I wasn’t looking for firefox plugins – and I’m sure there are other plugins that do this too, but I came across this company foxmarks, and was quite impressed by the bio’s of the two founders: Mitch Kapor and Todd Agulnick. I also liked their simple mission statement:
At Foxmarks, we’re turning web search upside down. Creating a better way to search that is community inspired and people powered. Getting you to the content you really want – faster and easier.
Our first product – Foxmarks Bookmark Synchronizer – is just the start. Stay tuned for more. And more. And more.
Is estimating a waste of time?
22 October 2007I’ve talked a bit about estimating software projects and products and the difference between business goals, estimates and committments. David and Amit have some interesting comments on why estimating is a waste of time and they make some good points.
- If you’re in a short development cycle, then does spending 5-20% of your time making estimates add any value?
- Do estimates ever change reality?
- Do they provide a release date with any more certaintity?
- Assuming that you’re not going to sacrifice quality, then there are really only two factors to control: dropping features or pushing the release date.
- All effort should be focused on delivering quality software in the most efficient way possible.
I think there is value in estimating, but there are two big problems.
The first is that estimates often only take into account the complexity of the task – not environmental factors such as skill/experience levels, available knowledge and other project/people dependencies. The second problem is that estimates often don’t take into account, or are prejudiced by, political and motivational factors.
A different approach is to use story points, which don’t try to estimate any factor other than complexity. Story points assign a complexity rating to a feature that is meaningless except in relation to other features. Then, instead of estimating time by looking forward, we can estimate time by looking back at how long other features took and comparing story points.
Story points aren’t a new concept by any means – but they are interesting because they place a good amount of value on estimates. Release dates and feature priority/impact is driven from the business goals and strategy, not from the project plan. Points are used to plan the start dates of features in order to meet the release goals.
Micro ISVs are building desktop software
16 September 2007This survey, done by Neil at Business of Software, shows that 75% of Micro ISVs are building desktop software, with an even split between business and consumer. Why? Because that’s where the money is.
Does this mean that there’s plenty of opportunity for Micro ISV’s to start offering niche value-add SaaS, or does it mean that SaaS/v isn’t viable or isn’t in demand yet?
Eric Sink on the Business of Software
11 September 2007Here’s another excellent read. For a limited time, you can download Eric Sink’s ‘Business of Software’ eBook for free from:
http://www.businessofsoftware.org/ebook.aspx
It includes a lot of the articles that Eric has published on his business of software site, including:
- Entrepreneurship
- Finance
- Micro ISVs
- People
- Hiring
- Marketing
- Sales
- Pricing
SaaS for commoditization
6 September 2007Ben has two classifications of SaaS – SaaS/s and SaaS/v, differentiating offerings by those that (s)ubstitute existing software and those that add (v)alue. The SaaS/v classification makes sense, but SaaS/s seems to be based on the comparison with existing software, not on the characteristics/model of the SaaS offering itself and how it compares with other SaaS offerings. Maybe better classifications would be SaaS/c and SaaS/v?
SaaS for commoditization:
- Drivers are quality, cost and service
- Audience is mass market (long tail)
- Indirect sales needed to keep price competitive
- Not necessarily a commodity yet, but being commoditized through innovation in improved delivery and optimizing established features
SaaS for value-add:
- Drivers are added value, integration, collaboration
- Market is niche
- Direct sales needed to educate market, so must be priced accordingly
- Innovation is in new markets and new products
Typically low cost SaaS will commoditize a product so that high value add-ons can be sold on the low cost platform, but SaaS/v shouldn’t be low cost because its not a sustainable business model. Unless of course the business model is buy a customer base and then be acquired.
Being a software architect is not illegal
3 September 2007Several people have told me recently that it’s illegal (in New Zealand) to call yourself a software architect, so I decided to check and yes, there is a law in New Zealand (the Registered Architects Act 2005) which protects the titles ‘Architect’ and ‘Registered Architect’.
But … Chris from the NZIA pointed out to me that this protection only applies to the provision of “building design” services. Other industries can use the term architect as long as its qualified – ie Software Architect, System Architect, Business Architect.
And even though “real” architects say that we’re just software designers, software architecture also “involves everything that influences the way in which the built environment is planned, designed, made, used and maintained.” – right from the big picture, to the smallest detail.
Posted by Andrew 
