CSI @ Scrum

I will speak at 2 Agile conference in France (unfortunately only in french) see the french version for full description. I will translate as soon as possible.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Scrum and Agile are taught at school !

Scrum in class

Scrum in class

A few months ago, via a comment on our Scrum Video, i met Jim. He is teacher in University (North Carolina – USA) and asked me if we had a “copyright free” version of our Scrum Video. Indeed Red Hot Chili Peppers, music on our Scrum Video is blocked by youtube, for a copyright issue. After some emails, i learned that Jim was teaching Agile and Scrum courses at University in collaboration with one of IBM’s leaders for their use of Agile.

Personally i was very happy to learn that future consultants, project managers, developers,… can be so soon in touch with Agile techniques.

So we did a new version of the video with another songs. And a few days ago, i’ve learned that the video, this blog and the project we have achieved is now part of a homework given to students ! See attachment below, Section 4.

I’m glad that a teacher use different support (Video, Internet, Blog,…) to make a homework more dynamic, interactive,… hmmm let’s say “Agile” ;-)

Click to download

Click to see the homework (creative commons)

If you want to contact Jim here are the coordinates

Jim Yuill – jimyuill at pobox dot com

Find here the new version of the video Scrum Methodology an Agile Movie (HD).

Cheers

Bruno.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Scrum 2.0

Follow the leader

Follow the leader

First of all I would like to apologize… I’m really sorry… for such a “buzz title” in this post ;-) Okay but, let’s see what’s beyond this “Scrum 2.0″ expression.

In the project we worked 6 months using Scrum, the release was done and we had one month off. After the one month off, we were supposed to continue working on the same project with a second release in the next 6 months. Before starting, we took the opportunity for a lessons learned about our 6 first-months of work. One point was about the way we work in Scrum mode. Should we do exactly the same during the next 6 months ?

Something came up quickly. Some team members found the process of dividing a user story into tasks (+ estimate the task in hours) very heavy. I took the feedback and met each team member individually. We discussed the positive points and what could be improved. Then I checked if all the team wishes matched my Scrum master needs and constraints. Then I came up with a different way of working. We used the Scrum 2.0 method with success in the second release.

Scrum 2.0: How does it work ?

Before we start, some prerequisites:

  • Team remains the same (or almost). In our situation, we had one new team member.
  • In the last 6 sprints, team became more and more autonomous.
  • Productivity of the team improved at each sprint.

Here’s what was done and how our way of working evolved.

1. No more “ breaking the requirements into tasks

We no more broke the requirements into tasks. However we kept the concepts: User Stories and complexity (Fibonnacci). We didn’t give up on post-it notes: If some tasks seemed important, we wrote those tasks or some “attention points” on post-it notes. And then, as usual, we sticked those notes on the corresponding user story.

2. User Story leader

For a user story to be done, here’s how we do it. First team member who takes the user story is considered as the Story Leader for this specific user story. To make it clear (and visual) for everybody, he sticks his color on the user story and draws a star on it. The star means, that this team member is the Story Leader for this specific story. See also “Scrum 2.0 illustrated” figure for more details.

Scrum 2.0 illustrated

Scrum 2.0 illustrated (click to enlarge)

Story Leader is responsible for this Story, which means two important things. One, if several persons have to work on the story, the story leader will coordinate and follow up the progress. Two, story leader is responsible for the information and the communication, he speaks during daily meeting. If Scrum Master or Product Owner have questions on a story, story leader know the actual situation and can immediately give infos and details.

