The Sprinting Centipede Strategy: How to Improve Software Without Breaking It
Re-published from blog.iterate.no. Our code has been broken for weeks. Compiler errors, failing tests, incorrect behavior plagued our team. Why? Because we have been struck by a Blind Frog Leap. By...
View ArticleYou are not lean unless you have a clear objective and measure
A colleague of mine, Bjørn Remseth, had a good observation: Without a clear objective you cannot be lean. The lean approach is, essentially, about optimizing a process, a company. If you don’t know...
View ArticleMost interesting links of Mars ’13
Recommended Readings A lot of stuff this month since I have finally got time to review some older articles. Quite a few articles by Fowler. Few really great (yet short) talks on agile & SW...
View ArticleMost interesting links of April ’13
Recommended Readings The top top article How To Survive a Ground-Up Rewrite Without Losing Your Sanity (recommended by Kent Beck) – sometimes you need to actually rewrite an important part of a system;...
View ArticleMost interesting links of May ’13
Recommended Readings ThoughWorks Technology Radar May 2013 – Maven replaced by Gradle, Clojure and Scala on adopt, big enterprise SW and WS-* out, lot of interesting stuff to adopt or assess Straw Man...
View ArticleIgnore requirements to gain flexibility, value, insights! The power of why
I would like to share an eye-opening experience I have recently made. I have learned that if we do not just passively accept the requirements given to us but carefuly analyse the reasons behind them...
View ArticleThe Invisible Benefits Of Pair-Programming: Avoiding Wasteful Coding Excursions
There has been recently an article about how bad, expensive, and wasteful pair-programming is, since you need double as many developers. It used lines of code (LoC) produced per hour as the main...
View ArticleCode Is Cheap, It’s Knowledge Discovery That Costs
If we knew exactly what code needs to be written, what needs to be done and how it can be done, we would need very little time to write it. It is the discovery of the knowledge what to build and how to...
View ArticleThe Risks Of Big-Bang Deployments And Techniques For Step-wise Deployment
If you ever need to persuade management why it might be better to deploy a larger change in multiple stages and push it to customers gradually, read on. A deployment of many changes is risky. We want...
View ArticleFrustration-Driven Development – Towards DevOps, Lean, Clojure
A post about development practices, speed, and frustration. My wife has mentioned that she likes my passion for doing things right in software development. That made me thinking, why do I actually care...
View ArticleTiny, Tiny Steps – Experience Report Developing A Feature In Minimal...
A post for those who want to see what an iterative, MVP-driven development of a feature looks like. @lukew: Start with the simplest version you can. It’s much easier to add complexity than to remove...
View ArticleNotes On Automated Acceptance Testing (from the Continuous Delivery book)
(Cross-posted from blog.iterate.no) These are my rather extensive notes from reading the chapter 8 on Automated Acceptance Testing in the Continuous Delivery bible by Humble and Farley. There is plenty...
View ArticleFocus & Do the Simplest Thing Possible
Are you tired of days spent in front of the screen, with no results to show? Have you once again engaged in yak shaving? Today, after having failed previously, I have finally managed to solve a problem...
View ArticleThe Are No Silver Bullets: Which Error Handling Style to Pick For a Given...
Kent Beck in his Patterns Enhance Craft Step 3: A Few Good Solutions highlights an important fact about software development: We encounter repeating configurations of forces/constraints that have only...
View ArticleThere will be failures – On systems that live through difficulties instead of...
Our systems always depend on other systems and services and thus may and will be subject to failures – network glitches, dropped connections, load spikes, deadlocks, slow or crashed subsystems. We will...
View ArticleShipping a Refactoring & Feature One Tiny Slice at a Time, to Reduce Risk
You don’t need to finish a feature and your users don’t need to see it to be able to release and start battle-testing it. Slice it as much as possible and release the chunks ASAP to shorten the...
View ArticleUpgrade or not to upgrade dependencies? The eternal dilemma
Cross-posted from TeliaSonera Tech blog. Handling dependencies is one of important challenges in any software project – and especially in the fast-moving JavaScript world. Our Nettbutikk team just had...
View ArticleMoving Too Fast For UX? Genuine Needs, Wrong Solutions
Cross-posted from the TeliaSonera tech blog Our UX designer and interaction specialist – a wonderful guy – has shocked us today by telling us that we (the developers) are moving too fast. He needs more...
View ArticleWhy we practice fronted-first design (instead of API-first)
Cross-posted from the TeliaSonera tech blog Alex has introduced us to the idea of front-end first design: You start by creating the front-end (browser) code. As you discover data or API calls that you...
View ArticleA Costly Failure to Design for Performance and Robustness
I have learned that it is costly to not prioritise expressing one’s design concerns and ideas early. As a result, we have a shopping cart that is noticeably slow, goes down whenever the backend...
View Article
More Pages to Explore .....