Category Archives: Software Development

In Praise of Data-Driven Management (AKA “Why You Should be Skeptical of HiPPO’s”)

Guest post by Justin Hunter, originally published 18 August 2009. Jeff Fry recently linked to a fantastic webcast in Controlled Experiments To Test For Bugs In Our Mental Models. I would highly recommend it to anyone without any reservations. Ron Kohavi, of Microsoft Research does a superb job of using interesting real-world examples to explain the benefits of conducting small experiments with web site content and the advantages of making data-driven decisions. I firmly believe that the power of applied … Continue reading →

Posted in Data, Design of Experiments, IT, Management, Psychology, Quality tools, Software Development, Statistics | Tagged , , , ,

Interviews on Software Testing

I haven’t added a new post here recently. One of the things that has been keeping me busy is putting together some interviews on software testing. Here are excerpts from 3 of the interviews: Testing Smarter with Alan Page Hexawise: During your 20 years at Microsoft you have been involved in hiring many software testers. What do you look for when choosing software testers? What suggestions do you have for those looking to advance in their in software testing career? … Continue reading →

Posted in Software Development | Tagged , ,

Add Constraints to Processes Carefully

Take great care in adding constraints to processes to avoid doing so needlessly. Online you will frequently find forms that have required fields that needn’t be. Certainly if you were designing with focus on what is best for customers those requirements rarely make sense. Occasionally a required field is a sensible constraint on an online form but so often they add unnecessary constraints. I frequently find those forms even requiring a false answer since a response is required and none … Continue reading →

Posted in Customer focus, IT, Software Development | Tagged , , , , , , ,

Applying Toyota Kata to Agile Retrospectives

Hakan Forss, King (interactive entertainment games), presentation at the GOTO Copenhagen 2015 conference. I strongly recommend Mike Rother’s book: Toyota Kata. Description from Workshop description “The Toyota Kata Experience” Kata means pattern, routine, habits or way of doing things. Kata is about creating a fast “muscle memory” of how to take action instantaneously in a situation without having to go through a slower logical procedure. A Kata is something that you practice over and over striving for perfection. If the … Continue reading →

Posted in Lean thinking, Process improvement, Software Development | Tagged , , , , , , | 3 Comments

Software Testing and the Impact on Quality

My response to a question on Reddit. “Software quality does not come from testing” Does anybody have any thoughts on the validity of the above statement? That statement is similar to the idea you can’t inspect in quality. Basically “Inspection is too late. The quality, good or bad, is already in the product.” W. Edwards Deming I agree with those ideas. Software testing is a bit different (at least some of it is) from the inspection mentioned above. You are … Continue reading →

Posted in IT, Software Development | Tagged , , , , | 2 Comments

Functional Websites are Normally Far Superior to Apps

An email to I just sent to Uber I understand the regular Uber app not having a functional website. Uber Eats not having a functional website is super lame. It strikes me similar to Walmart 15 years ago telling people “we only have stores go to them, we just use the internet for advertising our stores.” Today for Uber: we only have apps, “we only use the web for advertising our apps.” Both you and Walmart want to use a … Continue reading →

Posted in Customer focus, Innovation, IT, Software Development | Tagged , , , , , | 1 Comment

Use Urls – Don’t Use Click x, Then Click y, Then Click z Instructions

In the 1980s software applications had to use click x, then click y, then click z type instructions to get you to a specific location in a software application (or at least they had a decent excuse to do that). Too many web application development organizations forget that they now have urls to direct people exactly where to go: and that they shouldn’t rely on ancient “click here, then there, then in that other place” type instructions. Here is an … Continue reading →

Posted in Customer focus, Software Development | Tagged , , , , , | 2 Comments

Building a Great Software Development Team

Elliot: I worked with some of the best programmers I’ve ever known at the tiny, obscure ASEE Adam Solove: Why do you think that happened? They hired for passion, rather than experience? If I had to pick one thing, passion would likely be it but really it is a complex assortment of things. Passion for the right things, based on what we aimed to be, mattered a great deal. That took the form of being passionate about the user experience, … Continue reading →

Posted in IT, Management, Popular, Software Development, Systems thinking | Tagged , , , , , , , , | 4 Comments

Deming and Software Development

