ai architecture artificial-intelligence blog blogging Book Review business career Compliance Content Corporate Life Customer Support cybersecurity data data-science DevOps education entropy fitness garmin leadership Licensing life marketing microservices Monitoring music Observability Operations Partnership philosophy Product Management Products saas Sales Security software-development technology User Experience wordpress writing

  • Gul Dukat: I find your bitterness extremely gratifying

    Changing the Company

    I’ve written a bit about mishandled change attempts — everyone loves a little schadenfreude, and failure is easier to spot than success. This does not mean I think it’s wrong to change: you can’t keep selling buggy whips or spellcheckers when the market for them disappears. Let’s set aside the strategic question of recognizing that…

    continue reading

  • The Internet building

    Multi-tenancy in platforms

    If you’ve built a monolithic enterprise product, it is not sensible to convert it to multi-tenancy. You can sell a managed service provider (MSP), but you’re not going to get to software as a service (SaaS). Often no one wants to discuss reasoning at all, because the need to convert your business to a different…

    continue reading

  • an engine testing lab

    Why is open source content rare?

    Open source community incentives are biased to prefer developers over content creators. Open source communities are particularly prone to this failure mode. After all, the developers in the community are all doing their work for valid reasons, so why wouldn’t content creators join them? Hot take: the incentives are different. Open source development is a resume-building value…

    continue reading

  • The control switch panel of UNIVAC

    Supporting Ancient Software

    With another round of fixes to Windows XP, the time is ripe for bloviating about supporting ancient stuff. Every software vendor has to decide what to do about supporting what they used to ship, as well as the broader ecosystem around them. Operating systems, databases, service providers. Maximize use of your new features, minimize maintenance…

    continue reading

  • Flying Dodge Charger in San Francisco

    Land and Expand Packaging Decisions

    Subsets of packaged content are needed in different system classes. If you’re pursuing a land-and-expand model, then you need to have a way to expand. One way is to ship a static monolith with features turned off. Another is to ship dynamic add-ons to your base product.  Teams make these dynamic vs static decisions early.…

    continue reading