statcount

Friday, 29 March 2013

Smarter, not faster

Last November, I was partially working on a "crazy" project. I say crazy  because:
1- The initial scope of that project was presented as "Take this Excel spreadsheet and make it a web form.By the way, there are some macros"
2- 2 weeks in the project we found that the scope was much bigger. "By the way, we want to make some enhancements!". There was no Solution Designer looking into it, just developers.  Nobody was doing anything to change the delivery date
While Business Analysts were trying to figure out what had to be done and trying to solve a lot of questions, Developers started coding. A lot of developers were contractors and we were paying them by hour. There was the need to keep them busy to justify their time. No matter what they were doing.

I asked the team to agree for a 3 days "developer hiatus" while Analyst could catch up with the requirements. My point was that developers were making technical and architectural decisions in a time when we didn't even know what was being asked. In the same time, we wanted to introduce Git as a new tool so, I thought, would be a good usage of the 3 days for developers to move the code to Git, set it up properly, get familiar with it and then pick up with what Analysts would have found.


It was a big NO from the Dev lead. Under the pressure to use the contractor's time on writing code for the project, he just couldn't accept the fact that developers would stop writing code. "They are developers, they write code, they don't wait for requirements. This is against being Agile!". Despite my argument that the decisions they were making now would create problems if the requirements would be asking for different technical decisions, despite the fact that Analysts asked for 3 days to catch up with where developers where, the "3 days hiatus" didn't go very far. What I was proposing (some sort of TDD) was never done before, was just unacceptable!
Fast forward, end of March, after pushing the deadline 2 times, having a lot of people joining that team and then moving on to other projects after a while, I was talking just the other day with one of the Analysts that has been on this project from the start. Here what she said:
-OMG Ardita, that 3 days that you asked for developers to stop, we should have asked for 1 week!! You have no idea how much trouble we have been going through. The requirements were not anymore what client was asking for, but what developers had already done. We were being pushed back and forth between client and developers to figure out how to get the maximum of what client was looking for on a feature that developers had already closed. They were so worried to spend some contractor hours, but they spent so much of our hours that were wasted in this ping-pong. We should not aim to be faster anymore, we should aim to be smarter on how we do things!

I thought my job was done!!
Yes, true, I did not really help them with that project, but, as far as I'm concerned, they now know how to think differently and sometime consider to Stop! TDD is the best Agile practice that my company needs now. It's not about coding fast, is about coding what is needed, is about being smart on what to code and when.

Tuesday, 12 March 2013

Trip and Beyond

Last weekend I went to Agile and Beyond on Dearborn. Was good to go there with friends! Not just because it makes it easy to blend in the crowd with someone you know, but the road trip was fun too. I will talk a lot about the speakers here, but you should know I feel sort of hip to be friend with these guys (Jason Little (check out his LeanDog picture at the bottom), Andrew Annett and Sue Johnston). If there were sessions that I didn't vote high, it is their fault for being so up to date with things and make everything sound as something I had heard before. End Of Disclaimer.
(Here is us packed like sardines on a Mazda. You can see a bit of my shoulder here)
I want to write down some of the things I heard on the sessions I went, before I forget them.

Key note from Jim Benson rocked! I have to admit, one of the main reasons I went there was because Jim Benson was there :) I didn't expect him to be that tall!!And he IS like a puppet :))) He said a lot during the key note but here what I took away :
  • Rules kill awesome 
  • Optimize don't standardize 
  • Be nice
  • DONE means it never comes back!
  • Metrics are temporary convenience to prove a point 
  • Subjective well being of people is a metric
  • For any bad feedback, write to David :)))
 I really enjoyed listening to him so I didn't want to lose focus by keeping notes. I had a chance to invite him to Toronto soon. Maybe will happen! ;)

The first session I took was Matt Barcomb and Diane Zajac-Woodie. Really enjoyed it! I think Matt is a supernova, so keep an eye on him (I mean follow him on twitter @mattbarcomb or something, not literally look at him). Some of the key takeaways:

  • Fund capacity from past spending. 95% of the spending can be predictable if teams are stable
  • Lines of Value (instead of Line of Business). They are multi-role groups and need to have a form of team identity
  • You might get an IT guy on the line of value (Devops idea)
  • MVPs are not just code written that does nothing. They are like Zombies! They move and function, not very well but they do! :)
  • To decide which option to chose for the next project/product, line up ~4 key factors that are important for a choice. Put some weight into each. Then give a weight to each option per each key factor, do some math and you will get the option that scores the highest based on the key factors. The funny thing is that the option that will float on top, might not be at all what we want to do, so we might decide to go with the second option anyway. 
  • To size stories, line them up on a long line as per their relative size. Then divide them in groups. 7 is a lot of groups. 3 are usually where to start, but when you mature, you can move to Big and Little groups.
