1. Play-By-Play: The Problem

    May 8, 2010 by Craig

    Pretty much all software is intended to solve a problem of some sort. The “problem” simply be “I want to be entertained”, but for “business” software it’s usually more specific. Ideally it’s tied to a profit-generating function. You’ll sometimes hear them referred to as “pain points”, “challenges”, “requirements”, or “opportunities”; they’re all really the same thing.

    A few weeks ago I was approached by one of my wife’s friends. She’s opening a bakery here in Calgary and asked if I would be interested in creating some software for her. We met, discussed her needs, and I got a bit of understanding about her industry. From this I derived the major problem that I’ll focus on for the first round of development:

    To be successful, low-volume / boutique bakers need to keep good control of their materials costs. However, it is difficult for them to do so, and so many do not.

    This manifests itself in two ways:

    1. Recipes are written to produce X number of finished units for Y ingredients. The bakery will require X*Z finished units per day, and so much put in Y*Z ingredients. However, if Z is not the values 2, 4, or 10, then calculating X*Z and Y*Z becomes relatively difficult and cumbersome. (The situation is made worse if you’re using non-metric units of measurement.) Instead, many bakers simply round up to the nearest easily-calculable value of Z, resulting in a lot of waste and expense.
    2. To determine the per-unit cost of a product, you need to take:

      • The price of one purchasable container of each of your ingredients,
      • Divide that by the number of measured units in the container
      • Multiply that by the amount of ingredient in the recipe
      • Adjust (add) for waste and other miscellaneous uses
      • Repeat the above for every ingredient in the recipe
      • Sum the results for each ingredient together
      • Divide by the number of units in the recipe

      Repeat this process for every product sold (or potentially sold) in the business. Again, all this hoop-jumping means that bakers tend to not do this, and thus do not understand the costs of their products. Without knowing costs, you can’t know margin, profitability, efficiency, value, and opportunity.

    Basically, the problem is one of mental math. Humans suck at it. Worse, they are often afraid of it, and so will go to lengths to avoid it. On the other hand, it’s basically the only thing that computers do, and they do it faster, cheaper, and more accurately than a human ever can.

    This problem is well-suited to a technical solution: not only does it bridge a gap in human capability, but it’s one that’s extremely easy to build. (I basically just outlined the algorithm above). That means that it can be done without too much up-front investment in time and money. That’s important for determining whether it will make a viable business.


  2. Play-By-Play: Building an Application

    May 6, 2010 by Craig

    In addition to my “day job” as a software development consultant, I’m also evolving into a software entrepreneur. I want to sell products and not just my time. Over the past few years I’ve seen a lot of people accomplish the same dream (most famously the inspiring guys at 37signals). I’m going to try my hand at the same.

    In concert with this, I’m going to document my development process, tasks, and ideas. I’m doing this for several reasons:

    • To potentially inspire and instruct others to do likewise.
    • To perhaps get some feedback from the development community.
    • To document my processes for my own reference, benefit, and reflection.
    • To build my cred by illustrating my thoughts and capabilities. (Better to show than simply to claim.)

    I hope to go into a fair amount of detail — hence the “Play-By-Play” tag and title I’ll be applying to each of my posts. Please comment freely and enjoy!


  3. What Makes a Successful IT Team Leader?

    November 10, 2009 by Craig

    I was just asked to give my top 5 qualities that I’d like to see in an IT Team Leader. Here’s what I came up with, in order of preference:

    1. Dedication to excellence in communication: honesty, clarity, transparency, approachability, willingness to listen to the people closest to the problem at hand.
    2. Ability to convince upper management of the realities on the current business & IT environment and the necessary steps for IT to help achieve business goals.
    3. Familiarity and/or experience with strategies that make a successful IT department.
      1. One of the ways to demonstrate this familiarity is to have read & be able to discuss some of the excellent and important books on the subject: Peopleware, The Mythical Man-Month, The Inmates are Running the Asylum, Facts and Fallacies of Software Engineering. There are many others. I expect an IT team leader to have read and understand at least two of them.
    4. Ability and drive to eliminate obstacles to the productivity of the IT team: a problem-solver.
    5. Practical experience with technology and/or software development.

  4. Perspective

    November 22, 2008 by Craig

    Summary

    Market graphs can tell very different stories depending on the particular timeframe.

    I’m a very visual person. Any time I need to analyze something, I make a picture, either physically or in my own head. I can’t do mental math without having a mental piece of paper with mental numbers written on it. A series of numbers is not very useful to me… but blot those numbers on graph and I can easily see the trends.

    Today I was listening to the Marketplace Podcast for my usual dose of business news. Of course, the talk was all about the recent financial mess. Since I was at my computer, I decided to check out the graphs for the S&P 500 (one of the best indicators for overall stock market performance in the U.S). I hadn’t kept up on them recently, so I thought it was a good time for some updated information.

    The numbers and graphs themselves didn’t really impress me; they mostly followed what I’d been listening to for the past few days/weeks/years. What prompted my blog post was how different the graphs looked depending on the timeframe.

    Follow along with me as I show you what I mean. A few notes first:

    • All charts are courtesy Yahoo Finance. Their old charts are still the best ones out there IMO. Since I couldn’t figure out a way to lock them to a specific date, I’ve copied these particular instances directly to my site (Yahoo, please don’t sue me).
    • For the latest charts, go to their S&P 500 page. There’s lots of graphing options there for your pleasure.
    • You can click each graph for the full-sized version.
    • All of these charts are on logarithmic y-axes. That means that they emphasize relative (percentage) gains, not absolute gains. This is important when understanding trends, especially over longer periods of time. Any amount of absolute change will mean different things depending on whether it’s applied to a large or small value.
    • I’ve also added some example analysis of what each picture could represent, absent of outside context.

    Past 1 Day

    First of all, here’s the 1-day view (for Friday, November 21, 2008):

    S&P 500 1d 2008-11-22

    Based on this picture, you could say that the market had a great day, although it started out pretty mundane. But things are looking up.

    Past 5 Days

    Here’s the view of the past week.

    S&P 500 5d 2008-11-22

    This picture shows a down period. The last half of the week was definitely rocky, but there’s nothing earthshattering here. It looks like there’s a recovery started.

    Past 3 Months

    Moving right along, here’s the past quarter-year:

    S&P 500 3m 2008-11-22

    There’s a clear downward trend. It’s a fairly straight line. There’s a few significant dips, but they’re followed by recoveries that bring it back to the main trend line. This is troubling.

    Past Year


    S&P 500 1y 2008-11-22

    Wow, check out that big drop after a mild decline. Things must be going to hell.

    Past 5 Years


    S&P 500 5y 2008-11-22

    OMG, we’re in an nosedive! Something is seriously broken to take a drastic turn like that. EVERYBODY PANIC!

    Max

    This is the full history of the S&P 500 since its inception 50 years ago. Unfortunately Yahoo has no finer granularity between 5 years and max.

    S&P 500 max 2008-11-22

    The trend here is clear: the stock market has been climbing at a pretty steady rate since the formation of the index. I have some additional notes:

    • Regardless of the long-term trend, there’s lots of bumps along the way.
    • I eyeballed the slope of the line between the start of the graph and 1995, and then extended that line to the current day. My imaginary line happened to match the current value of the S&P 500. With this analysis, you could consider the current crash to be a big correction from the much-higher-than-average growth that we’ve had since 1995 (especially before 2000).
    • The biggest dip (2001-2003) is the one that follows the longest period of smoothness (1991-2000).
    • The downward periods tend to be shorter and steeper than the upward periods. Each bump leands towards the right.
    • The current downturn looks a lot like the triple-whammy we had in early part of the decade caused by the dotcom crash, 9/11, and the Enron/corporate accounting scandals.
    • There’s other downturns too. Check out 1973-1975; the drop there it has a similar profile and depth to the one we’re in now. Note the hard floor around year-end. The recovery is interesting too: there’s a clear trend up, but it takes the rest of the decade to best the previous high.
    • You may remember the huge crash of 1987 (I was 10 at the time; it was one of my first exposures to the financial world). Note the sharp spike; the steep slopes on both sides of the peak makes the event stand out like a thumbtack. Note that the market continued its climb afterward.

    I don’t want to make too much of these graphs or my analyses. I think these are more “interesting” than “predictive”. But I do think that it’s good to see the difference perspective makes.


  5. Welcome to the Layer Cake

    November 12, 2008 by Craig

    bobalu49 asks via Twitter:

    marketing/selling is a “higher” level than building/implementing?

    …in reference to my recent blog post.

    I wrote that based on my experience (with the quotes thrown in for ironic effect). In the companies that I’ve worked at, the sales & marketing teams had more authority than the implementation teams. Thus, to gain more authority, I should begin to expand outside the implementation realm and into the marketing and sales realm — so my thought went.

    Let’s assume for the moment that my observation of the relative power levels was true, and in fact is generally true of most organizations. It’s not necessarily “bad”. Both marketing and implementation are critically important to any business:

    • Without implementation, you have nothing to sell, and thus no reason for the business to exist.
    • Without marketing, you have no idea what to implement, and thus are at a risk of wasting your capital on implementing the wrong thing.

    I’ll even go as far as to argue that marketing should have a priority role over implementation, as they’re the ones that need to set the direction of the business. They’ll set the goals for the implementers.

    The problem I had with the businesses I’ve worked in is that the implementation teams were a lot more capable and insightful than the marketing teams. They were able to recognize marketing problems that the marketing team couldn’t. In those situations, the marketing team should have ceded authority to the implementation team. When they didn’t, the business ended up taking bad directions, leading to squandered efforts. Not only is this wasteful, but it’s also frustrating, and led me to a lot of job dissatisfaction.

    So, one of my goals is to reverse the process: learn marketing from an implementation point of view and hope that I can result in a net benefit to the organizations I work with. I know I’m not an excellent marketer, but I might be a better one than the marketers are implementers, and I might be able to alleviate some of the friction that occurs between the two factions.


  6. Marketing Checklist

    November 11, 2008 by Craig

    Lately I’ve been considering making a bit of a career shift from an implementation-focused roll (ie: a guy who builds stuff) to a “higher” level: a guy who sells stuff. I started this train of thought after watching Obie Fernandez’s excellent talk on becoming a successful consultant.

    So, I’ve started researching. I’m reading books and blogs on the topic of marketing. Thusfar it hasn’t been terribly encouraging; the words of sales wisdom that I’ve seen multiple times are often so foreign to me that I begin to wonder if I can do this at all.

    Seth Godin has a good post entitled “The Marketer’s Attitude”. I’m going to use it as a tool to explain the sorts of conundrums I’m facing as I look forward on my career.

    You’re relentlessly positive.

    The very first point and I’m already down one. I’m not especially positive; in fact, if anything, I’m more typically negative. This view has its uses: I see the world as a set of problems and come up with ways to fix them. However, when trying to convince anyone of my views, being positive is the way to go. I think this is something that I could learn (or at the very least learn to fake) but it will take lots of effort.

    You can visualize complex projects and imagine alternative possible outcomes.

    I believe I’m pretty good at this. I very often seen potential problems that other people have missed. I don’t see every possible outcome though; other people still point out alternatives that I haven’t considered.

    It’s one thing to talk about thinking outside the box, it’s quite another to have a long history of doing it successfully.

    Agreed. But am I better at this than the average person? I don’t think I can answer this myself (former coworkers: can you?)

    You can ride a unicycle, or can read ancient Greek.

    Two negatives here, but I do know a something (often quite a bit) about a lot of different topics — some quite diverse.

    Show me that you’ve taken on and completed audacious projects,

    I’m not so great here. My (completed) projects are, in my opinion at least, quite mundane.

    and run them as the lead, not as a hanger on.

    I’m never quite a “hanger on”, but I’ve never really had a “lead role”, either officially or de facto. I do try to take on leadership responsibilities (especially when there’s a power vacuum) but I’ve never developed it into a solid position.

    I’m interested in whether you’ve become the best in the world at something,

    Well, I’m very good at software development and at reasoning. “Best in the world” is, of course, an exaggeration for nearly everybody (except one person), but I think Seth’s point is clear.

    and completely unimpressed that you are good at following instructions (playing Little League baseball is worth far less than organizing a non-profit organization).

    I can certainly follow instructions. I don’t always. My goal is to get things done; following instructions is only a possible means to that end.

    You have charisma in that you easily engage with strangers

    I’m not so good here. I can engage with strangers, but not “easily”; it takes constant effort. I do it because I have to (and it’s worth doing so), not because I like it.

    and actually enjoy selling ideas to others.

    Now here is where I shine. The major purpose of this blog is to sell ideas. In fact, that’s the big reason I’d engage with a stranger: to sell them my idea. I wish I was more effective at this (hence my study of marketing), but there’s no question I enjoy the end results.

    You are comfortable with ambiguity, and rarely ask for detail or permission.

    3 different points but I have to answer them together. I don’t care about permission per se, but I do care about the consequences when not asking for permission goes bad. The same goes for detail; I’m more than happy to fill-in-the-blanks when I’m not given enough detail, but I’m not happy to have to redo it and/or face (unjustified) criticism over the choices I’ve made. Since I work in an incredibly detail-dependent industry, I’ve learned to specifically avoid ambiguity and detail-seeking behavior. However, this is something I could unlearn easily — once I learn how to deal with the consequences.

    Test, measure, repeat and go work just fine for you.

    This is a must in my line of work. I think there’s not enough of this in other lines of work, and want to bring this philosophy to the rest of the world.

    You like to tell stories

    This depends on the story. Some come naturally, and I enjoy those. Being forced to tell a story usually doesn’t work as well.

    and you’re good at it.

    I’m probably weak here. Sometimes I can do really well though. What I do know is that my story-telling abilities are at least unreliable.

    You’re good at listening to stories,

    I’m definitely good here. I listen freely, and push myself to listen even above and beyond what’s necessary.

    and using them to change your mind.

    I think I’m pretty good here too. If someone has a good story (ex: accurate) then I’ll definitely apply it to my own beliefs.

    I’d prefer to hire someone who is largely self-motivated,

    Gold star here. In fact, I’d go as far as to say that I’m exclusively self-motivated. I’ll rarely do something just because someone tells me to. However, it’s very easy for me to get on-board with a task when someone needs it done. I’ll take initiative if there’s a lack of direction.

    who finds satisfaction in reaching self-imposed goals,

    This is pretty much my entire reason for being. :-P

    and is willing to regularly raise the bar on those goals.

    Well, I’m here writing about how I can become better at marketing, aren’t I?

    You’re intellectually restless.

    I’m intellectually ADHD.

    You care enough about new ideas to read plenty of blogs and books,

    Check. I wish there were more waking hours in the day and/or didn’t have to work for a living so I could read more.

    and you’re curious enough about your own ideas that you blog or publish your thoughts for others to react to.

    Hrm, not sure on this one. *cough*.

    You’re an engaging writer

    On this point I have to let you be the judge. I know that I like reading my own blog posts. However, I don’t have a huge audience, and a lot of time my business writing falls on deaf ears. I don’t know whether this is a function of me or a function of external forces.

    and speaker

    I’m pretty sure that I don’t speak as convincingly as I write. I think I could learn this though, with enough effort.

    and you can demonstrate how the right visuals can change your story.

    This is something I’m learning. I like pictures and diagrams. I often draw diagrams to illustrate ideas to technical audiences. My next stop is learning how to create good visuals to illustrate points to non-technical audiences. (This is part of my “effective speaking” foray; funny how I’m relying on non-verbal tactics to accomplish this).

    And you understand that the system is intertwined,

    I’d say “better than most people” in fact.

    that your actions have side effects

    I know this. Predicting side effects is tricky. I maybe know this too well.

    and you not only care about them but work to make those side effects good ones.

    Check. Achieving this is possibly a different story.

    So, this is a mixed bag. I actually did better than I expected (especially towards the end). There’s lots of stuff that a) not only do I need to work on, but b) I’m not sure that I’ll ever be very good at, given what I know about my psyche. But I do know that I have to try.

    That was fun. Comments are most appreciated.


  7. Bankroll Reversal

    October 10, 2008 by Craig

    How’s this for irony? As the U.S. banks become more nationalized
    banks in Canada are now becoming more independent.

    Also: Canada now has greater economic freedom than the U.S., although both are declining.

    Crazy times.


  8. MyFax – Non-functional

    by Craig

    I signed up for on-line faxing service MyFax today. I canceled my account the same day.

    The biggest problem was that when I sent a fax, it came out as blank pages and not the actual document content. I called up tech support to ask why. They gave me some song and dance about the file I sent being too small (my first test was a 3K text file). This is a bullshit argument:

    1. There’s no good reason to limit the file sizes above a certain amount.
    2. I tried sending a 40K PDF afterwards and got the same result.
    3. They don’t have any warnings about the file size being “too small” during the fax creation.
    4. Their online fax preview system displays the file just fine

    They recommended that I not use their web-based fax creation tool and instead send in faxes by email. Not only is that a hassle, insecure, and prone to error, but it shows that they’re unreliable (they can’t even get their own tool to work).

    Two other nuisances:

    1. Once you send a fax, you can’t un-send it. On my tests, I accidentally an incorrect number (a voice line). The recipient is forced to sit through 3 attempts at a fax call before it’s automatically canceled; there was no way I could correct my mistake.
    2. The email address you use during signup is unchangeable; you’re stuck with it forever.

    On the other hand, the billing cancellation process was hassle-free. Also, they allowed charges in both Canadian and US dollars, which was nice.


  9. This Time It’s Different

    October 7, 2008 by Craig

    Summary

    The current market turmoil has lots of people believing the economic sky is falling. However, downturns have happened repeatedly in the past, and the markets have recovered.

    You’ve probably heard about the financial, stock, and housing market upheaval in the United States. You may also know that similar events are happening in Europe, and that Canada is having its own issues. You may have heard talk about “Depression” (hearkening back to the Great one). Some have been calling the economy “broken“, and that the U.S. is due for a protracted economic downturn. There’s lots of panic to go around. Even though there have been downturns and recoveries in the past, we hear “This Time It’s Different”: that the circumstances we’re in today are “unprecedented”, and that this uncertainty will lead to major strife.

    When considering this, it’s very important to understand that humans do a very poor job of estimating risk. When thinking subjectively, we overestimate the probabilities of some risks and underestimate others. The invention of for-profit mass media has probably made this behavior worse:

    1. News sources make their money by attracting viewers.
    2. Viewers are attracted to bad and/or impressive-sounding news.
    3. To maximize viewership, news sources tend to emphasize (and possibly exaggerate) the frequency and impact of the stories they report.
    4. People view this and gain beliefs that don’t reflect reality.

    With that in mind, I’d like to offer this presentation on how the current downturn measures up to previous ones. I think it’s very illustrative of what’s happening now and in the past. The premise is stated early on:

    I don’t want to dismiss the anxiety some investors may be feeling, but just looking at the numbers, there is nothing remarkable about the severity or duration of this particular bear market.

    The presenter (Weston Wellington) then follows with some statistics regarding the depth and duration of previous slowdowns and their corresponding recoveries. The remainder of the presentation is historical news articles and magazine covers that predicted doom yet turned out to be false.

    We don’t know with any certainty what the future will bring; anyone who claims otherwise is misleading you. It’s possible that we’re still at the leading edge of a major long-term economic valley. However, there’s little evidence to suggest that that’s the case, and quite a bit to indicate that we’ll be past it sooner rather than later. “Unprecedented” is a word used more often than it should be, and even then it does not mean “unsolvable.” It’s very important to separate the facts from the rhetoric, and then act on the former while ignoring the latter.


  10. Do Weblogs Dream of Purple Cows?

    September 30, 2008 by Craig

    Both Ted and myself have recently taken an interest in the works of Seth Godin, one of the gurus of marketing in the Internet age. More than likely we were both influenced by the good things said about him on the Stack Overflow Podcast.

    Ted recently reviewed Purple Cow, one of Seth’s more famous books. He gave it a fairly negative review. I haven’t read Purple Cow or any of Seth’s other books yet (they’re still on hold at the library), but I have recently added his blog feed to my Google Reader. Based on what I’ve seen, some of Ted’s comments are right on the money:

    If I hadn’t been privy to the blogging phenomena, I’d probably have described this book as The Art of War for marketing, a collection of quips and anecdotes.

    The author builds some pretty big bridges over the chasm between cause and effect with bold and broad statements along the lines of “product X was crazy successful because of tactic Y,” glossing over any possible nuances of the relationship between the two or other possible external market factors.

    Even though I agree with Ted on what Seth does, I don’t get the same negative impression about the results. Much like the Sun Tzu work that Ted mentioned, Seth provides illustrative insights into high-level concepts. Ted is looking for details on how to implement those concepts. Both are important to have; Seth set the direction, the things that Ted reads describe how to get there.

    The most interesting part is that Seth left a comment on Ted’s review that said pretty much the same thing:

    If you don’t like short and provocative riffs, you’ll hate my blog, I promise. Just FYI, I’m told by happy readers that the book has provoked people to start things, fix things, earn a lot and have fun doing it.

    Seth wants to inspire people with grand visions, and hopes that inspiration will help people to discover solutions on their own. That’s a noble goal.