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

Year: 2019

  • Team Scars

    Team Scars

    You know those signs in every shared kitchen? “Please rinse your dishes and put them in the dishwasher”, “please don’t leave food in the fridge over the weekend”, &c? They happen because people were piling dishes in the sink and letting food rot. Something had to be done, and the…

  • Changing the Company

    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…

  • Multi-tenancy in platforms

    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…

  • Why is open source content rare?

    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…

  • Supporting Ancient Software

    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…

  • Land and Expand Packaging Decisions

    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…

  • What does your product disallow?

    What does your product disallow?

    Product design sometimes opens an interesting can of worms: things that may be possible to do, but which the designer didn’t intend. Do you hide these paths or not? Will your user ultimately be frustrated, or satisfied? The answer depends on whether your product’s design accurately sets and meets expectations…

  • Entities and Attributes

    Entities and Attributes

    Quadrant models are useful organizing tools. Let’s use one to look at the problem of managing the attributes of entities in systems visibility. I’m not expecting to solve the problem, just usefully describe the playing field. Horizontal axis:* persistent entities with changing attributes* ephemeral entities with static attributes Vertical axis:*…

  • How to manage a Proof of Concept

    How to manage a Proof of Concept

    POCs as a concept are a response to customers getting oversold. As a vendor we’d rather skip the whole thing and trust our sales team to scope properly. As a customer we’d rather not spend time testing instead of doing. Sometimes they have to be done though, and it’s best…