Agile and Lean meets IT

Posted on Leave a commentPosted in management, process

Was making presentation about how we were transforming IT into service type instead of control type.

Conclusions

  1. Imagine you have to earn money. Perfectly shifts away your thinking away from “cost efficiency”.
  2. Avoid broad terms. Too much room for interpretation.
  3. Control scope. Be explicit about what you can do. Say “no” to things you can’t.
  4. Monitoring and Transparency. Best way to control things.
  5. De-centralize certain activities. Build for scale.
  6. Grow you process. Evolution vs adoption
  7. Know value flow. Local efficiency is not what you need

[slideshare id=54959255&doc=a1269492-f8d5-4ebc-820e-92b27d1d4599-151110160930-lva1-app6891]

How to avoid functional managers?

Posted on Leave a commentPosted in management, process

While working on a network organisation concept and principles:

  • Value and speed vs cost and efficiency
  • Adaptiveness
  • Transparency

and giving it a try to visualise it in this document. (feel free to provide your comments)

I stumbled across the challenge which is not obvious how to solve in the best way. And whole principle of network structure can be broken if certain culture is strong in a company. The challenge i am talking about is excellence of functional skills e.g. quality, product management, development practices, analysts

We are trying to solve it introducing following activities:

  • Internal unconferences with following “TODOthon” (copyright by Dainius)
  • Internal communities: meetups and knowledge sharing sessions
  • Education center with leads per topic
  • POD Leads and Keepers decide if and how people should participate or lead certain communities

Some open questions:

  • Who sets the bar? Understanding what is best can differ from POD to POD
  • How to split time? When you don’t participate in daily work you loose competency and can’t contribute well to community

How do you keep excellence across the company? Not interested in solutions with functional managers

p.s. was surprised that **otify has functional managers, so they have cool way of organising projects, but organisational structure i guess is old-fashioned. before that was thinking that they have network structure.

Quality: Who asks “What if…?” question

Posted on Posted in management, process

Testing involves operation of a system or application under controlled conditions and evaluating the results (eg, ‘if the user is in interface A of the application while using hardware B, and does C, than D should happen’). The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn’t or things don’t happen when they should. It is oriented to ‘detection’.

Organizations vary considerably in how they assign responsibility for quality assurance and testing. Sometimes they’re the combined responsibility of one group or individual. Common are teams that include a mix of QA experts and engineers who work closely together to ensure that necessary attention to the topic and activities are in place. It will depend on what best fits an organization’s size and business structure.

Please take a look at the following link and you will get a lot of useful information about testing – http://www.aptest.com/resources.html

Do you spend enough time on quality? Here are very interesting facts that might help you to makeup your mind:

  • Software problems in the automated baggage sorting system of a major airport in February 2008 prevented thousands of passengers from checking baggage for their flights. It was reported that the breakdown occurred during a software upgrade, despite pre-testing of the software. The system continued to have problems in subsequent months.
  • News reports in December of 2007 indicated that significant software problems were continuing to occur in a new ERP payroll system for a large urban school system. It was believed that more than one-third of employees had received incorrect paychecks at various times since the new system went live the preceding January, resulting in overpayments of $53 million, as well as underpayments. An employees’ union brought a lawsuit against the school system, the cost of the ERP system was expected to rise by 40%, and the non-payroll part of the ERP system was delayed. Inadequate testing reportedly contributed to the problems.
  • In November of 2007 a regional government reportedly brought a multi-million dollar lawsuit against a software services vendor, claiming that the vendor ‘minimized quality’ in delivering software for a large criminal justice information system and the system did not meet requirements. The vendor also sued its subcontractor on the project.
  • In June of 2007 news reports claimed that software flaws in a popular online stock-picking contest could be used to gain an unfair advantage in pursuit of the game’s large cash prizes. Outside investigators were called in and in July the contest winner was announced. Reportedly the winner had previously been in 6th place, indicating that the top 5 contestants may have been disqualified.
  • A software problem contributed to a rail car fire in a major underground metro system in April of 2007 according to newspaper accounts. The software reportedly failed to perform as expected in detecting and preventing excess power usage in equipment on a new passenger rail car, resulting in overheating and fire in the rail car, and evacuation and shutdown of part of the system.

Do you find right balance between speed and quality? Do you have a team member who asks this question: “What if?…”

Why do we need a Scrum Master?

Posted on Leave a commentPosted in management, process

If you search Google you will easily find a description of the role and most probably you perfectly know it.

But why there is still an open discussion takes place. Should a Scrum Master be the only role? Can a Developer (QA, whatever…) perfectly perform this role? Here is normal team:

Scrum Master

Team’s output – perfect product; Scrum Master’s output – highly performing team

As it can be seen role of a Scrum Master is critical for the team. Scrum Master is the person who challenges the team and focus on improvements. Key aspects that allow to achieve that:

  • Observation

Scrum Master

Only person who is not committed to a sprint can focus on observing team’s work, fostering difficult discussions and thinking about long term improvements. From my experience it’s much more difficult to do that being a developer acting as a Scrum Master.

It’s written in a lot of books – to improve the system you must be outside. How often do you see a football team coach who is also playing on the field? If you did, it definitely wasn’t a game of professional teams and in all cases this model fails.

Why doesn’t this work? Everything is simple. While you are on the field you don’t see how the whole team performs. You don’t know when it’s best to make substitutes e.g. to give someone a rest before a very important match next week or just to avoid injuries; you can miss when opponent changes tactics or you noticed problems other team has and new learned tricks can be applied.

– Substitutes or injuries can be mapped to handling conflicts, fixing small bugs or implementing some practices

– Change of tactics can be mapped to desire to innovate, learn and build long term value

 

  • Protection

Scrum Master

I believe by “protection” everybody thinks about external “threats”: Product Owner with new requirements, other teams with questions, noisy room and etc.
While it’s true I think it’s more important to protect team from themselves – over committing, forgetting about technical debt or non-functional requirements, resistance to new practices, lack of courage to say “no”.
Protection gives possibilities for the teams to keep the pace and improve.

Resume

You must spend a lot of time on the activities above to grow teams. Decision who is going to perform Scrum Master’s role depends on how fast you want to improve.

 

Team metrics: who and why needs them?

Posted on Leave a commentPosted in management, process

Why do I need metrics?

I am not working very close with teams on daily basis recently and it’s not so easy to gather information in order to take actions or discuss priorities. But I need data to have an overview on important areas in the department, foresee problems and understand how I can help.

What do I want?

Teams’ metrics can be useful only if you seek this:

  • Visualize problems and discuss when noticed
  • Focus on trend, not absolute value
  • Foresee the future
  • Take actions proactively
  • Keep the balance among areas

Metrics game?

Don’t forget, metrics are needed to get better. So, treat it as a game.

Elements of the game:

  • Evaluate initial state of each area
  • Set goal for each area
  • Each team every Retro of Retros tells if certain area improved (+11), unchanged (-1), worsen (-9)
    • What does it mean: improved, unchanged, or became worse? It doesn’t matter how teams decide since trend is important, not absolute number
  • Metrics must be actionable. You must agree on rules and take actions. Sules samples:
    • if something doesn’t change/reduces 3 times in a row, all teams must help team which has most of the problems
    • if something doesn’t change/reduces 5 times in a row, each team must include improvements into sprint as high priority
    • Discussion must take place
  • Everything can be changed at any moment if you find it not valuable

If you find first two elements difficult to implement, you can omit this for the first version

One simple, but important NO
Don’t map these metrics to any reward/bonus system

Sample table:

Area/Team Team 1 ….. Team X Start Current Finish
Area 1 +11 -9 50 Previous + ((T1 + … + TX)/# of Teams) 100
Area 2 -1 +11 100 ….. 300
Area 3 -1 -9 60 …..

 

And this is how your visualization might look like:
teams metrics