statcount

Tuesday, 8 October 2013

MVP-BFF, Tomato-Tomato

While the transformation is progressing well with Agile thinking being integrated in all areas of the Enterprise, Continuous Integration and Continuous Delivery are a sore area that my client is trying to work out.
Because of the draw of the sticks, usually QA is the team that is pointed as the bottle neck on the delivery. Why? Because it is last on the process. Why? Because the feature work doesn't start with testing in mind. Why? Because the features are still being designed and built with very little input from QA. Why? Because the system is complex and testing end to end for a small change is very expensive.
So the ball ends into QA's port. In order for QA to do something about being called bottleneck, the feature delivery should start with the end in mind, with a thin slice of functionality. And the QA manager at my client, came up with this idea on his own, after a long week of thinking stuff over, on his way to Sunday golfing. His thinking was to start working on "Basic Functionality First". The way he explains this is:
If the goal of the project is to create an online store, start with setting up a way for a client to order a sprinkler using only Visa. Client should be able to go online, select the only item available (a sprinkler), pay for it with Visa and have it delivered home in 3 days. This is the BFF. Once this is proven, start adding more items, more ways of payments, etc,

For a mature Agile ear, this is the concept of MVP, where you deliver to the client the Minimum Viable Product and then based on the feedback expand and add more features.
When I heard him explaining BFF, MVP came to mind but I decided not to ask him to use MVP. He liked BFF, it is original, makes sense on that company and it is THEIRS. It is not something that someone else is talking about, and maybe on a different context.
So BFF is now something everyone talks about and everyone wants to see it happening. In the spirit of making BFF work, the need for Automation Testing and a Continuous Integration system is identified. You can't have BFF without a good CI system, right?! But to have a CI system in place, you need Dev team to work with Ops team. Guess what? DevOps is now on the table and is being considered!
It is amazing what the intrinsic motivation can do! Way more than I was thinking and how I was thinking to run with it. Pfffff.. my plan sucked! My plan was not a BFF.
I am well aware that setting up a CI and DevOps on an Enterprise organization that is complex and sort of behind in technology is not an easy bite. But once again, I am experiencing, an agile transformation hitting the technical wall. There is so much you can do with only Agile thinking. Technology has to step it up and support all that. Call it MPV, call it BFF it is the same need over and over.
No offense to Eric Reis, but I like BFF better than MVP. Has a more collaborative and amicable tone! I imagine Developers, Testers and Business holding hands and running together on green fields, with a cycadelic tune behind it!
BFF FTW!



Monday, 12 August 2013

My first Agile 20xx conference

