Blog posts on software development

Rss logo

Posts selected fromManagement Blog - Engineering Blog - Investing Blog and other blogs

  • Joy in Work – Software Development

    Software programmers are more likely to really enjoy what they do. There are many reasons for this not the least of which is that they have a fair amount of control over their careers. If they don’t like what they are asked to do, the tools they are asked to work with… they will (more than others) leave for another job.

    Some managers get frustrated that such people are not willing to put up with the normal bother everyone else seems willing to accept (programmers are often “unreasonable”). But I see an occupation that is more focused on joy in work than most. And creating joy in work is what managers should be worrying about – not getting troublemakers to fall into line.

    continue reading: Joy in Work – Software Development

  • Lean Information Technology

    It is very easy for waste to be hidden in IT. I think it is more difficult to notice the inefficiencies in IT because much of the work is done in virtual space, not real space. I think that can make it more difficult to see the waste.

    ...

    Instead of taking the time to design these properly something is created quickly, for today. If the code had a physical existence I think much of it would look like a rube Goldberg contraption.

    continue reading: Lean Information Technology

  • Don’t Assume All Web Users Have a Fiber-like Connection

    I have pointed out for more than a decade how poorly many web pages are coded. They often assume a very low latency connection and without it the user experience is poor.

    ...

    I can only assume they just test the pages on their fiber connection and if it works they are ok. This is a very bad idea for nearly every website.

    Learn to get a deep understanding of your customers and potential customers with focus on the customer’s “Jobs to be Done.”  Otherwise organizations find themelves creating solutions that work in test conditions but that don't work for their customers (or potential customers).

    continue reading: Don’t Assume All Web Users Have a Fiber-like Connection

  • Podcast: Building Organizational Capability

    From a podcast with me:

    Changing how organizations are managed makes a huge difference in people’s lives, not all the time and I understand most of the time it doesn’t. But when this is done well people can go from dreading going to work to enjoying going to work, not every single day – but most days, and it can change our lives so that most of the time we are doing things that we find valuable and we enjoy instead of just going to work to get a paycheck so we can enjoy the hours that we have away from work.

    continue reading: Podcast: Building Organizational Capability

  • Software Code Reviews from a Deming Perspective

    I think the “inspection” in code reviews is different enough that we can use code reviews as a valuable tool for managing software development. The waste of having processes that create defects and then use inspection to catch them is certainly something to avoid. A significant part of the effort in code reviews should be geared toward capturing learning that can be applied to current processes to improve them so fewer bugs are created in the future.

    In my experience this part of code reviews (using it to improve the existing processes) is not given the focus it should be. So I do believe that code reviews should focus more on why did we find something we decided to fix?

    continue reading: Software Code Reviews from a Deming Perspective

  • Testing Smarter with Dorothy Graham

    This interview with Dorothy Graham is part of my series of “Testing Smarter with…” interviews: gaining insights and experiences from many of the software testing field’s leading thinkers.

    The best way to have fewer bugs in the software is not to put them in in the first place. I would like to see testers become bug prevention advisors! And I think this is what happens on good teams.

    continue reading: Testing Smarter with Dorothy Graham

  • Testing Smarter with Alan Page

     This interview with Alan Page is part of my series of “Testing Smarter with…” interviews: gaining insights and experiences from many of the software testing field’s leading thinkers.

    The biggest thing I look for in testers is a passion and ability to learn. I've interviewed hundreds of testers... The testers who really impress me are those who love to learn - not just about testing, but about many different things. Critical thinking and problem solving are also quite important.

    Alan spent over twenty years at Microsoft working on a variety of operating systems and applications in nearly every Microsoft division and now works at Unity.

    Combinatorial testing is actually pretty useful in game testing. For example, consider a role-playing game with six races, ten character classes, four different factions, plus a choice for gender. That's 480 unique combinations to test! Fortunately, this has been proven to be an area where isolating pairs (or triples) of variations makes testing possible, while still finding critical bugs.

    continue reading: Testing Smarter with Alan Page

  • Agile Software Development and Deming's Ideas

    It's one of the reasons for "people over process" and all that; they believe that a software developer should be respected. Yes, they should. Factory workers should be respected, too. Everyone should be respected. That's what Deming was talking about. So then the idea that Deming was trying to impose on software developers some rigid controls that they shouldn't be subject to is not so. And not only wasn't he doing that, he wasn't doing that to factory workers either.

    continue reading: Agile Software Development and Deming's Ideas

  • Process Improvement of the Order Fulfillment Process

    Shipping an international order now takes about 35 seconds, down from 3 minutes, and can be done by anyone, whether or not they have SQL and Mail Merge skills. Domestic orders are even faster since they don’t need customs forms. Most of all, it’s all really fun.

    continue reading: Process Improvement of the Order Fulfillment Process

  • Toyota's Planet Kaizen

    It requires flash to view Planet Kaizen. I think it has amazingly bad visual controls (as do many flash applications). I can’t figure out why it would be done in flash – other than some marketing person, or IT person, thought it would be cool. I certainly don’t see how kaizen practices could have produced such an application. It seems to me one of the examples of how far Toyota still has to go.

    Of course, as an automobile manufacturer failing to develop web applications well, is better than failing at manufacturing cars well.

    continue reading: Toyota's Planet Kaizen

  • Suggestions to Improve Google (2006)

    I have suggested all of these for years and I still want them:

    1) Let me chose the type of files searched (exclude pdfs, word, power point..). Then if I can’t find what I want I can expand to include them. At the very least give me some way of making the type much more visible (I realize it is there now but I often click before my mind notices…).

    2) Let me remove web sites from my default searches. I would imagine this could even be used to help Google’s normal search results by getting a sense of sites huge numbers of people “block” The same spam sites show up for searches and I would rather block them if Google can’t figure out how to do so.

    3) Let me create site search lists, where I create lists of sties I want searched – then I can target my searches how I want. Actually now that rollyo does this...

    continue reading: Suggestions to Improve Google (2006)

  • Management: Geeks and Deming

    Several of Deming’s 14 obligation of management and 7 deadly diseases are noted in this quote, including: “Remove barriers that rob people of joy in their work” and the disease – “Emphasis on short term profits.” Deming was a physicist so that may explain the similarity of this ideas to geek management culture.

    • “Geeks seek knowledge for it’s own sake” – Deming’s point 13 “Institute a vigorous program of education and self-improvement.” Deming encouraged organizations supporting education of employees – even when unrelated to work in any direct way.
    • “Geeks like to experiment” – many of Deming’s ideas focus on this point, most obviously is the emphasis on PDSA
    • “Geeks openly debate the merits of technical ideas”

    continue reading: Management: Geeks and Deming

  • Lean Software Development

    Software development can be extremely complicated and can benefit greatly from making problems visible – jidoka

    ...

    Lean thinking has a great deal to offer for those involved in software development.

    continue reading: Lean Software Development

  • If Tech Companies Made Sudoku

    We often seem to add unnecessary complexity to software; creating fragile code that is frustrating to use.

    Unnecessary complexity in internet development has increased greatly since I wrote this in 2006.  I can't believe how often simple actions like clicking a link on web sites with huge budgets fail because instead of just being a link it is some complex code that is fragile and fails.  The huge downloads needed for many websites today should shame them but the explosion of waste continues unabatted.  At some point it will stop, but I am amazed how long the extermely poor management practices have continued. 

    Related: The Edge-case Excuse

     

     

    continue reading: If Tech Companies Made Sudoku

  • Toyota IT for Kaizen

    IT often does the opposite of lean management and makes things more complex, more prone to error, less effective, etc.. Often all in search of only one thing – cutting costs. For that people should not be faulted for being skeptical of IT solutions. However, that does not mean that IT cannot play a part in improvements. It can, just be careful.

    I find it a good sign when the CIO office is helping people find solutions at the request of the users rather than dictating solutions from on high. Some of the dictating might be necessary to optimize the system of IT (some local sub optimization may be required for the overall good) but in my opinion this is used as an excuse far too often.

    Related: The Edge-case Excuse (a post I wrote more recently on the topic of error prone IT solutions)

    continue reading: Toyota IT for Kaizen