Re: How do you make decisions that optimize software quality?

From: CTips (ctips_at_bestweb.net)
Date: 08/14/04

  • Next message: Phlip: "Re: How do you make decisions that optimize software quality?"
    Date: Sat, 14 Aug 2004 14:39:27 -0400
    
    

    Andrew wrote:
    > Hi there,
    >
    > Thanks to all for your feedback on my previous question on unit
    > testing.
    >
    > I want to step back and ask the group a broader question. Imagine
    > you are the VP Engineering at a large software company with the
    > mandate that you must deliver software at the absolute lowest possible
    > total cost of development and deployment - that means, low cost to
    > engineer but with high enough quality that post-release deployment
    > costs are also low (limited bugs, etc).

    I am the equivalent, though of the software side of a smallish
    hardware/software startup. Delivering high function, low bug-count
    software with a low time to release is paramount for us

    >
    > 1) What are the top 3-5 problems or issues be in your experience that
    > would strain my ability to be low cost AND high quality?

    The ability to find good people. This breaks down into 2 parts
    - Finding people who have the right mixture of theory & practice [we
    expect people to be skilled C systems programmers, be able to develop
    new algorithms and be familiar with the literature in the systems
    domain. It also helps if they have skills in at least one other domain].
    - Convincing them to re-locate to our area [most of them are pretty
    happy where they are!]
    I suspect if we were based out of Boston, Austin or the SF Bay area,
    some of this problem might go away. Salary, interesting work, work
    conditions have never been a concern, that I can think of.

    Note that this is predicated on the model which we adopted - we would
    only hire a few people, and we would only hire people who we thought
    were exceptional (That way, at worst, they would turn out to be merely
    good).

    Other people make the decision to go with hiring across the skill
    spectrum, and then putting processes/tools in place to compensate. Their
    answers will be considerably different.

    > 1a) How do people resolve these 3-5 problems? Tools? Software
    > lifecyle methodologies? Which of these tools and methods can be
    > provably shown to mitigate those 3-5 problems or is it just
    > statistical/anecdotal suggestion?

    We try and make the environment as productive as possible for people.
    * Tele-commuting is encouraged - at this point, people are expected to
    be in Mon & Wed so that everyone is available in case we need to meet
    and discuss things, but even thats not hard and fast.
    * Everybody gets a high-performance laptop [e.g. IBM Thinkpad a31 with
    max memory]
    * People get handed big chunks of work to do - where "do" means
    everything including design, architect, implement, and testing.
    * We try and make sure that everyone gets to get an interesting project
    every so often - specially if someones burning out, or just plain bored
    with his current work.
    * We pay above market

    We had a new hire who had a baby - he came into work 3 days after the
    event. We told him to go home and not come back for a couple of weeks
    [He was walked to the door by his manager within a couple of hours of it
    coming to our attention].

    >
    > 2) What are the top 3-5 risks (i.e. not guaranteed to be a problem,
    > but could manifest as a problem) that would strain low cost/high
    > ability?

    We have low coverage. Typically, for any program, we have one person
    whose working on it, with one person who could take over. We lose both
    of them and we could be hurting [though this is compensated somewhat by
    the fact that we usually have about 3 months of slack in our schedules]

    > 2a) How do people prevent those risks from arising? Tools?
    > Methodologies? Can the tools and methods be provably shown to
    > suppress the risks or is it statistical/anecdotal suggestion?

    Make sure that your people are happy. That way they won't leave.
    Make sure that they know that they won't be hurt if they look elsewhere
    for alternatives [after all, we are a startup with the usual
    ups-and-downs]. That way you won't be blindsided if they actually leave.

    >
    > 3) What are the top 3-5 decision tradeoffs that a VP Engineering has
    > to make to deliver software - i.e. not problems here, but just
    > decisions that have to be made between deliving in one way vs.
    > another?

    We have to take into account the following:
    - how important is it to our customer(s)
    - who all can do the job
    - who all are available (or when will they become available)
    - who all want to do the job
    - how long will it take each of them.

    > 3a) How do people determine the optimal decision for those tradeoffs?
    >
    >
    > Any input on these questions - even if only for a subsection would be
    > greatly appreciated. I hope it actually spurns some good discussionn
    > because my guess is that different people have different opinions.


  • Next message: Phlip: "Re: How do you make decisions that optimize software quality?"

    Relevant Pages

    • Re: How do you make decisions that optimize software quality?
      ... > would strain my ability to be low cost AND high quality? ... The ability to find good people. ... and then putting processes/tools in place to compensate. ... > lifecyle methodologies? ...
      (comp.object)
    • I have some very attractive Quant jobs open to 180K in NYC
      ... Attach a description of Duties and Responsibilities, ... The candidate will become a member of the methodologies department ... Background in finance with bonds as a specialty with at least 2 years ... Ability to write extensively detailing quantitative methods. ...
      (sci.math)
    • How do you make decisions that optimize software quality?
      ... would strain my ability to be low cost AND high quality? ... lifecyle methodologies? ... What are the top 3-5 risks (i.e. not guaranteed to be a problem, ... What are the top 3-5 decision tradeoffs that a VP Engineering has ...
      (comp.lang.java.softwaretools)
    • How do you make decisions that optimize software quality?
      ... would strain my ability to be low cost AND high quality? ... lifecyle methodologies? ... What are the top 3-5 risks (i.e. not guaranteed to be a problem, ... What are the top 3-5 decision tradeoffs that a VP Engineering has ...
      (comp.object)
    • Re: Best small sb
      ... Easy maintenance? ... Lots of cabin space? ... Low cost? ... same boat as far as pointing ability and speed. ...
      (rec.boats.cruising)