Yes, was my first and I went as a speaker! The proof is on the shiny gold letters.
Well, co-speaker really. I presented with Jason Little  on what we have been working on during last year, Transforming a Public sector company  to Agile. It was definitely an experience that I had to go through and feel it by myself, while working with a PRO on presentation like Jason.
I am very happy that our presentation went really good. I was impressed that our talk got the attention of some really cool names in Agile circles like Ellen Gottesdiener,  Jeff Morgan (aka Cheezy), Diane Zajac-Woodie, Leslie J. Morse, Mike Bowler, Alexis Hui, Raj Mudhar, Jake Calabrese, etc. Receiving a positive feedback from them meant A LOT!
It was really good that our session was on the first block. After that, I could enjoy the rest of the conference. And there were a lot to enjoy there. As a first timer, I didn't know how to maximize my time there. I tried to pick a session where I would benefit the most, but I don't think I did well. There were so many good sessions and I know I missed a lot. The other thing I missed were the non-official sessions going on outside the rooms. I kick myself for not spending more time there. The one time I stopped by, I laughed the most. Matt Barcomb and Bryan Beecham started a game on how to best use the estimation cards. A lot of people joined the circle after we started and a lot of rules were set and re-set. The game at the end was called "Promiscuous Poker" (don't ask why) and we intend to publish it as Plan H for our early retirement.   
I was really proud to see Alias on one of the slides from Jeff Patton. I have worked at that company for 11 years and I know that what we did there was special and unique, until was acquired.
The session with Sue Johnston and Andrew Annett was great too. People like me, that think while talking, have a lot to learn from them.
The surprise of the conference for me was Andrew Shafer.  First he surprised me by reading "The commitment" book at the party, on the boat. Then he surprised me for keeping me awake on the very first session in the morning, after a long party. I really enjoyed his point of view and I proposed him to be the keynote speaker for next year. He ended his presentation with something like "You are awesome. Continue learning. Go!" that would have been the right message to open the conference.
Another session I enjoyed was Ron Jeffries and Chet Hendrickson. They work together like Dean Martin and Frank Sinatra, beautiful harmony, fun and entertainment.
The best story I heard: after a presentation, Mike Cohn and his assistance discussed about the next venue and decided on the hotel where to hold the venue. Mike went home and next day he gets a message from her saying "Mike, the hotel is booked". Happy with the results, Mike considered this venue all set up and ready to go. 2 weeks before the venue, he gets an email from her saying "Mike, what are gonna do about the next venue. We don't have a hotel yet and there is no time left". He writes back and calms her down, reminding the email where she told him that the hotel was booked. To which she replied "Yes Mike, the hotel is booked as: There is a wedding and the hotel is booked!". Oops!
I have a lot of things to remember from this conference. Nashville, the huge hotel Opryland, Tootsies, first time to try fried green tomatoes, 3 hour naps during the day, Bourbon beer, meeting all these "agile rock stars" that I knew from books or Tweeter, feeling comfortable in the crowd that spoke my language, got a hairy LeanDog hat, first karaoke (duet with Declan Whelan) "Superstitious", awesome guacamole made fresh in front of us, and the feeling like I was on a different planet without gravity.


Friday, 2 August 2013

Disconnect the tool from the mindset shift

The team I am working with is new to Agile. They are fully aware of being for a long time on Waterfall environment and moving to Agile is something they are struggling with.
One the things they are struggling a lot is the tracking of the project.
Working with MS Project, tracking activities, tracking the time spent to the project to the minute, is so deep on their way of thinking, planning, doing and behaving that over and over I find myself pulling them up a level to get them to track stories, value and deliverables.
On the same time that they are asked to shift the thinking and what they track, they are presented with a new tool. It can be any tool but everyone know about Jira, Rally, VersionOne, etc. So I'm not gonna say what is the tool here, let's just call it StoryTtacker.
What I constantly hear is the blame about this tool. How will we enter the stories to StoryTracker? How will we break the stories to StoryTracker? How will we track in StoryTracker the big stories that we can't break into smaller chunks that fit in one sprint? I need to create a story in StoryTracker about the meeting I have next week with another group. Testing should be a story in StoryTracker because is really big.
I have heard the same complains before on another place where instead of the StoryTracker we used just stickies on the board. Exactly the same issues.

So today I got an AHA!! moment. It's not the tool to blame, it's the story tracking thinking.
They are struggling with working with stories, with giving value to a story, with understanding what the story is for a user, with understanding who the user is for the work that is being done, with understanding what the GOAL is for the story that will be done on the next sprint.

I'm thinking that I might suggest to them to use MSProject as story tracker if they think they will do a better job with that. The conditions will be that we will not track activities and meeting. Continue to track stories, but let's see if the problem is the tool or the mind set.
First thing I'm gonna challenge them when I get back to work after the Agile 2013 conference in Nashville.



Saturday, 6 July 2013

Let's Play!!

I am a true believer that people learn more by doing than reading or listening. So I try to make my teaching more interactive. That is also good for me. English is not my mother tongue language so sometimes, some "big" words that would explain something really good and precise, they just don't come to me at the right time. But if I tell stories, play games, engage others, have eye contact and discuss, I am a better presenter. Another coach that I have great respect, Griffin Jones, pointed these out to me at the Open Space back in April and I think he hit the nail in the head in 2 minutes.

Recently I feel I am writing a lot of presentations. Not sure how I ended up here, but I am really spending a lot of time with PowerPoint and formatting slides. I will tell about 2 sessions because I think both my audience and myself enjoyed. Read this as a retrospective of good sessions, but never forget that there is always lessons to learn from those too.

1. A new team in Agile was struggling with how to work in Scrum
I am the Scrum Master/Coach for this team. I joined the team when they had passed the business decision to work on this project and they were into the initial design discussions. I knew that some Agile training was done but didn't know that only some of them had participated. So on our first retrospective, the number one frustration was "we do not know what is next in this Agile process. We knew before what to do and what to expect, but now we are not confident". Clearly, there was need to explain not just Agile thinking, but more of agile mechanics.  I prepared 6 slides to explain how Agile fits into System thinking/Lean, the 9 rules of scrum and then, we plaid. I decided to play "Build me a city" with Lego. You can find the material here: http://scrumalliance.org/resource_download/2757 
The game in itself is fun. We found some Lego talents and they had to do the whole scrum process end to end. We did back log, sprint planning, demos and retrospectives, burndown reports and also added a spin with remote team members (working far from the table) and a 50% allocated person (switching between the two teams).
One team started asking me early on some decision they had to make like "Is the bridge for people or cars, or both?". At the end of the first sprint, they had some building prototypes to show me and I gave them feedback so they could fix it later. After all, that team did really well. They did what I asked, made changes after my feedback on demos and added also some delights since they loved playing with Lego :)
The other team did not interact with me between sprints. I met them and their Product Owner only at demo. The did not present me any prototype for buildings during the iterations, but at the end showed me 1 of each. Clearly, they did not understand my requirement to have several buildings of each type. The very first thing one of the team members did, was to draw a blue line on the paper and say "here is the river" without asking the others. They all jumped in alarm and told him to stop until they draw a concept of the city first. And then the whole design was around the river being where was drawn. They also did not organize well the work between the team members and the level of collaboration was more on the chaotic side. After all, they built only 1 type of building, added some delights when my main requirements were not completed and felt like pointing the finger to the product owner after all.
Here the pictures of what they built

