I think it’s essential to understand every aspect of one’s business. To know every area and how all departments work harmoniously is important. In the software business, to understand how the technology works at a granular or line-of-code level is important to me and I have always placed a lot of emphasis on learning the mechanics of how things work. This has a lot of benefits for sure but surprisingly it has some challenges if you’re not open to taking the time to explain the mechanics to key people in your business when you start to grow.
I take for granted a lot of the things I know about coding and again the mechanics of how things work. Additionally, I sometimes get frustrated when a key person starts to probe about how something works and why a product is delayed in terms of rollout timeframe. The lesson I learned this week is that some people really want (and have to) learn your product to be able to sell and understand deliverables. It is just as important for people in your organization to know and feel confident about what they are selling as it is for you to know every little detail about the business. My business will never scale and grow appropriately if I am a gatekeeper and I store the keys in my head. It is imperative to share all my knowledge and to appreciate and respect the thoughts of others.
In conclusion, after much reflection about this topic I am going to try to foster all questions (probing or not) about the business. In fact, I am setting aside some time once a week to educate personnel on products if necessary. I learned a lot this week about this issue and it is important to place yourself in other people’s shoes, as they are not privy to the technical and inner workings of my products and company.
Today I had a software demo with a major client in Miami Dade. As I reflect on how things went I think I could have performed much better. My 2 biggest struggles during the presentation were:
Not communicating effectively – I sometimes sound confusing when delivering an answer on items I either can’t speak to or about. For example, someone asked me how much the software cost for one unit? This should be a straight answer but if you are selling a number of units on a massive scale the cost can vary considerably. I can try to verbalize that (and I did) but it comes across as dodging the question. Instead of moving past my answer, I try to answer his or her question in a different way or from a different angle. This creates more confusion and anxiety for my potential client and I.
Not trying to establish a good relationship – I am currently reading the book (actually listening to it) SPIN Selling by Neil Rackham. Mr. Rackham does a good job breaking out the sales cycle and touches upon how to increase the perceived value of your offering in big sales. He goes on to state that as a product’s price increases the buyer’s emotion on making a decision increases as well. For example, if you need an overhead projector that cost $100, the emotional decision to buy this item is almost irrelevant. The overhead projector fits the bill, is a low cost item and no one will judge you for it. However, if you are buying computers for the whole company the decision to make this purchase is more complex. If the buyer in this example makes the wrong choice with respect to the computer purchase he or she will be exposed, judged or even fired. Therefore, there is a lot more to think about (or feel about it) when there are consequences at stake. This is why a good sales person will try to build a relationship early on to make this person feel comfortable when making a big purchase like the example above.
Today’s post is a short one but I think this is an important topic to think about. At the very least, being aware of these issues in a selling scenario is a good starting point and can help you sell more in your environment. At the end of the day, I really like the idea of building a relationship with a buyer or client regardless of the price tag. Coming across as a sales person just trying to close the deal in my opinion is counter productive. I need to work on establishing these good relationships early on and I will work on that moving forward. 🙂
Having been in the software business now for about 12 years I have learned a thing or two about the industry. Today, I would like to touch upon the difference between 2 models of running a software business, which are: 1) building customized software for clients or 2) operating a Sell as a Service (SaaS) software company. A customized software model is pretty straightforward; it means building software for a client where the application is unique and specific to the business. Conversely, a SaaS model is basically building a product that your company sells to a particular market and this same audience pays a monthly fee to use the product. Both models have their distinct advantages and disadvantages. I have spent years deciding on what is a better business model and what scales a company better. Below I will break down the advantages and disadvantages of both and I will recommend the better option.
CUSTOMIZED SOFTWARE MODEL
Building customized software solutions can be very attractive. There are a couple of advantages, which are:
Revenue – Generally, when you enter into a contract with a client who wants to build something exclusively for the company there is a big price tag associated with the project. We have done work for a large printing company in Miami, FL and the cost of the software and added functionality they want is costly at times because of the complexity and unique nature of their business. Basically, the software is tailored heavily on how they do business and the specific business rules/workflow of that company.
Credibility – If you’ve built a complex enterprise application for a business this may provide a sense of comfort for future potential customers. This can serve as marketing reference too, which can propel your brand and credibility in the industry — if you do a good job of course.
The two advantages listed above are indeed attractive components of running a customized shop but there are more disadvantages with this model in my opinion. These are listed below:
No reusable value – What I mean by this is that you cannot use the solution for another client. The software is so unique and specific to your client that there is no market for it. Therefore, the code base or application has no re-sale value.
More customization – My experience has been that once you build a version 1.0 for a client there will always be more functionality expected. More functionality means even more customization and further down the “customization” rabbit-hole you go.
Difficult to price – I don’t care how long you have been in this industry every new custom project has its own unique functionality that you’ve never addressed before. This may require R & D and some roadblocks before finding a solution. Moreover, determining how much time it will take and how to price that out correctly is very difficult. Trust me, it is!
Risk of termination – This one is big for me. If you are a software firm that builds customized software for a couple of clients then your risk of financial cash-flow may be threatened. For example, if you are a smaller software shop and have 5 big clients and one goes out of business, 20% of your business is now lost. What’s worse is that you now have software that is worthless.
Difficult to grow – Chances are that if you are a software boutique building custom solutions you don’t have that many customers. By “that many” I mean over 10 or so. I mean even at 10 customers with large applications you are a pretty big firm already. Because every new client brings its own challenges and scenarios it’s difficult to grow accordingly. I will say that sometimes the price points are attractive so it may not be such an issue. Still, a SaaS type business can scale and grow a lot faster.
SaaS SOFTWARE MODEL
Building a SaaS business is difficult but has incredible upside if it is received well by your audience or target market. A couple of my recent SaaS favorites are: Intercom and Freshbooks. Some of the main advantages of such a model are:
(Test) Iterate, rinse and repeat– Ah…my favorite of all advantages! Once your product has been properly tested and is ready for live market then it’s a matter of signing up users to use the service. That’s it. You do this over and over again without having to change the code base or application each and every time. In addition, if the system is built correctly, the onboarding process will be automatic and a new user can start using the software immediately.
Sales positioning – Because everyone is on the same platform, this provides the business with great sales positioning. What I mean by this is that you can focus more on selling and not be overwhelmed with new tailor-made request or problem logs from 10 different customers. Instead, you can focus on one product and all development updates are published to the same environment. Again, just to reiterate, this allows the company to be more lean and to shift focus on selling the product over and over again — iterate, rinse and repeat.
Decreased financial risk – With a SaaS model you generally want to sell your product to many users. So take for example that 1,000 users begin to use your product the first month. If there is a %2 churn (attrition) rate or 20 people drop the service at the end of that month you have only lost 2% of your business. There is less financial risk because the collective size of your user community.
Like any business model there are also disadvantages to note:
No usage risk – Because you are building the software for your company there is a risk of your audience not receiving or using the software. Perhaps, the software is missing features or does not work as expected. There is always a risk that the software is problematic and users don’t appreciate the service. This is different than building software for a client because you know you will be paid a certain amount for the project.
There are definitely more granular advantages and disadvantages of each model but this serves as a simple analysis based on my experience. I would certainly recommend a SaaS type software model any day. The upfront labor can be exhaustive and tedious but it’s worth the effort. In my opinion, the better positioned a company is to sell and support an application the better. Then you can really scale and grow the business at a rapid rate. 🙂
Today is billing day, so this means all the invoices that pertain to my business(es) go out to clients. My accounting process is a little sporadic and should be consolidated but as of right now it consists of 2 different accounting systems (Freshbooks and LessAccounting) and a manual process. For 2016, I would like to organize my accounting framework, as accounting can become very messy if not addressed promptly and correctly. My story has to do with my manual accounting process and a payment mix up with one of my clients.
My manual process is to create an invoice as a PDF document and then to send the invoice out as an attachment together with a nice personalized email. In my opinion, this creates a personalized touch and it creates an opportunity to address any issues a client may be facing, etc. As soon as I sent out my email to this one particular client I received a phone call from her stating that there was a problem with payments. She stated to me that they had paid one extra month already and this invoice should be voided. Essentially, she paid for an extra month in error. I keep a pretty tight grip on my books (even though this process is manual) and I abruptly interrupted her to explain my process. A few minutes into immediate response, I suddenly stopped and let her continue on with her explanation. My client communicated to me “X”, “Y” and “Z” reason for the mix up and she recommended I go back and reconcile the accounts to make sure all was correct. After we ended our phone conversation I went back and looked at my books and sure enough she was outstanding one month.
The truth of the matter is that when she started to explain her situation I was initially very frustrated. The key take away with respect to this scenario is to quickly think about how we can make any negative issue into a positive one. From a customer service standpoint if I don’t get paid this month and agree to void this month’s invoice she will be a happy client. Plus, she has been my client now for about 3 years so why not void the invoice regardless? I proceeded to tell my client that this month would be free (mix up or not) and I hope I was able to gain some goodwill. I can tell you she was happy with our discussion and at the end of the day that is the most important thing.
Did I address this issue appropriately? Would you have done the same thing? Please let me know by providing a comment below or emailing me at firstname.lastname@example.org, as I would love to hear how you would have handled this situation.
I have over 10 years of experience in the software business. I am interested in the areas of technology and accounting. I graduated from the University of Notre Dame and hold an MBA from Barry Univerisity.