I missed most of his session on coaching. Went there at the end when he said that both coach and the person being coached should set some objectives when they work together, some steps to get there, what is next and by when do you expect to get there.

Then I did an hop'n pop between Bill Wagne session's and Carol Treat Morton and Renee Pinter.
From Bill Wagne:
  • They decided to track these key metrics: Total cards, Current velocity, Average card siz. Start calculation on first iteration
  • After 2-3 iterations they found : nr of cards X average card size is what was delivered by almost every team. Outliers are the 40/ and up
  • Key questions to ask: When will we finish? What is the cost?
  • Start see the nr of new cards added per iteration
  • Get product owners to look at the new additions, the trend and the effect. Start the conversation based on those
  • Let Business Owners own the goals: Keep budget or Keep Features?
 Really enjoyed the energy from Renee and Carol.
 Here is a picture of the exercise from their session




To understand this image, we first created a whole bunch of personas. Each card had a picture and some details about that person. Then, some of us pretended they were the client and decided to categorize which of these personas is the most important client to them. For us was Randy. From now on, every decision about the product is based on Randy's liking. If CEO comes and asks for changes, you tell them: Well, you might like purple font, but Randy doesn't!! It is a tool to keep focus and have everyone focused on the right outcome.

And then was Cheezy (Jeff Morgan is how the city of Cleveland taxes him and his boat). I have to say was the most animated session. He got 4 people (product owner, developer, tester and designer) all dressed up in fake hair, hats, glasses, boas and they got to play a bit of theater. They were boiling under all those accessories but you could tell they loved it!


  • Product owner is there to take the team to the highest possible value delivered AND decide what NOT to do!
  • Team is there to deliver what Product owner asked, continue improving (Kaizen) and make sure the code is clean
  • What do we do when we find a defect? We put it on a big defect system? NOOOO! We FIX it!
  • Put the weight of the Earned Business Value on the card and we see how much value we add when we deliver same amount of points on the same time
  • Experiment: Business analyst to report to Product owner. Product owner stays with team and answers questions and works on the backlog. Analysts go to meetings and bring info
  • Specifications in Gherkin help with testing
  • Developer comes on Validation stage, after Testing is written. What we Validate is not the code that developer wrote but the test cases that tester and PO wrote!
I got to talk with Cheezy and some other people afterwards for dinner (Maria Matarelli, Chris Gow and Paul from LeanDog). He let me have a picture with his hat. For all of you that know about LeanDogs, you should know about their hats!! :))

The last session I could attend was Jean Tabaka. Loved it! She talked about the Mad World we live in (we actually heard the song), about the chaos we work at and Cynefin.


Two things I got from her:
  • Are you a chef or a receipt follower?
  • Abductive logic
And then we watched a movie :))




Update: a picture of Jason with a LeanDog hat!


Wednesday, 27 February 2013

Motivated or CTOs?

Lately, I am meeting a lot of people that see themselves as CTOs, meaning Chief Troublemaker Officer. When I speak with them, I sense they are motivated, with a lot of energy or drive or innovative ideas or desire or all of the above. Nevertheless, they have a sense of being the "black sheep" on their teams. Usually they think that their managers see them as "people that complain and bring bad vibe to the rest of the team", or "people that live in a bubble and don't understand that things are done in a certain way".
So what to do with these people?

For some managers who control humans, I can see how some of these people are CTO. They are the ones that question decisions, bring up issues, come up with ideas after something is decided, want to try new things when a decision is made on how to execute something, point out issues and make even other people on the team think twice before agreeing to do something or how to do something.
For some other managers that know how to control human energy, I can see how they can use the drive, desire and motivation of these people to create an environment where ideas are welcome even late, where passion and desire is understood as first step toward innovation, where they can use these people as examples to pull and lighten up other people in the team that are more reserved and quiet.

So, the management style does affect these people a lot. Under a manager they shine. Under another manager they are troublemakers. When seen as troublemakers, they usually close up, shut down and check out. They might continue working and finish tasks, but they are just your average employee, with a lot of potential to be a star employee. Who is an outstanding employee, anyway?
Is a motivated person an outstanding employee or just a troublemaker?

To go back to the management style, an outstanding employee might be someone that follows rules, executes what is told, once in a while has good ideas, respects hierarchy and respects others in the team. For another management style, an outstanding employee is someone that looks forward to challenges, is always in touch with the latest of the industry and wants to bring it all in the team, questions decisions in order to make everyone think of the best decision, has open attitude with others in the team and doesn't try to play nice  but rather play strong.