Guess who learned more? The second one!
After the game we had some good discussion and I was there just to ask questions. The answers were somewhere in them, or the other team. Was really good and fun and we still use it as reference when we are in similar situations in real software development.

2. Working with Executive leaders
I volunteered to hold a session with my team of coaches about the pain of presenting to executives. Someone asked "Who are we considering Executives?" and the best answer he got was from Gino Marckx across the table saying "When it gets scary :)". The model I proposed was Insights Discovery because this model is used for Customer Service Representative training. After all, I think, talking with an Executive is like serving a client what they are looking for. After I explained the model, I got everyone in the room to build their personality tower, again using Lego blocks. This was easy, just a group of 4 colored blocks per each (red, blue, green, yellow) but they all felt engaged and "IN" the presentation. To make it more real, I gave them the task to prepare to present the status of project to an Executive sponsor. I made up a project that was in really bad shape and I split them in team A and B. Team A will present to a Red executive and Team B will present to a Blue executive. I had prepare a 1pager for a real Executive leader of the company to explain to him what was going on. After both teams had about 30 minutes of preparation time, the executive came in the room and took a seat. Both teams presented to him in 10 minutes each and at the end, we had a chat with him.
Here is them preparing. Guess which team is writing things down and preparing detailed report? :)

Team A didn't do very well. They took it easy and relaxed and "told" him what they were planning to do. He fired them on the spot :). The "PM" was literally sweating even-thought that was all staged.
Team B learned from Team A and started well (with introduction), presented better and supported with material. They "offered" options for next step.
Funny thing is that, the Exec said that none of the teams did a good job to convince him that they will get the project on track. The plan was 10 minutes chat after the presentations, but he went really above and beyond to explain to us real life situations with some really scary executives. Was really good and very fruitful 60 minutes of everybody's time.  Ended up being a talk that I wish I had recorded and listen over and over. Funny thing is, that he had been sleeping for 2 hours every night in the last couple of days. Imagine if his energy tank was fully loaded!

