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

55889Re: [scrumdevelopment] Re: Does anyone have experience in adopting Scrum in Software Maintenance?

Expand Messages
  • Charles Bradley - Scrum Coach CSP CSM PSM
    Oct 1, 2012
    • 0 Attachment

      Xiaozhou,

      I've been following your question/thread.

      You mentioned this extra bit of your context.

      >> all kinds of development after the first release, including new features added in, bug fixing, refactoring, new platform adapting, etc. And what i was wondering is how to prioritize various stories to maximize the benefits for all stakeholders and whether this is based on only experience or there are some models to follow.

      For teams doing the things you mentioned, I've coached multiple teams that do a combination of the several activities just as you described.
       
      Firstly, I think Scrum can probably work for your context just fine, since there is much software development involved.  One important deciding point would be the time horizon for which your team's prioritization holds mostly true.  If your team's environment would not be too complex over a week long horizon, then I think Scrum would be a good fit.  If there is a lot of thrashing and complexity within a one week sprint, that is a different subject altogether.  I'll assume that is not the case.

      > how to prioritize various stories to
      maximize the benefits for all stakeholders

      To my knowledge, there is no way to maximize the benefits for *all* stakeholders, and I don't think that's relevant anyway.  The key, IMO, is to maximize the value delivered for the *organization as a whole*, based in large part on organizational goals.  The Scrum PO orders the product backlog based on many factors(value, risk, priority, dependencies, etc), all with the purpose of maximizing the value created by organizational goals. 

      There are some models for assessing value, discussed in chapters 9-11 of Agile Estimating and Planning by Cohn.  There may be more models or related info in Pichler's Agile Product Management with Scrum: Creating Products that Customers Love (I can't remember off hand if he talks about models or not, but it's still useful PO information).  I'm not aware of any specific models that take into account fixes vs. new features vs. new platorms, other than to consider their financial value as in the models above.

      If we're talking about one team here, then I would suggest that all kinds of changes to the system under development (regardless of the nature of the work -- new features, fixes, etc) be ordered in the same product backlog.  The main reason for this is so that the relative value of each of the product backlog items (PBI's) can be quickly compared against each other.

      >> In which way do you think it's more efficient and profitable (if you indeed think it's efficient and profitable)?

      IMO, and in my ~15 years of software development experience, doing software maintenance(of the kind described in this thread)with Scrum delivers more value quicker, than any other method I've seen. 

      I think the main benefits over other strategies come from:
      1. One place to order/prioritize the work (Product Backlog) so that the most value is delivered the quickest.
        • Other Scrum principles support this as well:  Sprints, Sprint Reviews, Product Backlog grooming, Remaining work towards a milestone.
      2. One place to order/prioritize the work (Product Backlog) so that the Dev Team and organization has a simple view into the upcoming and current work.
        • Other Scrum principles support this as well:  Sprints, Sprint Reviews, Product Backlog grooming, Remaining work towards a milestone.
      3. One single person who is responsible for ordering the Product Backlog(the PO).
      4. The person responsible for ordering *and defining* the Product Backlog interacts with the team directly and often.
      5. Doing production support and new product development helps hold the Dev Team accountable for software quality(definition of done) and technical debt.
      6. Due to the unified view of work, the impacts of Scrum Team and Stakeholder decisions are much simpler to see (transparency), and much quicker visible.
      > > Are there any drawbacks that bothering you if any?

      A couple of the biggest challenges in this type of situation, no matter what strategy you use is:
      1. Being aware of team focus.  If your team is constantly changing focus, then productivity decreases dramatically.
      2. Getting the organization to build some consensus around what is the most valuable PBI's to work on.  This is often a very big challenge, and has more to do with organizational dysfunction, and less to do with Scrum or any other approach.  OTOH, Scrum, when done well, will tend to shine some transparency on the organizational dysfunction, and this can lead to further challenges.
      The only other thing you might consider a "drawback" is that Scrum, while fairly easy to learn, is difficult to master.  I'm assuming you've seen the "Scrum is like Chess" metaphor.  If not, you can read more about that here:
      http://kenschwaber.wordpress.com/2010/09/08/scrum-as-a-framework/

      -------
      Charles Bradley
      http://www.ScrumCrazy.com




      From: lixiaozhou <lixiaozhou@...>
      To: scrumdevelopment@yahoogroups.com
      Sent: Friday, September 28, 2012 6:16 PM
      Subject: [scrumdevelopment] Re: Does anyone have experience in adopting Scrum in Software Maintenance?

      Hi, Steve

      Thank you for your time replying. I kind of screwed myself up by choosing this topic when i have no actual experience in a real-life scrum project. Anyway,long story :D

      And concerning what you've brought up, that's the thing i'm interested in. And what i would also like to know is that how a PO prioritize the sprint backlog and maintenance backlog simultaneously.Are there any models to follow or universal guidelines? And what are the factors that might influence the priority of maintenance stories compared to original user stories? That would be the spot i could write something about. And do you by any chance know some projects that I might use as a case?

      Many Thanks for your time. And sorry for my lack of knowledge.

      Best wishes. 

      --- In scrumdevelopment@yahoogroups.com, "Steve" <steve@...> wrote:
      >
      > Hi
      >
      > My first question is how come you are doing a masters in 'advanced' Scrum when you are still a rookie!  But that's acedemia for you!
      >
      > The way I have implemented it has always been with developers that are also maintainers.
      >
      > They work 3 week Sprints on developement during which time maintenance requests come in and are added to a Maintenance Backlog (I even managed to get the users to write requests in User Story format for one implementation!).
      >
      > On the Monday of the fourth week all the relevant people gather for a maintenance Sprint planning workshop where the requests are prioritised, estimated and planned.
      >
      > The team work their way through the plan for the rest of the week and have a demo on the pm of the Friday; then they go back to development on the next Monday.
      >
      > This has had the effect that some low priority maintenance requests never get done; some increase in priority as time goes on.
      >
      > Of course 'showstopper' maintenance requests are dealt with immediately; the team allow for such possibilities in their development sprint planning but it happens very rarely.
      >
      > So that's one way.  I have never seen a dedicated maintenance team.
      >
      > --- In scrumdevelopment@yahoogroups.com, "lixiaozhou" <lixiaozhou725@> wrote:
      > >
      > > Greetings
      > >
      > > My name is Xiaozhou Li, a student in University of Tampere in Finland. And i'm a total rookie in scrum development area. Recently, i've been working on my master thesis concerning adopting Scrum in software maintenance and relevant issues. And so far i have some general questions including:
      > >
      > > How do you feel about using scrum in software maintenance compared with traditional software maintenance process (personally)?
      > >
      > > In which way do you think it's more efficient and profitable (if you indeed think it's efficient and profitable)?
      > >
      > > Are there any drawbacks that bothering you if any?
      > >
      > > What are the best practices you think would be concerning scrum in software maintenance?
      > >
      > > ......
      > >
      > > I would bring up more specific questions about it later on as i'm a bit stuck so far. Thanks a lot for your kind responses including all constructive advices and criticism. THANKS. MERCI. GRACIAS. KIITOS ...
      > >
      > > ps. feel free to contact me with any sort of ideas
      > > email: lixiaozhou725@
      > >
      >




      ------------------------------------

      To Post a message, send it to:  scrumdevelopment@...
      To Unsubscribe, send a blank message to: scrumdevelopment-unsubscribe@...! Groups Links

      <*> To visit your group on the web, go to:
          http://groups.yahoo.com/group/scrumdevelopment/

      <*> Your email settings:
          Individual Email | Traditional

      <*> To change settings online go to:
          http://groups.yahoo.com/group/scrumdevelopment/join
          (Yahoo! ID required)

      <*> To change settings via email:
          scrumdevelopment-digest@yahoogroups.com
          scrumdevelopment-fullfeatured@yahoogroups.com

      <*> To unsubscribe from this group, send an email to:
          scrumdevelopment-unsubscribe@yahoogroups.com

      <*> Your use of Yahoo! Groups is subject to:
          http://docs.yahoo.com/info/terms/



    • Show all 21 messages in this topic