The difference between Scrum and Integrity
We have been using Scrum here at Typemock and it has really
helped with our software development, but we also manage with integrity. There are a few major differences between the two styles.
Roles.
In Scrum there are many defined roles, where some are seen as more committed then others.
In Integrity there are no defined roles, everyone is committed.
Meetings
Scrum, there are set meetings.
One daily meeting
- What have you done?
- what are you planning to do?
- Do you have problems?
Three Monthly (Sprint) meetings
Sprint – Select the work that must be done.
Review – Demo
Retrospect – How can we improve
Integrity, There are set meetings
Morning Meeting:
- What can the team commit to doing today?
Evening Meeting:
– Keep Integrity (tell others if not)
– Raise and Solve problems, Praise
Weekly Meeting:
– Was last week with integrity?
– What can the team commit to doing this week?
– Raise and Solve problems, Praise
Change Monthly goals once a month.
Artifacts
Scrum: Burn Down, Sprint Backlogs, Product Backlog
Integrity: goals and controllable actions
Main difference: Transparency
While Scrum put a lot of focus on the structure of the development process and team, and allow rapid development and addresses the chaos typically found in complex fast moving environment, Integrity focuses on personal growth and team work.
The big difference in my view is that with scrum it is too easy to say to the customer at the END on the sprint:
”Sorry, Mr. Custromer, we just didn’t make it on time, we will but it on our backlog” – Ahhhhh
So if the management has a goal: Close Sale with Customer [put huge customer], and to do this the R&D must implement the ABC feature. We might reach the end of the month without that feature being implemented and management won’t know about it.
With Integrity, this will never happen. If after 5 days the team knows that he is not able to keep up with the controllable actions that where defined to reach that goal, the team must tell management about the delay in order to be with integrity.
Now that the management knows about the problem, we can solve it.
- By asking the team what it needs to solve the problem in time.
- By moving resources
- By changing priorities
- By telling the customer about the delay
The last bullet: telling the customer about the delay, is the highest point of integrity, and the customer will appreciate the knowledge and know where he stands.
Management with Integrity will not only help put structure in the chaos of complex fast moving environments it also focuses on personal growth and excellence, on solving challenges and not only managing them.
Management for Geeks: Personal Integrity
How many times have you promised yourself to do things and not done it. How
many times have you said that today you will
- Eat a health lunch
- Start working out
- Go on a date with your spouse
- Buy a ticket for a vacation
- Arrive on time for a meeting
- Go home early to play with your children
How many times did you just not live up to your own promise?
I can tell you that it happens to me many times a day
The thing is that once I don’t live up to my word, I start giving myself excuses.
- I have no spine
- I am useless
- I would never do business with myself (See Secret Ingredients)
When this happens I stop believing in myself and I start living with a low self confidence.
When I do live up to my word, I start riding the wave, my self confidence rises as I can see that I manage to do things, breakthroughs start happening in life.
So how do you start? how do you live up to your promise.
Its all in your personal integrity. Start committing your promises. It is easier when you tell others what you promise to do. Commit to actions that are in your control and live up to your word.
Management for Geeks – The 9 Rules
So you know that you can be a great manager. You are sure that you can do
it much better then your own managers.
Well you can.
It will take some learning and practice, but following these 9 rules will get you on track.
The 9 Management Rules
- Start with your own Personal Growth and Time Management.
- It is your job as a manager to help your team grow.
You must believe that your team can do better then what even they think that they can do. - Use Personal Integrity (Say-Do-Intend) and task breakdown, to delegate properly and encourage excellence
- Use Monthly Goals, and Weekly and Daily Stand ups
- Make sure the team finds and solves their own problems as soon as possible.
- Don’t solve the teams problems yourself
- Give credit as much as possible to Personal Integrity
- Make sure that you have many debates
- Don’t manage employees whom you can’t replace yourself
Measuring Productivity
Johanna Rothman has posted about Measuring Productivity, and
how it is difficult for managers. While Jack has a difficult time measuring knowledge workers in his post, The fun of productivity measures.
Measuring Software Projects
Johanna shows a simple way easy to measure a software project:
For software project teams, it’s easy: the number of running, tested features over time.
I have to disagree, this measurement will not really tell us anything as all features are not the same, one feature may take 1 week while the other 1 day, so the number will not really tell us anything.
Around 50% of the developers time is spent fixing bugs, and it takes just under 7 days to fix an application problem according to BMC.
As an old joke goes: If it is the QA’s job to remove bugs, it is the developments job to put them in.
I would think that a better measurement would be the time spent fixing bugs. Lets get that number as low as possible to measure the performance of software projects.
Measuring Managers
Both Johanna and Jack have a difficult time measuring managers. as Jack puts it:
how to turn these business-level measures into something useful for knowledge workers.
I have a very simple way to measure this and to turn the business goals into something that is useful to measure by.
It is called Integrity. It is easy to measure, it can, and should be measured every day, by creating controllable actions, it is easy to turn the Business goals into individual goals.
Try it, it is simple and it works.
ps. measuring the bug-fix-time is actually measuring the integrity (wholeness) of the code. If the code has integrity, it should do what it was intended to do.
Terminating an employee
One of the most difficult things for me to do as a manager is to
terminate an employee. No matter how I approach it, removing someone from his role is physically hard. I physically feel ill a day or two before I need to terminate the employee.
It is also hard to know when to terminate someone. What level of performance is unacceptable? How long is too long at that level? Have I done enough to motivate and train the employee. At the end terminating someone is my mistake. I have either hired incorrectly or I have failed to mentor the employee correctly.
I have come to the conclusion that once an employee is not successful, the worst thing to do is keep him on the job. The employee will feel a failure, this will lead to him being sour and negative which will lead to more failures.
I know that it is my job as a manager to help my team grow and expand, it is my job to give each employee a new challenge every day, so that they will learn how to solve it and in turn, grow.
We had an employee who wasn’t managing to become successful. He was falling into the pit of negativity, he came everyday (when he didn’t report in sick) and hang around the office, telling everyone, why things are not working, how they can never work, how no one listens to him. I tired to find a better position for him and a good support system to help him, but I had no success. I spent a lot of my energy trying to convince him that his tasks are possible and not really that hard to achieve, but it didn’t help.
We had to go our own ways. Now the former employee found a job in another company and is really successful. This make me really happy, in the end, forcing the employee to leave has helped them grow and expand.
Now, if I need to terminate someone, I think of the employee. Where would he grow, by staying in the company or outside.
When to terminate?
It is really hard to know when to terminate. But if we are Managing the Integrity of our employees, it becomes quite simple. If an employee doesn’t live up to his word, he can’t stay in our team. We are looking for excellence and to be excellent you must have integrity. Once an employee doesn’t intend to do what he says he will do, he must find another place to grow.
What is nice about this, is that when an employee has integrity and does do his controllable actions, he will be successful, which in turn will lead to growth and to results.
When working with integrity, I have also found that, people who feel that they are not adding to the companies value, will leave by themselves and there is no need to terminate them – they do have the integrity to know that they are not growing. How many times can someone stand in front of their team and say that all they intend to do in the coming week is to read e-mails and surf the web, while others are managing to do much more.
The integrity system leads to excellence.
Deciding without enough information
One of my biggest problems as a manager, is that I love information. Give me loads and loads of data and I am a happy man. This means that it is very hard for me to decide. I always look for more information.
I found out about this after reading The five temptations of a CEO, (I really liked the book, it is short and readable). My temptation was temptation #3:
The temptation to choose certainty over clarity
Many chief executives do not want to act until they are certain of the outcome.
This inactivity can be very detrimental to a company. The goal should be clear, not certain
I had to learn how to make choices even if I am not certain.
Lets take a look at the timeline of a decision:
The first stage is to start gathering data. In this stage everything is ok. The second stage is trying to make a decision. This stage is really frustrating as there is no data left to gather and we feel that we have to make a choice but just don’t know how. After some time we do choose, and once we really choose, we are not frustrated any more.
The point to understand here is that nothing happens in the frustration stage except being frustrated, we have to try and shorten that time to nothing.
Here is how I chose my scooter. I wanted a scooter, so my dilemma was, what scooter to choose. I talk to some friends, looked it up on the internet went to local shops and took some test rides. At this stage I have already gather all the data I needed. This stage was fun as I was learning.
The next stage was really bad, I had to make the choice. I went over the data I had again and again for 2 week, but nothing helped. I was really frustrated and the people around me where fed up with my indecision.
After 2 weeks, I just went to the shops again, took the bikes for another ride, and purchased the bike that I felt the best with. It was just a feeling, but I made a decision, it was great to have made the decision, I was happy again and now I have a new scooter to ride.
Remember, nothing happens in the confusion stage except being confused.
Doing the Impossible by Delegating Properly
One of my jobs as a manager is to help my team grow and
expand. Delegating properly is a way to enable your team to grow.
I always found it hard to delegate, using the old school ways with 8 steps of explaining what to do and how to delegate just didn’t cut it for me.
I found myself
- Nagging for status
- Hearing Excuses
- Being asked ‘How can I do it?’ and solving it myself.
Instead of having the team do the job, I found myself overloaded, asking for statuses and solving the problems myself.
Here is how I delegate with integrity:
I don’t tell the team what to do, I ask them what they can do to reach our monthly goal.
The employee will then say what he can do.
I then ask the employee if he can do it himself or needs others?Once we find the controllable actions the employee must commit to the actions.
At some point the employee will come back with a problem that only I can solve. It is very tempting to just answer, but Moti (my coach) taught me the following way to keep the task delegated and help your employee grow.
I want solutions not problems
When a team member comes with a problem, I try NOT to solve the problem (I know that I can, so it is quite hard to stop doing this). I tell the team member that I expect to hear about solutions and not about problems.
So I ask, what are the possible solution?
Doing this will make the employee think of solutions himself.
This is a great way as you will start hearing about different solutions to problem, some of them that you would never have thought of yourself. Never allow an employee to come with problems only with solutions.
I will help if you have dilemmas
A dilemma is when the employee found several solutions but doesn’t know how to choose. At this point you can help him decide. You can then talk about different values and how they are used to make this choice.
Example:
Me: What can you do to release the version on time?
Developers: I can do the ABC feature.
Me: What do you need to complete this?
Developer: Oh, I’m ok, I can do this myself
After 1 hour:
Developer: Eli, How do I get the data from the server?
Me: (stopping myself from telling the answer) How do you think that we can get the data?
Developer: Oh, Well we can get it from a Web Service or an e-mail or via a log file.
Me: Great, what do you think is the best way?
Developer: I think that a Web Service is the best as the results are immediate.
Me: Great, what will happen if the server is down?
Developer: Hmm, that will mean that we must be sure that the requests are queued, we could create a queue and a failover server, or perhaps use e-mail as our e-mails are automatically queued…
I found that when delegating properly and having the patience to allow the employee to solve it themselves, leads very quickly to amazing results, as the team grows and manages to solve challenges.
Crossing the Chasm and Excellence
Roy sent me this podcast: The state of Alt.NET.
Although Scott Bellware
seems to be angry about the state of things, I am actually seeing great progress in our profession, and the ALT.NET is one of them.
To the point I must agree with him about the following:
1. Alt.NET – you cannot be in the chasm as the chasm is a void, it is when there is no growth, it is when 15% of the .NET developers are practicing Alt.NET. It is fatal to jump over the early adopters and try crossing the chasm before reaching the chasm
2. I’ll take the chance of misunderstanding Scott here, but if I understand correctly, what is happening with ALT.NET is that instead of bringing excellence to software development, it has lead to many developers to follow practices. What we need as a profession is to be professional, is to keep on growing and learning and striving for excellence.
Only when we strive for excellence, can we do the impossible and grow. It is not easy to become excellent and to grow, but the results are amazing and satisfying
Isolate tasks to gain Integrity
I have talked a lot about integrity, this is our management style in Typemock and the way we bring ourselves to excellence. But your team members might not work with integrity, even if you have explained it to them, it still takes time to understand.
When this happens, as a manager you have a chance to help your team to grow and expand, buy confronting them.
Here is a how to confront them:
What we see in the picture are the 3 circles of influence.
The inner circle are stuff that depend on me. For example: Brushing my teeth. This is something that I have full control on and so I have maximum ability to do it, there is no excuse for not doing it except that I didn’t want to do it.
The center circle are things that I need the help of others to complete. Most of the things we need to do fall in this circle. In order to complete this we need to Isolate what tasks we can do by ourselves and what tasks do we need the help of others. Once we do this we can do the tasks that depend only on me, and move to the inner circle.
How do we isolate the tasks? We need to see what we can do ourselves and get a commitment from our colleges to do the things that we can’t.
For example: Writing a help section for a new feature. I can write the technical help, but I need a technical writer to reword and format it. Now I need to isolate the tasks and move to the inner circle. I can ask the tech-writer if s/he can commit to formatting the help section. Once s/he does I can commit to writing the help section (back to inner circle).
The outer circle are things that I have no influence at all to complete the task. In this case, we have to find out what tasks we can do.
For example: Selling our product, I have no influence on whether a developer will buy or not. What I can do is offer our product to many developers, and some will see the value and buy. So we have moved back into the inner circle again because offering is a task that I have maximum influence (I can always offer and explain our product benifits).
Back with Integrity
To move back to working with integrity, we have to isolate the job at hand and move to the inner circle, then get the team player’s word that he will do it. Once we are in the inner circle, it is easy to do the job.
When we do do it, then we deserve appreciation, don’t forget to praise.
If we didn’t. There must have been a catastrophe. Either a real catastrophe happened or they team player has no respect for his word, which is a catastrophe.
Time Management – Getting the Metrics
A good CEO should focus primarily on those things that move the company forward
I talked about time management and knowing where to spend your time. A few Typemockers have tried this and ran into a few issues.
Question: How do you get the metrics while using the Daily Goal Tracker.
The daily goal tracker has 7 lines of tasks, by each task there are 4 groups of 4 ticks – each representing 15 minutes.
Here is a simple method to get the metrics:
1. Write the 3 most important tasks in the first 3 lines.
2. Whenever an emerging tasks comes up – write the task on an empty line.
3. When you finished a task – check the 15 minute ticks.
At the end of the day you will see how much time you spent on each task. (Power-Users can put a value per task and count how much value was added on that day)
Doing this the Typemockers found several things.
1. They spend most of their time on emerging tasks! Doing only 1 major task.
2. There is one tasks that everyone seems to have and it always gets its way into the list: it it called the ‘On-Going’ Task.
Don’t allow On-Going Tasks
In order to succeed, we don’t allow anyone to commit or write down – On Going tasks – these are black-super-nova-holes that swallow up time and resources- every tasks fits in them and this gives us an excuse for not doing the important stuff.
It is simple: Take the On-Going tasks and categorize them:
- Recreation/Smoking
- Lunch
- Coaching others
This will allow you to see where you can become better.
Recent Posts
- Product Status Peek – 2011
- Thanks Roy
- Typemock starts 2011 in a new location
- Agile Demos Smells
- I want loud disputes in our meetings
Categories
- .NET Tests
- Agile
- Code Integrity
- Community
- Debugging
- Fun
- Management for Geeks
- Marketing
- Product
- Release
- Reviews
- SharePoint
- TDD
- Time Management
- Uncategorized
- Unit Tests
Archives
- January 2011
- December 2010
- October 2010
- August 2010
- May 2010
- April 2010
- March 2010
- February 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- December 2008
- November 2008
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
