#207: Irresistible Complexity

Published: Jan. 10, 2015, 5:02 p.m.

Rather than wading into the hullabaloo regarding Apple\u2019s software quality directly I instead decided to take a step backwards and consider the forces that have driven us to this situation in the first place. My goal is to consider the forces that make keeping software stable over time difficult. The result can apply to small projects as well as to a company as large as Apple.\n\n\nMarketing Complexity: The pressure to keep adding features in order to keep software relevant in a marketplace.\nIntrinsic Complexity: The unfortunate reality that any added feature doesn\u2019t just linearly increase complexity, instead it increases radically.\nPersonnel/Personal Complexity: The tension and struggle around keeping sharp, talented engineers focused on stability when the promise of working on something else, newer and more exciting looms.\n\n\n\nThese are the concerns we need to stay conscious of in order to manage our software over time.\n\n\nHandshake Problem