Monday, 24 June 2013

Toronto Agile Coach Camp

So what do agilistats of Toronto do on Father's day weekend? They decide to have a kick-ass Coach Camp.
I didn't want to organise any session, I was really thirsty to hear new stuff. So I only put a sheet of paper at the door and asked everyone to write Agile movies :) I liked that hashtag on Twitter and I thought would be fun. Some people did write some movies, but I forgot to take a picture of it at the last day :( Oh well, was meant for fun so I hope some people read it and had a smile.
Friday evening was really easy with some lightning talks and some games. Then Saturday and Sunday were busy with some really good sessions. A lot of times, I couldn't decide between 3 good sessions at the same time.
Here a picture of the wall with sessions.

My favs:
1- Declan and Paul Whelan. Two brothers, Paul architect "with bricks and mortar" . Declan with computers and debuggers. Nice to see some commonalities, especially during the pre-delivery of a software. I know that there is a big discussion that "software development is not like building a house", so i won't get there. I got two ideas from that session : 1.Crits- people of different areas that come and critique the architecture proposed. 2. Cost contractor - people that come and prepare the cost budget based on the architecture proposed. I like the second one a lot because right now, I am working with a "project team", so a bunch of people that are gathered to finish a project. One of the pain points is the cost calculation. The sense of 'service' does not exist and there is no predictability on the cost for a certain work. If work is offered as services with a known cost, then budgeting would be easy. The best would be to have stable teams, but that is a bigger battle right now.
2- Michael Spayd. He is a Jedi! Love his style and his laud laugh! His session was about the "Spiral dynamics". It is about the level of a society, how things are done based on certain governance and then compare that with organisations, or at least this is how I understood it. He lined them up with colours beside each and focused on Red, Blue, Orange, Green and Yellow.

At the end, we had an improv where in split in groups per each colour and discussed which one was better, off course, making a case for the colour of the group. I was Blue! That meant that I had to make sure people do things as per the book, as per the rules and follow the process rigorously. Was not hard at all to improv that role. I have seen so many people like that! :)
3- Mike Bowler. Continuous Delivery. Eh, that little geek left in me needed a bit of fuel! Good conversation, good ideas and good direction on not to fall back on the old way of doing things.
One thing I remembered is that to have high technical standarts, you must have a strong understanding of the consequences that you have to deal with in case you do not take 5 extra minutes to do things right. We are so "lazy" sometimes and we think we are wasting time, but we forget the quality of the code, the need for a good automation system and the need for deployment in small batches.

I have to say that the session of Simon on SOLID gave me the same familiar feeling. Geek talk! I loved the fact that Alistair McKinnell was there and participated in the discussion. It was great to see him "in action". Not just about what he was talking, but also how he was directing Simon to lead his session in a better way. Master coach!

At the end, I managed to put up a session. I did it more for myself, was a ask for help. Practically hired Michael Spayd, Alexey Zheglov, Declan and some other people that were interested on he painful budgeting of an Agile project on a non agile organization. I have to say that the best thing of that session was this twitt: "We want to be agile. We bought Jira".

