Technical Debt

When developing software, there are several times at which you can choose among quick&ugly hack, which will incur higher maintenance headaches in the future, and slow&clean design. Usually, the slow&clean design is the way to go. But life is complicated and has a way to contrive an exception for each rule. Therefore, one should know how to manage the consequences of quick&ugly hacks.

This is the subject of technical debt, written about by people like Steve McConnell.

Roughly, you incur technical debt whenever you make a design or implementation decision which will require future rework or higher maintenance workload. The decision could be also something trivial such as not bothering to invest in documenting your present design, causing the future maintainer to waste time learning your design before modifying it.

Technical debt is written off when the software package in question is taken out of use due to replacement by a newer software package, the application area becoming irrelevant, or the company going bankrupt.


The Financial Services Marketing Handbook

Authors: Evelyn Ehrlich, Ph.D., and Duke Fanelli.

English edition originally published by Bloomberg Press (2004), ISBN-10: 1576601560.

The book was translated into Hebrew by Esti Vachtel, and the Hebrew edition was published by Triwaks Enterprises/Matar Publishing House at 2006. The Hebrew translation is excellent.

The target audience for the book are financial service providers. Their point of view is also the one expoused in the book. The book does not teach them how to cheat their customers, but it hints at the annoyance of legislation limiting telemarketing and spam E-mail.

The original reason for my reading the book was to learn how we are being cheated by financial service providers. However, the book turned out to be unsuitable for this purpose.

The book provides good introduction to marketing in general, dividing it into the following sub-topics:

  • Market segmentation
  • Positioning and branding
  • Marketing plan
  • Advertising
  • Public Relations (PR)
  • Sponsorship
  • Direct Marketing – direct mailing, telemarketing
  • Internet
  • Personal Marketing – cooperation between marketing and sales
  • Exhibitions and Seminars
  • Customer Conservation (Customer-focused marketing)

According to the book, marketing of financial services differs from marketing of other products or services in the following ways:

  1. Financial services are not products, as usually defined. Products are something, which can be branded and guaranteed to be identical for all customers. However, financial services are tailored for each customer separately. Financial services are also not services, as usually defined: each customer has different experience, according to the banker or broker serving him.
  2. Financial services are often “sold” not by the provider’s employees but by independent sales agents, such as insurance agent, pension fund consultant, or personal finance consultant. Therefore, marketers of financial services need to sell their service to both the customer and to the sales agent.
  3. Financial services need to be sold as both product and service. There was an example of a credit card, which was sold without good post-sale service, so customers cancelled it en masse.
  4. As a product: it is possible to separate production of a financial service from its consumption. It is not a perishable product. It is amenable to mass production.
  5. As a service: it is possible to launch it with low initial expenditure. One can enter market quickly. On the other hand, it is impossible to have exclusivity (no intellectual property right protection).
  6. Money has heavy psychological luggage.
  7. This economic sector is very regulated!

The book ends with an appendix, which illustrates how four financial service agents succeed by applying the principles expoused by the book to their specific circumstances.

A Proven Free Software Business Model

Companies like MySQL, RedHat and Zend (trademarks belong to their owners) make a lot of money from Free Software. This indicates that they have a Free Software business model, which really works. This is interesting, because when people discuss Free Software business models, usually there is a lot of handwaving. There are assertions, which are left unsubstantiated. However, the above companies found a business model, which really works. This business model goes as follows.

  1. If you are hobbyist and make no money from our software, then our software is free for you.
  2. If you make little money from our software, then our software is free for you, too.
  3. If you make a lot of money from our software, then you pay for using our software.

The above model works, when it works, due to the following reasoning.

  1. If you do not make money from our software, then you do not have the money to pay us anyway. If we demand money from you, you just stop using our software and switch to another hobby, in which our software is not needed. We prefer that you use our software, even if we get no money from you, due to the same reason Microsoft tolerated software piracy as a means for conquering a market for their software. We want you to find more uses for our software. We want you to debug it. We want you to contribute improvements to our software. On the other hand, you cannot make more money by having our software optimized for your environment, so you do not need support from us.
  2. If you make little money from using our software, then we would like to have a cut from your profits, as well. However, we cannot justify the costs involved in collecting from you. For this, we need to sign contracts, install licensing infrastructure, enforce licenses, incur badwill, and even support you if our licensing mechanism causes you problems. Therefore we would not collect money from you. However, we win from your using our software due to the same reasons as we would win from people who make no profit from using our software. There is also the chance that one day you will become a big business; or even come to make our software a critical part of your business infrastructure. Then the following applies.
  3. If you make a lot of money from using our software, then you have an interest in having the software work all the time. You want any bugs to be fixed promptly. You want support in optimizing the software. You can afford to pay us a lot of money, because the software makes and saves you much more money when it works and when it works with you in a smooth way. Therefore you would sign a support contract with us. Since big money is on stake, we can afford the transaction costs involved with collecting the money. If your optimizations and customizations are your trade secret, we license our software to you using a proprietary license.

A consequence from the above thinking is that not every software package can take advantage of this business model. For this, the software package must have the following attributes:

  • Be useful for both private individuals, small businesses and big businesses.
  • Be “tinkerable” i.e. facilitate development of enhancements and add-ons by individuals with bright ideas.
  • Be such that optimizations and adaptations to meet special needs would yield significant profits or savings in the right place.
  • Be critical to the functioning of some of the big businesses, which use it.

Typically, such software is dual-licensed, usually under the GPL and a proprietary license.

Hasamba-style Questions about Windows Vista Sales

It was publicized that Microsoft sold 40 million licenses of its Windows Vista OS. The question is if this is for real or not?

For real:

  • Microsoft’s revenues during Q1 2007 were reported to be much higher than in previous quarters.

But more than 10% of those revenues are deferred income from the Software Assurance program, which is being recognized now.

Reasons to doubt whether those numbers mean much:

  • The already publicized reason – it is not known whether those licenses represent PCs and laptops already sold to the public, or still in warehouses.
  • How many developers received licenses as part of their MSDN subscriptions?
  • How many licenses were disbursed at no extra cost to those, who paid for Software Assurance during the last few years?

And I still do not mention the question how many people tried Windows Vista and then switched back to Windows XP. In those cases, Microsoft already got the money for the Vista license, and the customer got several more gigabytes, with which to fill his bookshelf.

Some people slow down when they have the ball

As someone who is interested in side businesses, I have a pet peeve in the form of certain businesspeople wannabes.

There is a guy, whom we’ll call N. We have been in contact for few months. N wants to develop a line of specialty products (exact details are confidential information). He asked for my help with some things, such as looking for people to work with him.

I know someone, who manufactures special soaps, and who could help N. I told N to contact the specialty soap manufacturer.

Yesterday evening I met N and we reviewed progress since our last meeting. I told him that I talked with two people who need extra income. However they are not salespeople types, so they prefer not to work with him. I asked him if he contacted the special soap manufacturer.

A mistake.

N told me that he did not progress because of the holidays. After the holidays ended, he needed a week to recover from the pressures of the holidays. Besides, his computer is now out of order (as typical of MS-Windows XP driven computers nowadays). All kinds of excuses.

Then he asked, nagged and begged me to recall if I know other people who could work with him.

I saw that he is the type who is very fast and efficient when the ball is entrusted upon someone else. But once he has the ball and depends upon no one else to make a progress in realizing his plans, he does not run with the ball. On the other hand, he has all kinds of excuses to stall and wait and waste time – INSTEAD OF RUNNING LIKE HELL WITH THE BALL!

I know more people like N. They run circles around other people when not burdened with the ball. But once you do your part and pass the ball to them to continue to work on your joint business idea, they stall and delay and procrastinate.

Now, I have to write off, as irrecoverable loss, the time spent discussing ideas and operations with him.

Purchasing an external DVD burner

It was time to upgrade my backup capabilities by adding an external DVD burner to the computer hardware which I have.

Following the agonizing procedure of selecting a model to buy, I went to the usual price comparing Web site serving the Israeli consumer market and eventually chose a certain model of USB based DVD burner. I also read reviews and asked on the Linux-IL mailing list to make sure that it is Linux compatible and that no surprises are expected. Google was less useful than expected – when looking for technical information about models of USB based DVD burners, I was greeted by lists of price comparison Web sites from around the world.

The price range for that model was quoted as 388 to 688 NIS. I am relatively busy this time, so I decided to look for place to buy based upon geography and logistics (i.e. no need to go to the post office to pick it up) rather than upon price.

I work in northern part of Yavne, and one of the shops was listed as having a branch at southern part of Yavne. One evening I drove from work to the shop’s area. Driving around in a topological circle bent out of shape yielded no sighting of the shop.

Oh well.

I drove back home and on the way there was a branch of Office Depot. On impulse I decided to enter it and see what they have for external DVD burners.

Incredibly, Office Depot, which was not listed at all in the aforementioned price comparing Web site, had exactly the model which I wanted – for 389 NIS, including VAT! The time was about 20:30 in the evening when I paid and departed with the prize, after having been in the shop for about 15 minutes.

The whole experience causes me to doubt the utility of those price comparison Web sites.

P.S.: to operate the DVD burner with my Linux-powered computers (one with Debian Sarge and the other – with Debian Etch), I needed only to install the dvd+rw-tools package in one of the computers (the other one already had it installed) and read the package’s user’s manual. Otherwise, the burner worked out of the box.

Budget cuts drive out the best people

After the end of this round of the Second Lebanon War, the Israeli newspapers are full of revelations and protests about the foul-ups in IDF. There are even calls for the current leaders to go home (but who can replace them in the helm?).

During the last few years, the defense budget was cut several times. There are several important programs, which were delayed or canceled due to the budgetary cuts. I “wonder” why the Arabs considered those cuts to be signs of weakness, rather than as indication of wishing to have peace. Those budgetary cuts were very popular among those, who wanted to emphasize economic development, social welfare and education. And if our neighbors were really peace lovers, they would have been right.

My conclusion from juxtaposition of the above two facts (and from another observation of the consequences of budget de-prioritization and cutting in other places) – is that if you cut the budget of an operation, the operation loses not only what it could do with the missing budget. This loss is a calculated risk, because you figure out that the money had better be spent somewhere else than on this operation.

However, the operation loses also its best people. The top people like to work on challenging problems, on pushing forward the envelope, on overcoming challenges. They do not like to struggle to solve problems caused solely due to budget cuts. This kind of drudgery drives them out.

Then few years later, it is found that the operation has deteriorated and no longer delivers a value for the money still budgeted for it.

Moral: managers need a better way to divert funds to other operations.

Maybe David Ben-Gurion had after all the right idea when he decreed that IDF, as the people’s army, do also various civilian projects, such as building settlements (NAHA”L), sending soldiers to educate illiterate people, and the like. This was a way to have the smart people in IDF continue to do challenging projects, and not feel the pain of budget cuts – yet to cut budgets to operations, which were no longer as essential as they were, once the War of Independence was over.

Another example – the practice of well-managed Hi-Tech companies not to lay off employees when business becomes slow. They transfer those employees to other projects, whose future is better.

How to create a Silicon Valley

Paul Graham, in his How to Be Silicon Valley essay (also discussed in Slashdot), mentions that a Silicon Valley requires that two types of people – nerds and rich people – live in the same city.

I noticed lack of mention of the Israeli experience in the discussions following the essay. The Israeli experience appears to confirm Graham’s thesis. The relevant areas in Israel (Jerusalem, Gush Dan and Haifa) are separated from each other by at most 1-2 hour long driving. They have several academic institutions, which have strong computer science and biotech departments (Weizmann Institute of Science, Technion, Hebrew University, Tel Aviv University, and more). There is another factor – military service in Hi Tech units of the army, which allows teams of people, who trust each other, to form. After end of their army service, those teams go on and build startups.

Israelis are also born entrepreneurs and risk takers. People who “made it” support new startups, like in the Silicon Valley.

Several years ago, this was not the situation in Israel. But several Israelis left for the Silicon Valley, and some of them were successful there. Some of the successful ones brought back to Israel their experience. Some culture was transferred also by Silicon Valley companies, which opened R&D centers in Israel (for example, Intel). Over time, attitudes and policies were adjusted to make the Israeli version of Silicon Valley possible.

Another country, which was successful in attracting High Technology, is Ireland. It was not discussed either, and I do not know how much cultural adaptation they made to the demands of Hi Tech startups.

I smelled a fiddle

Few weeks ago I was informed about few software development openings in a startup. I figured that it may be good idea to work for a while for a startup, to peer with strong software developers, to pick up again the last word in the practice of managing software development projects, after few years of having been alone at top of the software development part of another organization.

I contacted the source of the information about the openings. Few questions and answers were exchanged by E-mail.
Then a week elapsed without further progress.
I E-mailed him again, asking what is the status, if they already found people to fill the openings.
He apologized for not having the time to forward my information to the appropriate manager. After I sent him link to my resume, he promptly forwarded it to the manager. During the next few days, I and the manager grilled each other by E-mail.

After having been satisfied with the answers, we set up a date for face to face interview.

One day before the interview, he asked to postpone it by one and half weeks because he has to fly abroad for a week, few hours after the scheduled interview time.

Here I had strong smell of a fiddle, because there was already one-week delay.
I pointed out the delays.
The bottom line is that no interview is currently planned.

I am not sure I made the right decision.

On one hand, their Web site has the look of a small organization, which is too hectic and busy to ensure that the Web site is up-to-date and all external links are working.
They are also at a very busy and disruptive stage of operations – development, capital raising, expanding.
Especially capital raising could lead to unpredictable changes in managers’ scheduling.
I am used to few days’ time constants in hiring decisions (time from initial contact until decision after interviews), and I do not how many startups are comfortable with longer time constants.

On the other hand, interviewing and recruiting is high priority in a busy and expanding startup. The delays were before interview, not between interview and making offer (which could be delayed due to delay in funding or to interviewing more people to round out the team).
I also have my own circumstances (deafness and older age), which may make me less desirable as an addition to a team in a startup, yet managers may prefer to remain politically correct and fiddle away the opportunity to have me in the team.