These people are high risk, in the sense that they are talented but when they don't see themselves on the right place, they move on and you lose talent. One trick to lower this risk and keep them around is to keep them motivated, interested and focused on what they like to do even when they feel they are not appreciated. Communication techniques are very helpful here because they might help re-position them in front of their managers. Just by changing the way "the Trouble" is introduced, results might be different. It is important thought to start these healing techniques early, on the first sign of feeling a CTO. If it doesn't get taken care of, just like any other small problem that gets repressed instead of fixed, it becomes a big issue and sometimes not fixable. Humans are easily broken and relationships sometimes go to a point of no return and require drastic changes.

I read somewhere that 60% of the issues in a relationship are unfixable. You think you fixed them, it is all good for a while, but then they come back just like before. By switching to another relationship, you are just exchanging a set of 60% of issues with another set of 60% of issues. Make sure you pick a manager and a team that gives you 60% of the unfixable issues that you can handle. Try to work on your communication skills and stay motivated until a better solution comes easy to you.


Wednesday, 13 February 2013

2 of my favorite tools

As a person that I have to work with all kind of people on all kind of roles, I have to come up with the right technique or tool at the right time. But just like any other handyman would tell you, there are some tools that are always with you and then there are some other tools that you know you have them but you need to go to the shed and dig down to find them.
The 2 tools that i have been using lately a lot are:
1- Ask "What is the acceptance criteria?". I am finding it amazing how many times I see a team working on a project where everyone understands the goal but very few can articulate the acceptance criteria. Sometimes, nobody. I am finding it very important to get the people to stop and understand what is that thing, that result that when reaches a specific value, we can call the project "Completed successfully". When they do stop and find this, there is usually an Aha moment and I feel my job is done

2- Circle and Soup exercise. I did write a blog before about this but I want to point it out again. It is very interesting to see how an issue is right away set to an outside circle but then when discussed and understood the actions to take, starts moving slowly toward center. It is very good to remove the "victim" stance and feel more in control and powerful on actions.


Tuesday, 15 January 2013

Finding the True North for Quality Management

My official title during the last year has been " Quality Management Office Analyst". There are different interpretations to it. The word "Quality" does not help because the first thing people have in mind when they hear that word, is "Quality Assurance". When we say "Quality Management", we mean Processes, but it is like saying to someone "Don't think of an elephant" and actually expect that they won't have an elephant in their mind. I am saying all this because we have been struggling for a while to come to a consensus for our team Vision. We all seem to want the same thing and create the same target system, but someone is always coming up with a different variable that when injected in the previous system, it changes the target system. Is related with the theory of system hacking I guess.
On our team site, we have this blurb where we have tried to encapsulate what we are trying to do:
"Our team is devoted to support continuous improvement in (insert here company name) product delivery.Our goal is to improve customer satisfaction with reliable and predictable product deliverables."

 
I guess it is not bad, but there is something there that doesn't make me (and some other people on my team) happy. We can't call this our "True North". 
Last week, I was trying to pick my next book to read. I had two options, Toyota Kata and Management 3.0. While debating over them, Andrew Annett "pulled" me toward Toyota Kata. So, that has been the book I have been reading during the past week and I am somewhere in the middle. For all of you out there that have read this book, you know where my mind is right now. I am now in the process of comparing how we are doing things now in our company, and how Toyota is doing them. I know that Toyota is a Manufacturing company and we are an Insurance company. But Toyota's strength is not on dominating the Manufacturing market. Their strength is on the way they think, and that is a feature that is independent of the market, independent of the service, independent of the product that a company delivers. 
This way of thinking, is drawing me back to the Vision of my team. I guess the easy thing is to take Toyota's vision and apply it to my team's:
Toyota: "Survive long term as a company by improving and evolving how we make good products for the customer"
My team: "Live long as a team that improves and evolves the process delivery of the company"
Although I know that this is just a draft and some cosmetic patting is required, I am still not happy with it. The problem is that we are looking at our team as a permanent team in this company, without an exit strategy. I know that a company needs continuous improvement and from that point of view, I can say that we should always be part of this company. But that statement gives me a sense of failure, not able to ever celebrate success. Makes me think we will never reach a desired target state, because there is always something to improve.I think that part of the continuous improvement is also the fact that my team, at some point, should not be required.



And that's where I got a Eureka! moment. Rather than adding to our Vision what we want our team to be, I thought to add to our Vision what we want the company to be. So, again, in a draft mode, fully aware of the need for cosmetic changes, I came up with something like this:
"Get (insert here company name) to a state where Continuous Improvement is natural element of the Vision of the company and all the structures in this organization"


I am happy!! Why am I happy with this?
I like the fact that we have:
  • An end goal
  • A way to measure the  Success Criteria.
  • A clear set of Recipients that will run with it, on their own, with a clear understanding on what to do
  • It's recursive (ok, that's the geek in me!)
I like the fact that we want to create a Sustainable System, where the need for improvement will be organic, not injected from my team or any other external team. The mindset of Managers at any level will be on the Continuous Improvement of the current process, whatever that process is at any point of time.

Now let's see what others think. Feedback appreciated!


Thursday, 3 January 2013

Deming's right!

In an environment where teams are not stable and people are considered resources, all the focus of People-Managers is how to juggle around people from one project to another project or to a Severity 1 issue with Production. It gets complicated when you add here roles like Project Managers that have tight deadlines to reach and they have planned to deliver with a certain number of people assigned to their projects. So a conflict is inevitable between these two parties.

On one side you have Projects Managers, with 100% focus to release their deliverables. They have all the training out there (minted by a lot of certificates and organizations with big names and high prestige) to protect the people on their teams and keep them focused on the most important stuff. They have a "big fight" at the beginning of the project to get the right people on their projects and make sure they are allocated 100% or at least 50%. Once they "won" that battle, then they move in protective mode, where they must make sure that these people are not pulled onto other tasks. In some cases, they are so protective, that even when the people on their team are done with their tasks, the PM doesn't let them go, just because they are assigned 100% to that project and there might be some defects coming up. .

On the other side, you have the People-Managers (for developers, testers and analysts), that are faced with all the  requests for what work needs to be done, and they should allocate their people to the right projects and at the right percentage of time, as per their skills. But when another project comes up, or a Severity 1 issue comes up, they are left with the need to ask for someone to put a project on hold and get to this new task.

So the "battle for people" begins. A person that is promised 100% to a Project Manager, can't be pulled to another task. Even if that person is done with the project. The definition of done is a grey area, especially when testing is not done right after the developer has submitted the code. This gives the PM the right to keep this person assigned to his project in order to take care of defects that will be found. But the People-Manager can use the time of this person on another task, until defects are found and prioritized.

Guess what the people feel like?
One synonym I can think of, is like a child that is being pulled on the left arm by his mom and on the right  arm by his dad, while these two parents are fighting with each-other  and are telling the child "I love you more, stay with me".
Nobody is asking "What does this person like to do? In what direction does he/she wants to grow professionally? What is a task that would bring excitement on this person's career?"
So on a setup like this, looks like Deming's brilliant phrase : "A bad system beats a good person all the time" is very true. They are all good people. They're all focused on their goals. All of them want to succeed. But they are all trapped in this environment where people are allocated by time and not by task. Teams that are created for a project rather than bringing the project to a stable team. Environment where trust and collaboration does not exist because the common goal is not clear.  Environment where deadlines are set without asking the people that will actually do the work. Environment where it is not safe to call out a project that is going downhill because it is consider as failure.

I don't have a quick fix for that and I don't think it is an easy one. But rather than try to work with PM and People Manager on how to manage the people better, I'd rather take the long and bumpy road to fix the environment that creates these issues.

Wednesday, 28 November 2012

Repurpose of the Soup exercise


I love it when I can make something useful even more useful. Maybe because efficiency is big for me.
I am working with a team that is in need to improve the client service response and quality. There is an internal team and a couple of vendors outsourced. Of course, the outsourced teams are the ones that deal with phone calls and ticket opening while the internal teams are the ones that actually solve the issues. Their purpose was to slow down the "noise". I suggested calling it "waste" and they seemed to connect better with that :)
While a lot of info is being collected on what the waste is and where the waste is being created, they needed a way to organize them so they could create action items for their team and for the vendors.
Circles and Soup came in my mind.


I have found this technique while back when I was looking for ideas to organize retrospectives in fun ways. But I have to admit that I haven't used it much in retrospectives. In this case, I thought this way of organizing the information might give a sense of how much the internal team has in full control and influence, what issues are lacking one of them (they need "friends" to influence)  and what is out of their control or influence.
After talking about each "waste", they  organized the stickies in the circles like this.


During the exercise, I noticed they were involved but couldn't get a sense if it was being useful to them. At the end, I was waiting to hear their comments, and feedback and I was happy to hear them saying: This was a good exercise! Looks like we have more control than we thought. Now let's plan what can WE do about it before we reach out to our "friends".