Remove Agile Remove Algorithm Remove Architecture Remove Continuous Deployment
article thumbnail

Embrace technical debt

Startup Lessons Learned

I hope to show why lean and agile techniques actually reduce the negative impacts of technical debt and increase our ability to take advantage of its positive effects. Yet other agile principles suggest the opposite, as in YAGNI and DoTheSimplestThingThatCouldPossiblyWork. Reconciling these principles requires a little humility.

article thumbnail

Lessons Learned: The ABCDEF's of conducting a technical interview

Startup Lessons Learned

The six key attributes spell ABCDEF: Agility. When talking about their past experience, candidates with agility will know why they did what they did in a given situation. To probe for agility, you have to ask the candidate questions involving something that they know little about. At the time, I was a die-heard Java zealot.

Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

article thumbnail

Lessons Learned: Five Whys

Startup Lessons Learned

Because five whys kept turning up a few key metrics that were hard to set static thresholds for, we even had a dynamic prediction algorithm that would make forecasts based on past data, and fire alerts if the metric ever went out of its normal bounds. Wed never heard of five whys, and we had plenty of "agile skeptics" on the team.

article thumbnail

Lessons Learned: Sharding for startups

Startup Lessons Learned

Lessons Learned by Eric Ries Sunday, January 4, 2009 Sharding for startups The most important aspect of a scalable web architecture is data partitioning. More common is to use a one-way hashing algorithm to map the data to be accessed to one of the shards that store it. Support multiple sharding schemes. Easy to understand.

article thumbnail

Lessons Learned: Achieving a failure

Startup Lessons Learned

Build a world-class technology platform, with patent-pending algorithms and the ability to scale to millions of simultaneous users. Even though some aspects of the product were eventually vindicated as good ones, the underlying architecture suffered from hard-to-change assumptions. Even a great architecture becomes inflexible.