I. M. Wright’s “Hard Code”

An opinion column for developers.Brutally honest, no pulled punches.

Browse by Tags

Tagged Content List
  • Blog Post: Staying small

    The One Microsoft strategy tells us we are one company. We have one operating system, one app API, one marketplace, one cross-platform set of apps, one search, one cloud solution, and one toolset. The days of duplication and reinvention are over. Good riddance. What’s a huge team left to do...
  • Blog Post: You want a revolution

    Microsoft is undertaking its biggest set of internal changes in years. The organization from the top down is being restructured and realigned. Our performance management system is being revamped. We’re even getting a new CEO to drive the new direction of One Microsoft. Longtime readers know...
  • Blog Post: Collaboration cache—colocation

    Software geeks know that registers fetch data roughly 10 times faster than the L2 cache, 100 times faster than main memory, and more than a million times faster than hard drives. Smart software engineers work hard to keep all the data for their inner loops in registers or at worst the L2 cache. They...
  • Blog Post: Too much of a good thing? Enter Kanban

    Last month, I wrote about the value of good program managers (PMs). Some people liked the column (mostly PMs). Some people hated it (folks with bad PMs). However, the most common response was that Microsoft has too many PMs. Can you have too much of a good thing? Heck yeah! Why is having too many...
  • Blog Post: Destabilization

    It breaks my heart and sickens my stomach to witness the tremendous productivity and quality gains of Lean Software Development practices at Microsoft: feature crews in Office, scrum teams in Xbox, and improvement teams in SQLServer, to name a few. These Lean approaches yield less-incomplete work, higher...
  • Blog Post: You have to make a decision

    What’s worse—a flawed decision or no decision? That’s easy. Decisions keep a business moving. An imperfect decision might move your business slightly in the wrong direction, but at least it will be moving. Make a few adjustments, and you’re back on track. Making no decision...
  • Blog Post: Your World. Easier

    During difficult economic times like these, people tend to whine less about common complaints that now seem trite. Mostly, I'm relieved not to hear how much e-mail is in Ingrid's Inbox, how Brian broke the build again, and how Suresh's service schedule slipped successive sprints. However, it's during...
  • Blog Post: Green fields are full of maggots

    As I said in Nailing the nominals , the two keys to successful big projects (100K+ LOC) are thinking ahead and defining done. Thinking ahead is about design and planning. Defining done is about setting a quality bar and sticking to it. Yet many big projects go astray even when people think ahead and...
  • Blog Post: Sustained engineering idiocy

    Plumbing channels waste water into a series of larger and larger pipes till it is expelled. That's because sewage flows downstream, which explains the quality of goods that test, operations, and sustained engineering teams receive. After all, they are downstream of design and development. I've written...
  • Blog Post: De-optimization

    Why? Why! Why do managers make stupid decisions that cause devastating churn and tawdry results? And it's not just managers, though they are particularly proficient at promoting poor performance—architects, leads, and individual contributors flood the lives of their team with wasteful, useless, misdirected...
  • Blog Post: So far away: Distributed development

    If you are a software geek, like me, being the product support technician for your friends and family comes with the territory. While it's painful to watch your family struggle with software, particularly if you helped write it, at least you can tell them, "Back off, I'm a computer scientist," and repair...
Page 1 of 1 (11 items)