For instance: Scrum Master asks to Soulira (Story Leader for Story #45) “How far are we with Story 45 ?”

Bad answer: “yup, I don’t know, Vincent is actually coding this story, you should see with him…”

Good answer: “Vincent will end coding this afternoon, then I will update the design, you can consider it done for tomorrow 5 p.m.

3. Web Analyst

In our 1st release, the 6 first-months, we had specs with a functional analysis. Therefore, we created our product backlog based on those specs. This had the advantage, that the specs were validated by all the stakeholders (client-side). However, in the second release we had to restart from zero, without detailed specifications. And we needed our user stories to be ready asap for the team to start development. An additional issue, that could cause delay, was that the product owner had to validate priorities with a work-group.

To fix these potential issues, I decided to create the Web Analyst role. What is he supposed to do ? He has a month to help the product owner writing user stories and prioritising them, in order they discuss them with the work-group. Once finalised, the user stories are ready to be presented to the team.

Example: In January, the web analyst worked with the product owner and the work-group. End of January, we did the sprint planning together. We then discussed on a set of user stories already negotiated with the clients. On February, 1st, we could start the sprint.

To summarize, role of the Web Analyst is to be one-month ahead to the rest of the team.

Why should we change our way of working ?

For us, this change in our way of working was a success. One benefit was to reduce the risk of frustration of the team regarding the “breaking the requirements into tasks” actions. The other benefits was that the team members were more “responsible” and took the lead on the project.

I remember, at the very beginning, even before questioning our way of working, I was desperate. Things were not going so fast and so well the way I wanted. Agile Principles were not correctly applied… I remember discussing with an Agile coach and he told me: “Look it’s normal, you will see, at each sprint, the team will gain in efficiency” . Indeed, starting sprint #3 I was reassured things were getting better and after the first 6 sprints we did 6 additional sprints using our “Scrum 2.0″ method.

In a project it is necessary to evolve or to adapt, that’s why Agile and Scrum have feedback and review mechanisms. By applying those mechanisms I was able to set-up a new way of working for the team. How was I able to set this up ? Simply by listening to my team members. Do not underestimate the power of feedback, sprint review and lessons learned !

See you soon !

Bruno.

Ps: I wouldn’t advise a fresh new team to work this way, but it’s a good basis for an experienced team who wants to work in a slightly different way.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

1/5: Team is “multi-tasks” (Five keys to succeed in your Agile/Scrum projects)

Team is "multi-tasks"

Team is "multi-tasks"

When i initiate a project, i regularly have this question from a team member. “Look, what specifically will be my role on this project ?”. And i always answer… “i don’t know”.

To make your project a success first point to consider is that the team (and so do you) must be “multi-tasks”. Indeed, on a Agile or Scrum project , do not expect to have a “job description” with the different actors (developer, analyst ,…) and the various tasks associated with these roles (the developer is responsible for code ,…). No, on a Scrum / Agile project we can summarize pragmatism by: “Project comes first”. If the project success requires you go and buy colourful post-it notes in a shop, then you do.

“Usually we don’t do this way ?!” Is one of the top 5 i hear while i’m working on a project ;-) According to the latest analysis from Gartner that I read, over 70% of IT projects are unsuccessful, it may be time to change our habits?

The team must be “multi-tasks”

OK but what do we mean by that? It’s up to you, as a Coach, Scrum Master, Experienced Team Member, to explain to your team the meaning of “multi-tasking”. We could summarize this approach by: during the project you should 1. inspect and 2. adapt, thank you Derek ;-)

Example, as an architect you will need, to study the IT architecture, it is possible that you have first to take the Sherlock Holmes role to find the existing documentation. Another example where no testing tool is used, it’s up to you to propose one. OR: the customer is 50km away from you, how to install Skype on the network ?. There will be many different tasks to achieve. We can not guarantee, for example, to a developer that he will only do development and not testingt. Or, to a functional analyst that he/she will not have some technical tasks. This is one of the reasons why, in Scrum, we do use the term “Team Member” and no “developer”, “analyst”,….

Rather than explain “Why it doesn’t work” and “Who is to blame”, our approach will be:”What do we have to do to get it done? ” And to make it happens, each team member must make all sorts of different tasks. There is here no “good” team member who is multi-task or a bad “team member” who always wants to do the same thing. We speak about honesty and humility. It’s up to you as a team leader to explain at the very beginning of the project, what you expect from your team. So, when you recruit your team members if someone tells you “no thanks, I am only writing code nothing more”, that’s ok. He will go on another project. The organization also needs people who work like that. A more “operational” team is also useful for your company.

Tools

