Models and iterations Every month or so, Manock and Oyama would present a new iteration based on Jobs's previous criticisms. The latest plaster model would be dramatically unveiled, and all the previous attempts would be lined up next to it. That not only helped them gauge the design's evolution, but it prevented Jobs from insisting that one of his suggestions had been ignored. Walter Isaacson, Steve Jobs iterationprototypes
The fastest way to learn something is to do something An Article by David R. MacIver notebook.drmaciver.com Suppose you have a problem to solve. What do you do? Well, you sit down and think real hard, and after extensive and careful planning you try the well thought out and rigorous solution that you have thought up. Right? No, wrong! Bad. The correct thing to do when you have a problem is: Think for a short amount of time. Make sure it is safe to try things. Try something you think will work. Observe the result. If you succeeded, yay you solved the problem! If it didn't work, think about what that means for the nature of the problem and try again. The Feynman Algorithm problemsprototypesfeedback
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
The Fidelity Curve An Article by Ryan Singer m.signalvnoise.com How do we choose which level of fidelity is appropriate for a project? I think about it like this: The purpose of making sketches and mockups before coding is to gain confidence in what we plan to do. I’m trying to remove risk from the decision to build something by somehow “previewing” it in a cheaper form. There’s a trade-off here. The higher the fidelity of the mockup, the more confidence it gives me. But the longer it takes to create that mockup, the more time I’ve wasted on an intermediate step before building the real thing. I like to look at that trade-off economically. Each method reduces risk by letting me preview the outcome at lower fidelity, at the cost of time spent on it. The cost/benefit of each type of mockup is going to vary depending on the fidelity of the simulation and the work involved in building the real thing. Four levels of fidelityTime to build versus confidence gained prototypesinterfaces
Functional Prototyping. A Missed Opportunity in Web Design An Essay by Chuánqí Sun medium.com Prototyping allows engineers in various industries to “fail fast, fail cheap”, “select the best from the pool”, and “bring in the reality”. prototypessoftware
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