views:

403

answers:

9

Hi,

I have been in the IT industry for 10 years now but have worked in "traditionally" managed project teams (both well managed and badly managed ones).

I have heard of the "new" scrum or XP type of project management and yearned to be part of one (as s/w folks we always like anything new I guess) but have not got an opportunity.

My question is this - what are your experiences in moving to the "new" way - was it significantly better or worse or not any different? Has there been any project success rate improvement when using XP way of development or it is same as any well managed traditional projects?

This should not be a political question but just your experiences as you have moved to the new world or experienced at least once and back.

Thanks in advance

+2  A: 

You take your old baggage with you when you go. Meaning that any project management bad practices you had before will still linger.

However, I will say that things improved greatly when we began to close the loop between us and the customer. Greater and more frequent feedback and prototyping with the customer means far fewer moments of the customer saying, "This is not what I wanted."

Robert Harvey
A: 

I'm on a team that started Scrum a few months ago and we seem to be getting things done faster and with much less "waste" (projects that are scrapped). Just my observations from our small team (4 devs).

Chris Missal
+2  A: 

I've used (a slightly modified) Scrum before at work and here are my thoughts:

  • The daily meetings and burn-down provided motivation to make progress on tasks.
  • Our manager could talk to colleagues across the pond and show them "this is what we're working on this month."
  • You knew exactly what tasks you needed to get done, and had already estimated the time required to complete.
  • When priorities changed (new tasks, important bugs added), there was a well-defined process to handle adding them to the sprint or simply pushing them to the backlog.
Corey D
Echos my own experience
Binary Worrier
A: 

I've found the overall move to Agile/XP practices very positive, in many ways it front loads quality into the project/development process. You'll need buy-in from management and from the team to really see success...a few suggestions:

  • trial any change with a small project (2-3 people)
  • understand what areas your current team can most improve (quality? productivity? time-to-market?) and incorporate a few Agile/XP/Scrum (what ever) processes in...don't incorporate them all in at the same time and understand which processes address which issues prior to any change
  • if possible - track those areas you're looking to change and compare to another project running at the same time (the mere focus of improving something often is enough to improve it ,there's a study/term for this, but I forget what it is)
  • sometimes you'll see a dip in performance as you begin a new process, this is part of the learning curve
  • never assume that a good change today will remain a good change tomorrow, always review your project areas and be ready to change any process at any time
  • no change remains good forever, just like refactoring code, refactor your processes
  • ensure you get buy in from the team and management, you can't force success
meade
A: 

I like some of the things the agile approaches do, but I also value some of the things traditional approaches do.

Both can work, as can a mixture of the two, which is what I find works best for my team now. I have implemented incremental development and it really helps us; iterative development is a little harder and we're still working on that. However, we have a variety of constituents, and many of our stakeholders (and PMs) prefer traditional artifacts and milestones. So we have to keep finding the right balance.

I have also found that even more important than the methodology is the people implementing it. Good people find a way to do good work and get things done regardless of the methodology, although certainly the methodology can have effects on efficiency (and morale :) ). Poorly aligned resources, however, can use the finest methodology and find ways to deliver poor results.

Bernard Dy
+9  A: 

Before I ever heard of XP, I had a really good manager (Mike) at an early job I had. He was used to managing engineers and transitioned to managing software. After a few bad working experiences I looked back at his style versus typical project management I had before and after working with him.

  • Met with everyone at least once a day but gave us space to work
  • Used a whiteboard with two columns, people working and what they are working on anyone could look at that board and see if something had been done or was being done
  • Had everyone cross-train. I learned rcs and then cvs there and how to use make files
  • Ran productive "post mortum" when a task was completed. He would ask question like "would it have helped if X?" or "next time, can we try to..."
  • Kept everyone working on short tasks and managed our time so we always working on something but never had a ton of stuff piled up

Mike did everything on paper. He would keep notebooks and index cards with him. He insisted that anything asked of him by management be converted into manageable tasks, often written on note cards. He refused to have anyone work on anything that couldn't be clearly explained or had a clear objective. He would ask the VPs "what do you mean by faster?" "What kinds of metrics are the reports meant to show?" "Why should this be a priority?" He seemed to have near infinite patience in writing out what needed to be done and what was meant by "done"

When I first read the XP book, I was amazed by how much was familiar as "the way Mike worked"

It seems that Agile is just about implementing a set of best practices and evaluating how they work in your environment. When they don't work, change them. When they do work, stick to them.

I think the real problem with traditional project management is that more often than not, it doesn't really exist. I'm amazed by how many shops claim to use RUP or Code Complete or even Agile and don't actually have anything recognizable as project management. Sure, there are meetings. And people called project managers. But ask a simple question like "what has been done on project X" or "what is left to do on project Y" and no one has an answer. They have to dig though emails or point to a comically inaccurate MS project file.

If a person claimed to be on a diet and couldn't answer questions on what they were eating or how they were exercising; would you accept that they were really on a diet?

sal
I would like to know where this manager worked.... that is a really nice thing to have the manager convert everything into tasks that can be clearly explained.
monksy
+1 for really good answer.
Greg D
@Steven, Mike's title was Sr. Developer but he was the defacto PM/Arch/Guy in charge. This at the now defunct investment bank, Lehman Br.
sal
A: 

For developers, the great lessons of XP & Co. are shorter release cycles, and a more evolutionary approach - in the sense that change of requirements is accepted as a natural part of any project. Also, Customers suggest solutions, but designers and developers need to understand the problems.

Lessons for managers: Developers are not exchangable spec-to-code-converters, their individual strengths and weaknesses can make a productivity difference of 10 or more for a given topic. Knowledge and experience are the most valuable skills in your team, and developers can teach each oterh. Managers need not understand what developers do in order to enforce desired results.


XP & Co. are usually mixing solutions to these with the problem to make a company change. The heroic XP consultant singlehandledly saving a doomed, delayed and derailed project acts as large part as a buffer between development and management. But if you are looking at what to learn, you have to separate these aspects.

What I learnt in the recent years is that bugs aren't a personality fault, and that the sky doesn't fall when specs change. I've learnt that while design errors are still the most expensive to make, there isn't a single "perfect" design. Instead of getting one thing right we need to implement safeguards that of all the many details none goes wrong - and I've learnt to use the leeway between "right" and "not wrong" to our advantage.

peterchen
+1  A: 

These are lovely answers, but I think everyone's confusing project management with development/design methodologies.

Richard Seviora
A: 

My experience has been that I prefer to use Scrum over traditional approaches as it hasn't happened often that requirements could stay unchanged for the length of a project where usually projects seem to run at least 6 months to my current one that is over a year.

There can also be the case where there isn't any project management and everyone just scrambles to "make it work" so having some formal structure is good over nothing. There is something to the question of how well does the team come together and egos rarely appear as it isn't someone's code but rather the code of the team and there is a kind of group think where while each person has their view, no one tries to make everyone else see things that way.

At times it seems to me that some Scrum and Agile approaches I've used end up being like rapids instead of a big waterfall. What I mean is that the cycle of gather requirements - Analyse and Design - Implement - Test - Deploy and get updated requirements seems to be repeated over and over so that what comes out in the end would be extremely hard to state at the beginning of the project unless the project sponsor could give very detailed requirements that would never change.

JB King