On a IT project being “multi-tasks” is obviously bring Agile techniques or different collaborations methods. Like Xtreme Programming, Lean thinking, pair programming, test driven development, using user stories… Everybody can bring ideas !

In the way the team members interact, we will also provide sharing of knowledge and take decisions as a team. Thinking together is important at this time. Bring all the brains around the table will allow us to have “perspective”. For example, we will not use a sexy technology (web service, flex ,…) if we consider that it has no added value for the customer. In this kind of process, it can also be very interesting to mix people with very good knowledge of the project, with people not knowing the project at all.

Multi-tasking in practice, the Sprint #0

In my opinion, , it is best to start with a Sprint #0. In short: you want to do Scrum? Ok start now … I mean NOW. Imagine. You are Scrum Master or project manager, and you must initiate the project. If you already know who will be in your team, even if only 2 people on 9 are available. I suggest you to start in Scrum mode immediately.

  • You’re three? Make at least one daily meeting every day.
  • You want to organize the move to have offices for your team ? Divide tasks between team members
  • You want to create the Scrum Board? Create it with the Team
  • You want to select technology, already put the team in the loop

The faster it will be concrete, the faster your team will become familiar with the method.

A sprint #0 is the ideal method to do all the “initiation” tasks on a project. Like: set-up the team, seat the team together, choose tools, architecture, create product Backlog,…

That’s all for the moment.

End of our first episode of our series “Five success factors for your projects Scrum / Agile”.

Feel free to give feedback.

Take care.

Bruno.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

0/5 Five keys to succeed in your Agile/Scrum projects

caption

Five keys...

I’m for the moment working on a serie of posts. Theme will be: “Five keys to succeed in your Agile/Scrum projects”.

The idea is to suggest five principles which, if implemented, will greatly increase your chances of success on a project using Scrum or methods Agile. Those posts will be based on various sources (training, coaching, feedback, lessons learned) . You can also apply these principles on a waterfall project using Prince2 or PMI.

Articles will cover Scrum principles, Agile principles but also other things like coaching principles or NLP concepts.

I have a lot of ideas and therefore I think this theme of the five keys will be divided into a series of posts.

I will conclude with two things, first of all thank you for your emails, your comments via the blog or via tweeter. It’s a real pleasure to share with you. A special thank you to Kelly Waters et Claude Aubry having me published. Thank you also to Dany Butaye and Lahcen Afif for helping me to set-up my blog.

Then I wish you a happy new year, full of happiness for you, your friends and families. Happy 2010 ! :-)

Bruno.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Web portals Made with Agile and Scrum

description

Portal about mobility in Belgium

On  December 16th, we have deployed the third version of our two Web portals. Brussels Mobility and Brussels Public Spaces.

I can already hear you asking me… “but what are the new features in this version 3 ?” … here they are!

BruxellesMobilite.be

> Integration of a search engine
> Maps in full screen
> Better visibility of icons on the map (homepage)
> Integration of an interactive map concerning bike (Villo, bike shops, regional cycle routes, cycling points ,…)
> Integration of an interactive map car (Cambio stations, parking information with real-time transit parking ,…)
> Module Survey
> Free Widget (space to advertise for a contest or other)
> Development of the video feature
> Adding online forms (Taxis)

BruxellesEspacesPublics.be

> Integration of a search engine
> Maps in full screen
> Development of the video feature

And of course, all theses new features were developed by an outstanding team … using Agile methods.

“Bravo” to Soulira, Karl, Vincent, Sebastien and Giuliano.

For information:

On the Mobility Portal Brussels you will find all info on travel modes (bike, car, subway ,…), sites current traffic conditions in real time and redevelopment projects in Brussels Region Belgium .

On the portal Brussels Public Spaces, you can find any information about the redevelopment of public spaces (roads, squares, tunnels, underground ,…) in the Brussels region of Belgium.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

The Visual Calendar, a “so Agile” Follow-Up Tool (Guest)

Picture 3

Organising Agile Teams With A Visual Calendar

This week i’m proud to be a “Guest Blogger” on Agile Software Development Made Easy!