Temenos was another session I went and I understood I have a clean slate. I missed so many good sessions, but what can I do :(

At the end, a long rope was thrown all across the room and made a big web. Everyone that touched it, was thanked for something and thanked someone.
A lot of people referred to the group as their "other family". I am starting to feel like that too now. A lot of familiar faces, a lot of people that share the same point of view and understand jokes like "How many agile coaches you need to change a light bulb". I was fascinated by some people, by their courgae and by what they have done with their lives. Good examples and good source of inspiration.

Wednesday, 29 May 2013

Run your project like a train

Every day I take the train to go to work. I notice how groups of people start creating in areas where the doors of the train are expected to open. It must be funny if you look from up above. Imagine a long train platform and groups of people spread in 4-5 meters distance between each-other, all long the platform. Why? Because they expect the train to arrive soon, and based on previous days, they expect the doors to be open at a very short distance from where they start forming groups. The first that gets in, might find a place to sit!
So I made a Mind Map to organize the lessons learned from riding a train, and map them to running software development project.


I can go as literal as I want to, but there are some good areas to learn:

1. Even though a train can go very fast, the speed is limited, to control the timing at each station. It is almost like limiting WIP to have a good pace and be predictable, without extra effort
2. The Project team can be kept at the required minimum (there are 2 staff on the train and some staff at the stations to deal with ticket issuing).  Operations are there to make sure everything runs smoothly.
3. There is a good Communication system for emergencies, updates, notifications, etc.
4. There is a map of the route and clear understanding of destination
5. If there are issues, buses run as backup strategy
6. There is a clear Cost strategy, based on the distance
7. Good strategy on Dependencies (a train stops when the train ahead has problems)

And this is from a Canadian train. Imagine how much we can learn from the German train system!!

Wednesday, 8 May 2013

How would I run an Agile transformation: Hamburger style!

I can't say I am "an experienced Agile coach" but I have seen three of them in big scale. In all three, the initiative has been from the Top (CTO, CIO, Department VP) as "Agile is the solution of the issues we are facing". Issues can be different but more or less are always around expenses, ROI, fast delivery and also as a peer pressure since all the successful CIO/CTOs out there are benefiting from Agile tools and practices. So far so good.
Usually, the way it gets executed, it is with project/product teams.They are the first to attack since they deliver what we produce. An outside or internal person that knows about Agile, is assigned to work with delivery teams. There is some work done with Managers as well, to help them understand the new language the people will start using now on.
What I notice is, that after a while, the Top and the Bottom layers are running Agile in their own way with their own expectations, but the layers in between, Managers/Directors/AVPs, are stuck. They are still Managing details, day-to-day operations, Severity 1 issues, approve Gatings, control communications top-bottom and bottom -top, run performance improvements, .....They become bottlenecks and get very busy at it. 
I think that the Top layer, needs to understand Agile delivery before they ask for it. As a rule, in an Agile delivery, you hit first the most visible/riskiest feature and then improve/add functionality on it. In an Agile transformation, this feature is seen to be Delivery process and that's why, the whole work of the transformation is done around improving the process, making the process agile.
When I make two steps back, improving the delivery process, is the whole "product" you are delivering in a transformation. Some analysis, story mapping and story breaking need to be done, to understand what is the most visible/riskiest feature of this delivery process you will produce.
 And from what I see, it is the Management layer. At the end, even the end delivery process will need to be managed!
 So, I would start my Transformation with the Management layer.
 At the end, even in an hamburger "the meaty part" is in the middle!

 I would :
1- train  managers with Agile principles and thinking
2- train managers on how to identify issues in an Agile environment
3- make sure managers understand Trust (they have to go through that themselves before)
4- train managers on how to manager people
5- train managers to have their personal Kanban to control their work
6- give managers chances to test all of the above without dropping the Agile hammer all over the place

       And then....
Ask managers to run the Transformation with their teams, starting with organizing the teams according to work flow.

Maybe this approach will not see the BIG impact right away, but is the incremental way to run a full Agile transformation. By starting with the Management layer, the highest risk "feature" is done first. During that process, we will learn, improve, progress and evolve as per the context of the organization. Then, the rest of the Transformation value comes, incremental and with purpose in mind. By now, managers should know how to manager people, how to create a trusting environment, how to allow test/try/experiments and how to empower people.
Delivering in an Agile way is the side effect that will come naturally and managed properly.