Showing posts with label agile adoption. Show all posts
Showing posts with label agile adoption. Show all posts

Agile Business Conference 2008 – Driving Agile Transformation from the Top Down at Borland

Well, here I am, at the Agile Business Conference in London. The keynote presentation is from Peter Morowski, Senior VP of Research & Development at Borland. Peter claims not to be an agilist or process evangelist. His responsibility is to deliver business results, through the reliable delivery of software product on time. Process, and agile, is just a means to an end…

Having said that, Peter’s first experience of agile methods was on a project that was going badly wrong. The project was completely turned around following the adoption of agile techniques, and specifically Scrum. Needless to say, now he’s converted. And he’s speaking about the merits of agile processes at the Agile Business Conference. Sounds like an agilest and process evangelist to me! (no bad thing).

Now he’s using agile methods to transform Borland’s development function. 350 people in several countries are structured into relatively small, agile teams of 12-35 people. As a result, they’re delivering more frequent releases, with greater visibility and much stronger engagement with the business.

Transformational change needs to go through stages to drive adoption in an organisation. Starting with establishing the foundations, then building confidence and socialising the changes. In the beginning, some teams said they were doing agile. But actually they were doing mini waterfalls, but in 4 week chunks. Some teams resisted the change, others were outright against the change. In the end, executive encouragement turned into a more prescriptive executive sponsored initiative, in order to drive adoption.

One ScrumMaster was made the internal agile coach and evangelist. As new ScrumMasters came on board, there was a supportive stage. There were people who were curious about agile, willing to adopt, but didn’t really know what to do. For these people, Borland provided training, coaching and guidance to help people make the change.

Although the executive approach was more prescriptive by this stage, the goal was to facilitate buy-in for the approach, not just to mandate it. Peter wanted buy-in; not compliance.

Borland also moved away from their centralised QA function, and set up multi-disciplined teams. The individual who used to head up the central QA function is now providing test leadership across the teams, being a mentor and coach to testers within the agile product teams.

65% of Borland’s teams are now using agile. 100% is not necessarily the goal. Teams that are successful are not mandated to change to agile, however those using agile have improved 100% in terms of delivering on time. The product teams, generally, are smaller. The business has greatly increased confidence in the teams’ ability to deliver. And morale in these teams is high.

Kelly.

P.S. Click one of the icons below to join the growing community of people keeping up with this blog by RSS or by email...
keep up by rss feedkeep up by email

read more

eXtreme Programming Is Not Agile!

In the course of my blogging, I've often come across comments or other bloggers talking about XP (eXtreme Programming) as though it *is* agile.

Truth is, XP is Agile, but Agile is not XP...

Although I like a lot of the concepts in eXtreme Programming, whether or not you use XP practices does not define whether or not you are doing agile development.

It's quite feasible that you're not doing Test Driven Development. That you're not doing Automated Unit Testing. That you're not doing Pair Programming. And that you're absolutely doing agile development.

Agile development is a set of values and principles. And eXtreme Programming is just one of the agile methodologies that supports these principles.

People using Scrum are doing agile. People using DSDM are doing agile. People using 'home-made' forms of iterative, incremental, collaborative development are doing agile. To a greater or lesser extent, I admit, and with a different emphasis. But they are certainly 'doing agile'.

eXtreme Programming, whilst one of the more popular forms of agile development, is only one form of agile development. And as it's name suggests, it is probably the most extreme. 'Milder' forms of agile can be equally beneficial, and should not be dismissed as 'not agile'.

Kelly.

P.S. Click one of the icons below to join the growing community of people reading this blog by RSS or by email...
subscribe by rss feedsubscribe by email


Photo by grisei

read more

Agile Adoption Has Hit A Brick Wall

Scott Ambler, IBM practice leader for agile development, and prolific author, has cited a survey that suggests agile adoption has peaked.

To read the full story, click here:
Agile adoption has hit a brick wall

Personally I'm not so sure.

I've commented before about surveys. They're potentially unreliable because it depends so much on which companies were in the sample.

Maybe they surveyed similar companies? Maybe the surveyed companies had adopted agile development in small pockets before and now it's mainstream?

In reality, I think it's very hard to judge.

read more