Blog post “Organising Agile Teams With A Visual Calendar” can be found here.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Definition of Done (DOD)… or when the “Go Live” sounds like fingers in the nose

légende

An example of "Definition of Done" or DOD.

Bob: “Okay, this is it, i have finished developing this module. Deployment is done !”

Gerard: “Well, I can’t see nothing …?”

Bob: “On my workstation it works !”

Come on, admit it … you’ve already lived such a drama isn’t it ? :-)

One of the things I like in Scrum, and it my opinion it is one of its greatest strengths! I like that, when you said that a task or a User Story is done … well it is really done. In the case of an IT project, done means that stuff is developed, tested, documented, deployed on the test server etc. This is What Agile call the Definition of Done (DoD). The principle is simple: to switch a User Story in the column “Done” of the board, all the DOD criteria are met.

We sometimes use the term “Production Ready”, meaning that once your User Story completed and validated by the client, it can potentially be put into production. No further action is required.

Documentation

Regarding the management of the documentation we try to apply some principles of “Lean”. I mean produce only documents with high added value. Often we can transform the question “do you have documentation?” in “what is you question ? What information are you looking for ?”. Then we provide the information. The idea is not to spend tens of days to produce documents quickly outdated. Warning! I’m not on trial with “doing documentation”. Documentation is useful but I think it is a means and not a goal to achieve. While i’m writing this paragraph I realize that this problem could be the subject of several articles.

Anyway the point is that i have a new crush about how we can do documentation… the use of video. Personally I use iShowU on the Mac that allows you to do video screenshots in a very simple way. I strongly believe in this: it is faster, more fun for the person who must “read” the document, easier to update.

The Go Live

The biggest slap that I receive using Scrum is how the production launch (i mean the go live) was …. cool! Yes you read it well. In fact, as we respect the DOD, as each month we did a demo to the client, the go live has been … just another sprint and no more. Since the deployment procedures were used for each sprint, the start of production was a simple roll on to another server.

Well now I will not lie to you … when the date of the go live comes close,  my pulse start to beats faster and faster and I expect problems and bad surprises. Our production launch has nevertheless taken a few hours and needed one or two minor manual adjustments. But honestly, in more than ten years of my career, I had never a go live o easy … and I must say that this was not to displease me.

Capitalizing on tests

Several points of the DOD concern testing, the advantage of writing tests is simple… When you are ready to deploy, you have a huge “set” of tests that can give you a good indicator of the quality of the release. In addition, for the next versions of your software, you can still use the “old” tests for the regression testing. By the way, i would like to thank the team with whom I worked. For the first time I did not have to “negotiate” the fact that we must write tests. They were all a lot “quality minded”. A member of the team had even developed a system requiring that all tests must be “green” to each commit … yes we are true psychopaths :-)

Le "DOD" en contexte

DOD in context, don't hesitate to update it on each "sprint review".

Finally, DOD is a living document and his lifetime is the time line of the project, in the example of DOD that you find at the bottom of this post, you will see that we added some things during the project (allocation of user rights and negative error handling). We consider that DOD is so much important that we placed it in the middle of Paul (So we call our “Scrum” Board). See picture.
I would like to thanks Bob and Gerard ;-)

Bruno.

More info:

Blog Post on Definition Of Done (en)

Example of Definition Of Done (ppt): Feel free to use it, just give me some credits.



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Scrum and Agile methods as a Business opportunity !

how to get to use Scrum at the client's place

how to get to use Scrum at the client's place

So there it is, you’ve discovered Scrum! You’ve talked with other colleagues or friends, you read a lot of blog and articles. Your stuff is ready, you read books until you felt asleep. You have selected a project that you could … no … that you want to achieve using Scrum! You are so ready !

Mmmm just a little detail to be … budget, and often there is the fall. Indeed, on one hand, Scrum and Agile methods can be attractive for people working in IT, on the other hand, they may seem incongruous or strange to decision makers (CEO, Sponsors, CTO, Customer ,…). Now, dear Scrum Master to be, it is precisely these people that need to be convinced of the usefulness of this method. Because it is these people who will decide whether to allocate the budget for this project.

