Most of us have worked where there's tremendous effort on planning, anticipating the needs of our customers, testing before release to our customers, re-thinking, re-considering and re-coding. To a developer, the only thing that may seem worse is when there's none of this. Regardless, we expect to know, in advance what's true about our customers.
What if both alternatives are wrong? What if, instead, we assume we're ignorant and use our creativity to learn? Then, we'd
continually run live experiments with our users to see what works; and
gather more metrics than we know what to do with; and
continually deploy changes to adapt those learnings.
Find out why we worked this way, the results we achieved and the specific tools and technologies we use.