算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
iteration【设计与创意】Use this skill whenever the question is *how* to develop a design — through one big push or through repeated cycles of build, test, learn, refine. Trigger when planning a design process, scoping an MVP, deciding between waterfall and iterative delivery, planning research cadence, or reviewing why a project drifted from its original vision. Iteration …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Iteration is the practice of repeatedly cycling through design, build, test, and refine — using each cycle's output to inform the next. The core insight: design problems rarely yield to single passes of careful planning. They yield to cycles, where each pass uncovers issues invisible to the prior pass. The teams that internalize iteration consistently outperform those that try to plan the perfect solution up front.
A design that emerges through iteration is built by repeating a small set of operations: design something; build a version of it; test it (with users, with data, with a critical eye); learn what worked and what didn't; refine; design the next version. Each cycle reveals problems that couldn't be predicted from the inside of the previous cycle. The total work to reach a good design through iteration is usually less than the work to reach the same quality through up-front planning, because iteration converges on what users actually need rather than what you predicted they would need.
A first design is built on assumptions. Some assumptions are right; some are wrong. The wrong ones can only be discovered by exposing the design to reality — to users, to use cases, to edge cases the designer didn't anticipate. The longer the design avoids contact with reality, the more wrong assumptions accumulate; the bigger and more painful the eventual correction.
Iteration shortens the gap between assumption and verification. Each cycle exposes a few wrong assumptions; the next cycle corrects them. After several cycles, the design is largely correct because the assumptions have been replaced by observations. Without iteration, the design is shipped on assumptions still mostly untested.
The cost of iteration vs. up-front planning:
For complex products with significant unknowns, iteration usually wins.
The book's distinction matters in practice:
Planned cycles during the design phase — sketching, prototyping, testing, refining. Each cycle is intentional and produces learnings.
Healthy design iteration:
Unplanned rework during the build phase, usually because the design wasn't iterated enough during design. The team builds something, discovers it doesn't work, partially rebuilds, discovers the rebuild has its own problems, etc.
Development iteration is costly because building is more expensive than designing. Reduce it by iterating more thoroughly during design.
The principle: spend cheap iteration cycles (design, prototype) to avoid expensive iteration cycles (build, rebuild).
A workable cycle:
What are you trying to learn or decide in this cycle? "How do users discover the new feature?" or "Which onboarding flow has higher completion?" Specific questions yield specific answers.
The MVP for this cycle. A sketch, a clickable prototype, a coded version, an A/B test — whichever is cheapest and still answers the question.
Users (research session, beta cohort), data (analytics on a partial release), or a critical reviewer (design critique, code review). The design must encounter something outside the design team.
What happened? What surprised you? What confirmed assumptions; what disconfirmed?
Based on learnings, what's the next question? Refine, replace, or keep.
The full cycle should take days to weeks for most software design — fast enough that learnings stay fresh; slow enough that real building can happen.
A team wants to add a new analytics dashboard. Iteration cycle:
Each cycle costs more than the last; each replaces more assumptions with evidence.
A team redesigns a product. Without iteration: 18 months of design and rebuild; ship; users hate it; emergency rollback or "v2" project.
With iteration:
Total: 9 months, with each phase de-risked by data. Far better outcome than the 18-month bang.
An API exposed to external developers can't be casually iterated — each version becomes a contract. But internal iteration before exposure can be intense:
v1 to external partners.The pre-release cycles are cheap; the post-release iteration is expensive.
The team wants to improve sign-up completion. Iteration:
Each cycle is data-driven and cheap. The cumulative improvement after 6–12 cycles often exceeds what any single redesign could achieve.
The development of any complex industrial product (a new car, an appliance, a medical device) involves dozens of prototype iterations — clay models, foam mockups, 3D-printed parts, working prototypes, pilot production. Each iteration reveals issues invisible at the previous fidelity.
Frank Lloyd Wright's process: many sketches, sometimes hundreds, before settling on a design. The Guggenheim went through years of iterative revision before construction.
Open-source projects iterate continuously through patches, pull requests, and releases. Linux, the modern web stack, and every major open-source product evolved through tens of thousands of iteration cycles.
Toyota's "kaizen" — continuous small improvements — is iteration applied to manufacturing process. Each shift makes small changes; over decades, the cumulative improvement is enormous.
Science is iteration: hypothesize, experiment, observe, refine. The same loop applied to design produces similar accumulating quality.
prototyping — the technique iteration relies on.development-cycle — the larger-scale iteration of requirement → design → develop → test.life-cycle — products iterate at the version-release cadence as well as within designs.factor-of-safety — both principles acknowledge the inevitability of unknowns.weakest-link — iteration finds the weakest link by exposing the design to stress.uncertainty-principle — observation changes the observed; iteration's instrumentation has its own effects.iteration-design-vs-development — distinguishing healthy design iteration from costly development rework.iteration-prototype-fidelity — picking the right fidelity for each cycle's question.Iteration is the principle that separates teams who ship good products from teams who ship the products they planned. The teams that internalize "we will be wrong about something; let's find out which something cheaply" consistently outperform teams that try to be right the first time. Build the next cycle into every project plan.