A real business opportunity

My last project was for the Belgian public sector…yes you know…Belgium…right here :-) I was there originally for a consultancy mission to produce a call of tender for the creation of two Web portals. We made the specifications in collaboration with the client but when comes the estimated budget (over € 2,000,000) the customer indicates that we did not have that amount. The problems never come alone, we were increasingly confronted with another problem: the length of the procedure of the call of tender. And to top it off, for reasons of its own, the client needed to have “something” 7 months later.

Following this to save time on the invitation to bid, my manager offered me to use another procedure, faster but more risky. At that time I told him about Scrum. I told him about the method not in terms of daily scrum, product backlog and sprint review. I simply explained that I knew a method that could deliver in 6 months “something” that can go live. So I sent him a proposal of a “composition of team” on the needs of our project:

* 2 people with a profile of experienced Analyst Developer
* 1 person with a profile Webdesigner
* 1 person with a profile of Architect
* 1 Scrum Master (me)
* 1 person with an expert profile in Geolocation

The budget available for the project was fixed, so we decided to set up a joint team of internal and external people. We still had to “translate” the specifications to a series of User Stories reflected in our product backlog.

Results so far:

* For our client a success story at a much lower budget
* For our consulting firm, several consultants on the project for one year and a half
* For me, have been successfully used Scrum and to fill the customer expectations

Compromises

If you are a married guy/woman or have a girlfriend/boyfriend…you’ll understand this topic ;-) Okay i apologize for the macho style :-)

You get it right, if you want to be able to achieve a project using Scrum / Agile you will need a GO from a person generally unfamiliar with these methods. The main challenge will be to make your sponsor, customer and you agree on a set of mains prorities to achieve and not on a list of very specific features (because the product owner may change his mind).

Feel free to discuss with your customer in terms of constraints: Budget, Planning, Features. In our example we have agreed with our client a fixed deadline, a fixed budget but asking him to “negotiate” on features. And you know what? What a coincidence.. It is mainly one of the asset of Scrum ;-)

Feel free also to compromise … Your client may have already methodology in place, and maybe he has spent a lot of money to specify some standards of project management. If you are “forced” to produce certain document: Project Charter, PID, Progress Report. It is good practice to negotiate like this: ok I’ll make your documents and methodology on your side you agree to follow some Agile/Scrum principles ?

If you do not have the commercial or business talent do not hesitate to seek advice from a project manager, a coach or why not one of your business manager in your company they will give you excellent advices on the best way of “make it happend” to a client.

Finally you can also reassure your client by running a pilot project. Then choose a small project with very little risk. Success on such a project will certainly lead you to other opportunities.

Because, ultimately the idea behind it is to use a method that bring more sense in the company and use this method to serve customer needs … no? “

Good luck to you fo all your achievements!

Bruno.

Ps: The two Web Portals we have achieved using Scrum and Agile methods: in french and dutch: Portal Brussels Mobility and Public Spaces

More info:

Agile Software Development: Why should your business care?

What is Scrum ?



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Scrum Video: Scrum works in the real world

Here it is !

A 5 minute video which is a feedback on Scrum. The idea was to make a fun team activity (the creation of the video) while promoting a methodology (Scrum) that we find effective. We also wanted to link to an existing project and not just a video explaining the concept.

http://www.vimeo.com/4587652

This movie was realized during a project using the scrum methodology. This was a great experience during 6 months: an experience sharing, exchange, a little bit stress but lots of good humor and with finally 2 Web Portals.

No commercial or lobbying here ! We just want to share a great method that facilitates the realization of a project.

You won’t see any commercials for our company, just thanks to other people, or mention tools (all free and open sources).

Scrum is part of the “Agile World” method and is totally free.
See: http://en.wikipedia.org/wiki/Scrum_(development)

Introduction: Opening scene of “The Lord of the Rings: The Fellowship of the Ring” directed by Peter Jackson

Music : Red Hot Chili Peppers “Snow” http://www.myspace.com/redhotchilipeppers



This content is published under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes