Follow the fun An Article by Dave Rupert daverupert.com Another great dissertation from Mark Brown of Game Maker’s Toolkit: The Games that Designed Themselves. It’s the radical idea that designers should ignore their preconceived notions and look to the game itself to find out where the development should lead. How does something design itself? Well… the answer is: Prototypes. A lot of great indie game masterpieces are the result of experimentation and early gameplay demos that changed the course of game’s development. As Brown points out, there’s a whole history of groundbreaking games that were developed “almost by accident” where bugs and glitches were turned into features. The game discovering itselfBuilding is never a straight lineGame feel gamesfun
Game feel An Article by Dave Rupert daverupert.com How do you make a game that’s fun? ...You have to focus on gameplay. In order for the final product to be fun and exciting, the core game play needs to be fun and exciting. The creator of Mario calls this 手応え (tegotae), which is often translated as “game feel”. To find this game feel, you need to build small prototypes around a single idea, play test them, and then follow the fun. Nintendo does this, indie game devs do this; this is the not-so-secret of the gaming industry. Follow the funFollow the brush prototypesmakinggames
Technical debt as a lack of understanding An Article by Dave Rupert daverupert.com "If you develop a program for a long period of time by only adding features but never reorganizing it to reflect your understanding of those features, then eventually that program simply does not contain any understanding and all efforts to work on it take longer and longer.” — Ward Cunningham softwareprocesscode
The Web is Industrialized and I Helped Industrialize It An Article by Dave Rupert daverupert.com In our cultural obsession with billionaire entrepreneurs we laud new features more than the maintenance and incrementalism work of making old features better and more accessible. Maintenance looks like red minus signs in the spreadsheet. New features look like green plus signs. New features look better on our LinkedIn profiles. New features have that pizzazz, baby. When gardening, the building of planters and initial planting is a very short process. The majority of your time is spent nurturing and monitoring growth. I personally feel the struggle between maintainer work and new shiny feature work. I enjoy that new feature smell but I know that my day-to-day is more like a janitor on a boat mopping up someone else’s barf. In terms of metaphors, the gardening metaphor is certainly better, and it acknowledges that design and development still tend to be more creative endeavors. featuresnoveltywww
Deadlines are bullshit An Article contrariantruth.substack.com In software development deadlines are a necessary evil. It is important to understand when they are necessary, and it is important to understand why they are evil. External vs. internal deadlinesWhy are internal deadlines evil?Engineers who love their work Hofstadter's LawThe Thing-deadline calculusNever enough timeDriving engineers to an arbitrary date is a value destroying mistake bureaucracysoftwareprocesswork
External vs. internal deadlines When are deadlines necessary? Contractual obligations Technical liabilities (e.g., dependency EOL) Compliance, government, investors, and other external stakeholders What do all of these deadlines have in common? They are all important. They are all deadlines that cannot be missed. They are all external. When are deadlines evil? Your manager says you have a deadline Your software development methodology says you have deadlines What do all of these deadlines have in common? None of them are important. They are arbitrary. They are all internal. They are all bullshit.
Why are internal deadlines evil? Estimation: When estimating engineering work a substantial time investment is required by an engineer in order to get an accurate estimate. Misaligned Incentives: There is an incentive to lie and give estimates much longer than the feature is truly expected to take. Low Morale: Deadlines are likely to be missed often. Repeated failure has a cost to the morale of the team. Micromanagement: Deadlines are wielded by middle managers as a whip to harass and annoy engineers working on features. High Stress: When engineers feel the pressure of other stakeholders holding deadlines over their heads it creates an environment of high stress. High Turnover: On teams with high turnover rates the best engineers have an easy time finding new work and leave quickly, the worst engineers have a difficult time finding work and remain. This selects for a lower quality team over time.
Engineers who love their work The resolution is simple. Never have internal deadlines. Operate on a prioritized and ordered list of features. Estimate only when necessary to prioritize and do so in a t-shirt sizing way. Trust your engineers and they will begin to love their work. Engineers who love their work are happy and productive. Building is never a straight line