Loading ...
Sorry, an error occurred while loading the content.

RE: [XP] Re: should we work on projects that can't be released after an iteration?

Expand Messages
  • Steve Bate
    ... The value focus is on business value, almost always in the narrow sense I ve described in previous messages. ... sustainability. Yes, of course.
    Message 1 of 22 , Jan 1, 2004
    • 0 Attachment
      > From: Ron Jeffries [mailto:ronjeffries@...]
      >
      > I suspect the value focus is on things like instruments that we want to
      > trade in tomorrow.

      The value focus is on business value, almost always in the narrow sense
      I've described in previous messages.

      > I would expect that there is a certain value to
      > reusability in the code, which would turn up in terms of faster
      > implementation and higher reliability. I would expect that over time, the
      > software would become -- at least in some areas -- difficult to maintain
      > and potentially unreliable.> If any of these things happened, then "most
      > important" takes on a new dimension, one of what we might call
      sustainability.

      Yes, of course. Importance, for us, is predominately a function of
      estimated business value. Code that is difficult to maintain or is
      unreliable is a business value risk. Both of these issues could
      result is lost current and/or future revenues.

      > I would expect that there might be "infrastructure" kinds of things that
      > the team can see, such that /if/ they had them, things would go better. It
      > might be difficult to find time and money to invest in those things

      Most infrastructure development occurs as a side-effect of typical
      refactoring activities. Typically, it starts very simple and incrementally
      evolves. If we identify some type of infrastructure that would allow things
      to significantly "go better" we'd build it. Again, the focus is on business
      value. Our definition of "go better" would mean that we can better meet our
      present and future customers (end users) needs, resulting in
      increased revenues for the company.

      > some teams hold back a small percentage of the team, to have them working
      on
      > that sort of thing. That can work reasonably well. I would guess that in
      > the business today there might, for example, be Java teams wishing that
      > they could work in Smalltalk or LISP, but with no way to get
      > there; or some equivalent kind of wish.

      Are these wishes that would result in significantly increased
      business value or just personal preferences for one language over another?

      > Some organizations doing this kind of work start separate "framework"
      > organizations aimed at doing things differently. It's very hard to make
      > this work, even though the value is perceived to be high "if only".

      I don't think this approach would work nearly as well for us either.

      > Why does an organization like this fall behind? What are the things that
      > slow them down, the things they would invest in if they could? What do the
      > programmers bitch about over lunch?

      I'm not sure if you mean "organization" as the development group, or the
      project team, or the whole company. I'll answer the question at the
      project team level. I mentioned in a previous message that one of our
      current challenges is that the customer sometimes has difficulty providing
      stories in a timely manner. We are in the process of considering various
      potential refactorings of our customer organization to improve this
      situation. For example, one refactoring might involve adding additional
      product managers since our ratio of developers to customers is relatively
      high. I don't know of any things in the development organization
      that slows us down to any signficant extent.

      I'd say the story flow issue the most common lunch bitch recently, besides
      wishing we lived closer to an ocean and/or mountains (a much more common
      bitch).

      > >> It might be. Doesn't really sound like fun. I suppose the
      > money is good.
      >
      > > We actually have a LOT of fun but I understand that the intensity and
      > > the dynamic business context might not be enjoyable for some people.
      >
      > Yes, I mean of course that it doesn't sound like fun /to me/. Is
      > there high voluntary turnover in this kind of work?

      IIRC, there's been no voluntary developer turnover in the 2-3 years
      I've been here.

      > Is there an age bias in the kind of people who enjoy the work and
      > who are good at it, vs those who do not or are not? I would not be
      > surprised.

      The experience range varies from 15+ years to < 5.
      The low end is a bit misleading. The younger developers are extremely
      good, better than the typical senior developers I've seen on other
      projects. Developer attitudes such as the desire to be productive
      (generate business value), do excellent work, be flexible, and continually
      expand their skills seem to a much more important factors than age.

      > Is there a gender bias different from the overall gender bias in
      > our business?

      I don't think so. What is the ratio of men to women in very senior
      level ("architect") programming jobs?

      > I certainly hope that the people who do it find ways to enjoy it,
      > and that most of those are healthy ways. I have seen teams -- perhaps we
      > all have -- where the "fun" was in knowing that there were other
      > people suffering and dying just like we were. The camaraderie of
      > soldiers on the front line.

      I've never been on a full-blown death march but when I've been in
      situations somewhat like you describe (at previous companies) nobody
      labeled it as "fun".

      > People can have fun anywhere, I guess. Some kinds of fun seem more ...
      > legitimate, more human than others. I hope it's that kind of fun.

      It is.

      > And what are the issues, problems, unmet opportunities?

      Well, we sometimes get a little frustrated that we aren't millionaires
      yet. ;) I've never claimed it was a perfect situation. Several issues
      (none major) have been discussed in recent messages. There a constant
      challenge to remain aware of movement in a very dynamic market and use
      that knowledge to assess and re-assess business value of candidate
      stories. I believe that all businesses need to do this, but they can
      probably be much more laid back about it and survive longer than
      we could.
    • Steve Bate
      ... Yes, the terms are a bit ambiguous. For us, importance is primarily a function of business value which is a function of estimated revenue and time.
      Message 2 of 22 , Jan 1, 2004
      • 0 Attachment
        > From: J. B. Rainsberger [mailto:jbrains@...]
        > Steve Bate wrote:
        > > If "coding like demons" means generating business value "like a
        > > bat out of hell" then that sounds accurate to me. :) When would
        > > coding the most important things (the things with the most value)
        > > be a questionable strategy?
        >
        > Well, there's the whole "urgent v. important" discussion. Some features
        > are important, but not urgent, so they need to be done, but not
        > necessarily very soon.

        Yes, the terms are a bit ambiguous. For us, "importance" is primarily
        a function of business value which is a function of estimated revenue
        and time. That's why I qualified "importance" as "things with the most
        [business] value". I'm guessing this is some combination of what you
        call importance and urgency. I don't know how you define importance
        so I can't say for sure. Technology risk is another criteria that
        some teams use for story ordering. We don't use it exclusively but
        it is a factor we consider when it's likely to effect the ability
        to produce business value quickly.
      • J. B. Rainsberger
        ... Important := we should not end the project without doing it Urgent := we need to do it /now/ because someone else needs it done /now/ Example: it s
        Message 3 of 22 , Jan 1, 2004
        • 0 Attachment
          Steve Bate wrote:

          >>From: J. B. Rainsberger [mailto:jbrains@...]
          >>Steve Bate wrote:
          >>
          >>>If "coding like demons" means generating business value "like a
          >>>bat out of hell" then that sounds accurate to me. :) When would
          >>>coding the most important things (the things with the most value)
          >>>be a questionable strategy?
          >>
          >>Well, there's the whole "urgent v. important" discussion. Some features
          >>are important, but not urgent, so they need to be done, but not
          >>necessarily very soon.
          >
          > Yes, the terms are a bit ambiguous. For us, "importance" is primarily
          > a function of business value which is a function of estimated revenue
          > and time. That's why I qualified "importance" as "things with the most
          > [business] value". I'm guessing this is some combination of what you
          > call importance and urgency. I don't know how you define importance
          > so I can't say for sure. Technology risk is another criteria that
          > some teams use for story ordering. We don't use it exclusively but
          > it is a factor we consider when it's likely to effect the ability
          > to produce business value quickly.

          Important := we should not end the project without doing it
          Urgent := we need to do it /now/ because someone else needs it done /now/

          Example: it's important to store data in a DB2 database for
          interoperation with other applications we intend to build, but if that
          comes in iteration 12, that's OK, as long as it happens.
          --
          J. B. Rainsberger,
          Diaspar Software Services
          http://www.diasparsoftware.com :: +1 416 791-8603
          Let's write software that people understand
        • Ron Jeffries
          ... OK ... it s now narrow that focus is that is, of course, the focus of my questions and notions about longer-range planning. Looking ahead, your situation
          Message 4 of 22 , Jan 2, 2004
          • 0 Attachment
            On Thursday, January 1, 2004, at 1:22:56 PM, Steve Bate wrote:

            >> From: Ron Jeffries [mailto:ronjeffries@...]
            >>
            >> I suspect the value focus is on things like instruments that we want to
            >> trade in tomorrow.

            > The value focus is on business value, almost always in the narrow sense
            > I've described in previous messages.

            OK ... it's now narrow that focus is that is, of course, the "focus" of my
            questions and notions about longer-range planning. Looking ahead, your
            situation sounds pretty healthy to me. (Free team assessment coming up,
            worth every penny. :) )

            >> I would expect that there is a certain value to
            >> reusability in the code, which would turn up in terms of faster
            >> implementation and higher reliability. I would expect that over time, the
            >> software would become -- at least in some areas -- difficult to maintain
            >> and potentially unreliable.> If any of these things happened, then "most
            >> important" takes on a new dimension, one of what we might call
            > sustainability.

            > Yes, of course. Importance, for us, is predominately a function of
            > estimated business value. Code that is difficult to maintain or is
            > unreliable is a business value risk. Both of these issues could
            > result is lost current and/or future revenues.

            Yes, they could. And I gather that the team feels it has its eye on this
            ball. That sounds good.

            > Most infrastructure development occurs as a side-effect of typical
            > refactoring activities. Typically, it starts very simple and incrementally
            > evolves. If we identify some type of infrastructure that would allow things
            > to significantly "go better" we'd build it. Again, the focus is on business
            > value. Our definition of "go better" would mean that we can better meet our
            > present and future customers (end users) needs, resulting in
            > increased revenues for the company.

            Cool. If the team feels it has time to build things that it needs, that
            suggests a reasonably healthy situation. And I interpret the answer as
            indicating that there must be time to think about such things as well.

            >> some teams hold back a small percentage of the team, to have them working
            > on
            >> that sort of thing. That can work reasonably well. I would guess that in
            >> the business today there might, for example, be Java teams wishing that
            >> they could work in Smalltalk or LISP, but with no way to get
            >> there; or some equivalent kind of wish.

            > Are these wishes that would result in significantly increased
            > business value or just personal preferences for one language over another?

            Well, some people think that Smalltalk and LISP are inherently more
            productive than Java by a substantial margin. I don't recall anyone ever
            claiming that Java was substantially more productive than Smalltalk. :)

            >> Why does an organization like this fall behind? What are the things that
            >> slow them down, the things they would invest in if they could? What do the
            >> programmers bitch about over lunch?

            > I'm not sure if you mean "organization" as the development group, or the
            > project team, or the whole company. I'll answer the question at the
            > project team level. I mentioned in a previous message that one of our
            > current challenges is that the customer sometimes has difficulty providing
            > stories in a timely manner. We are in the process of considering various
            > potential refactorings of our customer organization to improve this
            > situation. For example, one refactoring might involve adding additional
            > product managers since our ratio of developers to customers is relatively
            > high. I don't know of any things in the development organization
            > that slows us down to any signficant extent.

            Delivering too much software to satisfy one customer sounds like a good
            problem to have ...

            > IIRC, there's been no voluntary developer turnover in the 2-3 years
            > I've been here.

            Sounds very good!

            >> Is there an age bias in the kind of people who enjoy the work and
            >> who are good at it, vs those who do not or are not? I would not be
            >> surprised.

            > The experience range varies from 15+ years to < 5.
            > The low end is a bit misleading. The younger developers are extremely
            > good, better than the typical senior developers I've seen on other
            > projects. Developer attitudes such as the desire to be productive
            > (generate business value), do excellent work, be flexible, and continually
            > expand their skills seem to a much more important factors than age.

            I like to think so. I was wondering whether there was a kind of "young
            person's" pressure going on.

            >> Is there a gender bias different from the overall gender bias in
            >> our business?

            > I don't think so. What is the ratio of men to women in very senior
            > level ("architect") programming jobs?

            I'm not sure. One out of five to ten would be a rough guess pulled entirely
            out of my subconscious, and I'm leaning toward eight.

            > Well, we sometimes get a little frustrated that we aren't millionaires
            > yet. ;) I've never claimed it was a perfect situation. Several issues
            > (none major) have been discussed in recent messages. There a constant
            > challenge to remain aware of movement in a very dynamic market and use
            > that knowledge to assess and re-assess business value of candidate
            > stories. I believe that all businesses need to do this, but they can
            > probably be much more laid back about it and survive longer than
            > we could.

            An interesting report. It sounds like you manage to have a decent overview
            of where you're at and how things are going, and if you're able to invest
            in refactoring toward better structure where it's needed, that sounds like
            a good balance. Plus, if you can tell the difference between a death march
            and what you're doing, that's a good sign!

            It would be interesting to have someone observe your team for a while and
            see whether they noticed anything interesting, but it certainly sounds like
            things are fairly healthy. It's hard for me to imagine a long series of
            stories that aren't actually headed somewhere, somewhere that we'd need to
            keep an eye on, but you seem confident that things are going well.

            Ron Jeffries
            www.XProgramming.com
            Will Turner: This is either madness or brilliance.
            Captain Jack Sparrow: It's remarkable how often those two traits coincide.
          • Steve Bate
            ... I ve never done any Smalltalk programmning but I did extensive LISP programming back when I was an AI researcher. I like LISP a lot and the techniques I
            Message 5 of 22 , Jan 2, 2004
            • 0 Attachment
              > From: Ron Jeffries [mailto:ronjeffries@...]
              > On Thursday, January 1, 2004, at 1:22:56 PM, Steve Bate wrote:
              >...
              > >> I would guess that in
              > >> the business today there might, for example, be Java teams wishing that
              > >> they could work in Smalltalk or LISP, but with no way to get
              > >> there; or some equivalent kind of wish.
              >
              > > Are these wishes that would result in significantly increased
              > > business value or just personal preferences for one language
              > > over another?
              >
              > Well, some people think that Smalltalk and LISP are inherently more
              > productive than Java by a substantial margin. I don't recall anyone ever
              > claiming that Java was substantially more productive than Smalltalk. :)

              I've never done any Smalltalk programmning but I did extensive
              LISP programming back when I was an AI researcher. I like LISP
              a lot and the techniques I used in LISP have influenced my Java
              programming. If we did a tradeoff analysis I think it's the vast
              quantity of third-party commercial and open source libraries for
              Java that would give it the advantage in overall productivity.
              Even at a language level, it's certainly not as cool as LISP, but
              I don't believe it's significantly slower to write code in Java
              than in LISP.

              > >> Is there a gender bias different from the overall gender bias in
              > >> our business?
              >
              > > I don't think so. What is the ratio of men to women in very senior
              > > level ("architect") programming jobs?
              >
              > I'm not sure. One out of five to ten would be a rough guess
              > pulled entirely out of my subconscious, and I'm leaning toward eight.

              Recently we hired some new developers. We were looking for high end
              Java developers. I think maybe 1 out of 30 or so resumes was a female.
              Until recently our team was 5 developers, all male, which seems consistent
              with the ratio in other businesses.

              >...
              > An interesting report. It sounds like you manage to have a decent overview
              > of where you're at and how things are going, and if you're able to invest
              > in refactoring toward better structure where it's needed, that sounds like
              > a good balance. Plus, if you can tell the difference between a death march
              > and what you're doing, that's a good sign!
              >
              > It would be interesting to have someone observe your team for a while and
              > see whether they noticed anything interesting, but it certainly
              > sounds like things are fairly healthy. It's hard for me to imagine a
              > long series of stories that aren't actually headed somewhere, somewhere
              > that we'd need to keep an eye on, but you seem confident that things are
              > going well.

              Like I've said before, it's not that the stories aren't heading anywhere.
              We have two areas of focus: 1) building customized solutions or special
              features for current or specific potential customers and 2) building general
              features that allow us to compete with similar businesses in the broad
              market and hopefully allows us to take some of their customers. The first
              category is the most dynamic. The second category does involve longer range
              objectives like "we'd like to have features X,Y,Z before the trade show
              because
              it will increases sales". However, features X, Y, Z may all be the "nice to
              have" type rather than an absolute need. Some of these features are rather
              complex and they are often more like incremental product definition (feature
              design at a functional level) than a description of existing requirements.
              I haven't thought about it extensively, but my impression is that doing
              detailed definition of all the new product features up front may have
              similar disadvantages as BDUF for software.

              As we approach an objective, like having certain features for a tradeshow,
              we tradeoff the immediate business needs (the very dynamic ones) with the
              relatively stable long range goals. Many times this tradeoff analysis is
              more art than science. Based on these tradeoffs, which occur before the
              actual iteration planning meetings, the customer does a just-in-time final
              definition of the new product features to be implemented in that iteration
              or over the next few iterations.

              There are also higher level objectives related to our parent company's
              strategy for how we fit with the larger multibusiness organization. All
              these are taken into account when planning. In a sense, we are almost
              constantly preparing for planning through many informal discussions
              between development, management, and our customers about where we are
              going, why, and what's the best way to make money along the way.
            Your message has been successfully submitted and would be delivered to recipients shortly.