I am sometimes asked about how use Deming’s ideas on management in a software development context. My belief is Deming’s ideas work extremely well in a software development context. The main issue is often unlearning some assumptions that people might have about what the Deming management system is. It really is surprising to me how many “knowledge workers” respect Deming’s ideas but then say his attempts to treat factory workers as thoughtful people who should be respected and involved in … Continue reading →

Posted in Deming, IT, Management, Popular, Process improvement, Respect, Software Development | Tagged , , , , , , , , , , | 7 Comments

What is the Explanation Going to be if This Attempt Fails?

Occasionally during my career I have been surprised by new insights. One of the things I found remarkable was how quickly I thought up a new explanation for what could have caused a problem when the previously expressed explanation was proven wrong. After awhile I stopped finding it remarkable and found it remarkable how long it took me to figure out that this happened. I discovered this as I programmed software applications. You constantly have code fail to run as … Continue reading →

Posted in Creativity, Innovation, Management, Process improvement, quote, Software Development, Systems thinking | Tagged , , , , , , ,

Double Loop Learning Presentation by Benjamin Mitchell

Benjamin Mitchell – Using the Mutual Learning Model to achieve Double Loop Learning [the original video is not online anymore, I replaced it with another presentation by Benjamin on the same topic at a different conference at close to the same time – JH] Benjamin Mitchell presents ideas using Chris Argyris thinking on double-loop learning. “Double-loop learning occurs when error is detected and corrected in ways that involve the modification of an organization’s underlying norms, policies and objectives.” Single loop … Continue reading →

Posted in Management, Process improvement, Psychology, Software Development | Tagged , , , , , , ,

Respect for People: Optimize for Developer Happiness at Etsy

The webcast above discusses the culture of software engineering at Etsy (a very popular site providing a marketplace and community for small businesses – artisan focus). Some of the key points of the talk. Etsy trusts employees. Etsy’s strategy is to optimize for developer happiness. Etsy has lunches twice a week where employees build community. Etsy sees code as craft. The echos Etsy’s value on authorship: “the people behind what we buy make commerce meaningful.” It re-inforces the belief that … Continue reading →

Posted in IT, Psychology, Respect, Software Development | Tagged , , , , , , , , , | 6 Comments

Agile Story Point Estimation

In agile software development tasks are documented as user stories. Then the level of effort for those stores can be estimated by assigning each story points. The velocity that can be produced in a period (called a sprint, for us 2 weeks) can be estimated. Thus you can predict what can be delivered in the next sprint (which can help business managers make priority decisions). I have found estimation to be worthwhile. In doing so, we accept there is a … Continue reading →

Posted in Data, IT, Process improvement, Quality tools, quote, Software Development | Tagged , , , , ,

Rethinking or Moving Beyond Deming Often Just Means Applying More of What Dr. Deming Actually Said

Don Reinertsen – Is It Time to Rethink Deming? [the broken link was removed] AGILEMinds I feel very strongly about the value of Deming’s ideas. I am glad people challenge those ideas and try to push forward management thinking. Helping us manage organizations better (to get better results and allow people to better enjoy their jobs and lives) is why I value Deming’s ideas. To the extent we find better ideas I am very happy. I understand I will disagree … Continue reading →

Posted in Deming, Process improvement, Psychology, quote, Software Development | Tagged , , , , , , , , , , | 10 Comments

Steve Jobs Discussing Customer Focus at NeXT

Video from 1991 when Steve Jobs was at NeXT. Even with the customer focus however, NeXT failed. But this does show the difficulty in how to truly apply customer focus. You have to be creative. You have examine data. You have to really understand how your customers use your products or services (go to the gemba). You have to speculate about the future. The video is also great evidence of providing insight to all employees of the current thinking of … Continue reading →

Posted in Customer focus, Data, IT, Software Development | Tagged , , , , , , ,

Avoiding Tragedy of the Commons for Software Development

Kanban and Tragedy of the Commons The “Tragedy of the Commons” archetype often manifests itself through “Shared Services”, when a small number of people with specific skills, work across different teams. Each team in isolation gets benefit from the Shared Service, but when demand for the service exceeds its capacity, then nobody benefits. At a smaller scale, a team with a low “bus factor”, or a hero, can also suffer from a tragedy of the commons, when too much work … Continue reading →

Posted in Management, Software Development, Systems thinking | Tagged , , , , , | 2 Comments