How Agile Are You? (Take This 42 Point Test)

Recently I saw a brief set of questions from Nokia to assess whether or not a team is 'agile'.

And by 'agile', I think they meant to what extent the team was following agile practices Scrum and XP (eXtreme Programming), not whether or not they could touch their toes :-)

I'm not sure if it was deliberately brief to emphasise the things that are the real *essence* of agile, but we've developed the questions into a more comprehensive set of statements. A set of statements that make a fuller assessment of someone's status with agile principles and methods.

Here they are...

  1. The team is empowered to make decisions.
  2. The team is self-organising and does not rely on management to set and meet its goals.
  3. The team commits and takes responsibility for delivery and is prepared to help with any task that helps the team to achieve its goal.
  4. The team knows who the product owner is.
  5. Each sprint/iteration has a clear goal.
  6. All team members, including testers, are included in requirements workshops.
  7. Requirements documentation is barely sufficient and the team collaborates to clarify details as features are ready for development.
  8. Test cases are written up-front with the requirements/user story.
  9. There is a product backlog/feature list prioritised by business value.
  10. The product backlog has estimates created by the team.
  11. The team knows what their velocity is.
  12. Velocity is used to gauge how many user stories should be included in each sprint/iteration.
  13. Sprints/iterations are timeboxed to four weeks or less.
  14. Sprint budget is calculated to determine how many product backlog items/features can be included in the sprint/iteration.
  15. The sprint/iteration ends on the agreed end date.
  16. All tasks on the sprint backlog are broken down to a size that is less than one day.
  17. Requirements are expressed as user stories and written on a card.
  18. The team estimates using points which indicate the relative size of each feature on the product backlog/feature list.
  19. The team generates burndown charts to track progress daily.
  20. Software is tested and working at the end of each sprint/iteration.
  21. The team is not disrupted during the sprint/iteration.
  22. Changes are integrated throughout the sprint/iteration.
  23. Automated unit testing is implemented where appropriate.
  24. There is an automated build and regression test.
  25. Stretch tasks are identified for inclusion in the sprint/iteration if it goes better than expected.
  26. The Product Owner is actively involved throughout each sprint.
  27. All code changes are reversible and it is possible to make a release at any time.
  28. Testing is integrated throughout the lifecycle and starts on delivery of the first feature.
  29. Impediments that hold up progress are raised, recorded on the whiteboard and resolved in a timely fashion.
  30. When someone says 'done', they mean DONE! (ie shippable).
  31. The team uses the whiteboard to provide clear visibility of progress and issues on a daily basis.
  32. The sprint/iteration goal(s) is clearly visible on the board.
  33. All user stories and tasks are displayed on the whiteboard for the duration of the sprint/iteration.
  34. Daily scrums happen at the same time every day – even if the scrum master isn’t present.
  35. The daily scrum is resticted to answering the standard 3 scrum questions and lasts no more than 15 minutes.
  36. There is a product demonstration/sprint review meeting at the end of each sprint/iteration.
  37. All team members, including testers and Product Owner, are included in the sprint/iteration review.
  38. The sprint/iteration review is attended by executive stakeholders.
  39. There is a sprint retrospective at the end of each sprint/iteration.
  40. Key metrics are reviewed and captured during each sprint retrospective.
  41. All team members, including testers, are included in the sprint retrospective meeting.
  42. Actions from the sprint retrospective have a positive impact on the next sprint/iteration.
Our approach to these statements is this:

* Ask every team member of an agile team (including the product owner, tester, manager, everyone) to review the statements honestly.

* Ask them only to mark a score with a 1 if - and only if - they believe they are consistent and it could be audited. In other words, if I was to turn up at any time and ask for evidence, are you confident you could provide it. Otherwise score 0.

* Add up the 1's for each team member. Then average the score for the team.

To what extent a team is really effective at all these points is another matter, of course.

But if a team has really got agile principles and practices consistently nailed, and according to every team member...

They score 42 of course! :-)

How agile are you?

read more

Agile Stepping Stones

Popular author Mike Cohn has written this interesting article, Patterns of Agile Adoption...

If you've already adopted agile development, what route did you take? What advice would you offer other people just adopting agile now?

And if you had your time again, would you do the same again?

read more