07.03.2013 Views

issue 13

issue 13

issue 13

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The Magazine for Agile Developers and Agile Testers<br />

Kanban<br />

www.agilerecord.com free digital version made in Germany ISSN 2191-<strong>13</strong>20<br />

February 20<strong>13</strong><br />

<strong>issue</strong> <strong>13</strong>


© Sergejy Galushko – Fotolia.com<br />

CAT is no ordinary certification, but a professional journey<br />

into the world of Agile. As with any voyage you have<br />

to take the first step. You may have some experience<br />

with Agile from your current or previous employment or<br />

you may be venturing out into the unknown. Either way<br />

CAT has been specifically designed to partner and guide<br />

you through all aspects of your tour.<br />

The focus of the course is to look at how you the tester<br />

can make a valuable contribution to these activities<br />

even if they are not currently your core abilities. This<br />

course assumes that you already know how to be a tester,<br />

understand the fundamental testing techniques and<br />

testing practices, leading you to transition into an Agile<br />

team.<br />

Pragmatic, Soft Skills Focused, Industry Supported<br />

Book your training with Díaz & Hilterscheid!<br />

22.04.<strong>13</strong>–26.04.<strong>13</strong>, Frankfurt/Karlsruhe, Germany<br />

<strong>13</strong>.05.<strong>13</strong>–17.05.<strong>13</strong>, München, Germany<br />

24.06.<strong>13</strong>–28.06.<strong>13</strong>, Köln/Düsseldorf, Germany<br />

(German tutor and German exam)<br />

Open seminars:<br />

Díaz & Hilterscheid GmbH / Kurfürstendamm 179 / 10707 Berlin / Germany<br />

Tel: +49 30 747628-0 / Fax: +49 30 747628-99<br />

www.diazhilterscheid.com training@diazhilterscheid.com<br />

Page 2 Agile Record – www.agilerecord.com<br />

The certification does not simply promote absorption<br />

of the theory through academic mediums but encourages<br />

you to experiment, in the safe environment of the<br />

classroom, through the extensive discussion forums<br />

and daily practicals. Over 50% of the initial course is<br />

based around practical application of the techniques<br />

and methods that you learn, focused on building the<br />

skills you already have as a tester. This then prepares<br />

you, on returning to your employer, to be Agile.<br />

The transition into a Professional Agile Tester team<br />

member culminates with on the job assessments, demonstrated<br />

abilities in Agile expertise through such forums<br />

as presentations at conferences or Special Interest<br />

groups and interviews.<br />

Did this CATch your eye? If so, please contact us for<br />

more details!<br />

08.04.<strong>13</strong>–12.04.<strong>13</strong>, Stockholm, Sweden<br />

15.04.<strong>13</strong>–19.04.<strong>13</strong>, Oslo, Norway<br />

03.06.<strong>13</strong>–07.06.<strong>13</strong>, Amsterdam, The Netherlands


Dear readers,<br />

The Christmas season seems to be well behind us, as well as the relaxed pace of winter. The tempo for<br />

20<strong>13</strong> has been kicked into full gear, working hard to keep up with the many fixed deadlines.<br />

We are currently conducting the Agile Dev Practices. During the organization of this new conference<br />

for developers, we have noticed that we are not the only ones who are very busy this early in the year.<br />

You all are quite busy as well! If you missed the chance to attend the Agile Dev Practices 20<strong>13</strong>, we look<br />

forward to seeing you at our other conferences in the future; for example the Agile Testing Days 20<strong>13</strong>,<br />

for which we have received a new record amount of papers. Keep checking out our website for current<br />

updates in the program this spring: www.agiletestingdays.com<br />

For some time now, I have been carrying around a new and exciting training concept. At the last Agile<br />

Testing Days I took the opportunity to discuss this concept with some agile gurus. We quite quickly<br />

decided to conduct the first version of the Agile Team Academy this year in Amsterdam, starting on<br />

September 16. Matt Heusser, Janet Gregory and Markus Gärtner have developed this new concept of<br />

training further, and are going to play a very important role this fall. During this four-day immersion,<br />

you will have the opportunity to work together with these four leading agile gurus, participating in many<br />

interactive activities, on a learning-by-doing basis. Don’t miss out on this exciting opportunity. Check out<br />

www.agileteamacademy.com.<br />

In this <strong>issue</strong> you’ll enjoy an immersion in the concept of Kanban. I look forward to hearing your thoughts<br />

on this <strong>issue</strong>.<br />

Enjoy reading!<br />

Best regards,<br />

José Díaz<br />

Page 1 Agile Record – www.agilerecord.com<br />

Editorial


Book your training with Díaz & Hilterscheid!<br />

CAT – Certified Agile Tester<br />

CAT is no ordinary certifi cation,<br />

but a professional<br />

journey into the world of<br />

Agile. As with any voyage<br />

you have to take<br />

the fi rst step.<br />

HP Quality Center<br />

Incorporate the abundant tool knowledge<br />

of HP Quality Center in this workshop:<br />

From the module architecture to<br />

analyzing and customizing. You will be able<br />

to confi gure your test project, utilize requirement<br />

data, execute effi cient test cases, and<br />

apply effi cient solution to discovered <strong>issue</strong>s.<br />

HP QuickTest Professional<br />

This workshop enables the quick and effi cient<br />

Use of QTP. Discover the individual functions:<br />

documentation, reproduction, object repository,<br />

application of Sync points and Verifys,<br />

utilization of Active Screens, Features Data<br />

Tables, and the linkage to QC for automatized<br />

testing, producing and applying results.<br />

Agile Essentials<br />

This two-day course is aimed at anyone involved<br />

in software engineering who wants<br />

to become familiar with working<br />

in an Agile environment,<br />

giving candidates a solid understanding<br />

of roles, processes<br />

and techniques used in Agile projects. It provides<br />

an overview of the activities building on<br />

a basic understanding, reinforced through a<br />

heavy emphasis on discussion and practical<br />

application.<br />

IREB® Certified Professional<br />

for Requirements Engineering –<br />

Foundation Level<br />

This training course introduces you to the<br />

correct and complete specifi cation, documentation,<br />

checking<br />

and management of<br />

requirements. You will<br />

learn techniques, procedures<br />

and tools, and you will be introduced to<br />

the fundamentals of communication theory.<br />

The training course is aligned to the syllabus of<br />

the independent International Requirements<br />

Engineering Board (IREB®).<br />

In-house Training: All of our training courses are available as private/in-house training.<br />

Please contact us for details.<br />

Díaz & Hilterscheid Unternehmensberatung GmbH<br />

Kurfürstendamm 179<br />

10707 Berlin<br />

Germany<br />

Phone: +49 (0)30 74 76 28-0<br />

Fax: +49 (0)30 74 76 28-99<br />

E-mail: training@diazhilterscheid.com<br />

Website: training.diazhilterscheid.com<br />

ISTQB® Certified Tester<br />

Foundation Level<br />

In this training course<br />

you will learn about the<br />

most important test techniques<br />

and procedures<br />

that you can use to prepare<br />

and execute software tests effi ciently<br />

and effectively, and which will help you<br />

to make a decisive contribution to your<br />

project’s success.<br />

Advanced Level – Test Manager<br />

Building on the fundamental knowledge of<br />

the Foundation Level, this course teaches<br />

you all of the theoretical planning, steering<br />

and control tasks in test management and<br />

discusses your possibilities for their practical<br />

implementation using examples.<br />

Advanced Level – Test Analyst<br />

Based on the basic knowledge taught in<br />

the Foundation Level course, this training<br />

will teach you in-depth knowledge about<br />

technical testing tasks and review techniques.<br />

In this connection, your possible<br />

course of action in every-day work situations<br />

will be discussed with the help of<br />

numerous examples.<br />

Advanced Level –<br />

Technical Test Analyst<br />

Based on the basic knowledge taught in<br />

the Foundation Level course, this training<br />

will teach you in-depth knowledge for<br />

structure-based testing tasks and test automation<br />

matters. In this connection, your<br />

possible course of action in practice will<br />

be discussed with the help of numerous<br />

examples.<br />

For more training courses and current training dates, please visit our website or contact us:<br />

Online Training<br />

−60 %<br />

Save up to 60 % with online training!<br />

Visit our online shop to see what courses<br />

are available:<br />

www.te-trainings-shop.com


Editorial 1<br />

Editorial Board 4<br />

The Agile Project Manager: WIPping Things Into Shape 6<br />

by Bob Galen<br />

COLUMN: By the way… 8<br />

by Tanja Schmitz-Remberg & Werner Lieblang<br />

Kanban – Quo vadis? 10<br />

by Maik Nogens<br />

How to create the agile enterprise 12<br />

by Michael Azoff<br />

COLUMN: Creating my own flow with personal kanban 15<br />

by Huib Schoots<br />

The Day Dan Realized the Power of Kanban! 17<br />

by Raja Bavani<br />

The Kanbanist’s Guide to the Galaxy 20<br />

by Radoslaw Orszewski<br />

Cumulative Flow Diagram – Kanban Predictive Modeling Tool 24<br />

by Rashmi Wadhawan<br />

Security-focused stories: Implementation tips in Agile development environments 26<br />

by Vishal Asthana & Rohit Sethi<br />

COLUMN: An Agile Project Startup Week: ‘Evo Start’ 29<br />

by Tom & Kai Gilb<br />

Masthead 33<br />

Picture Credits 33<br />

Index Of Advertisers 33<br />

Page 3 Agile Record – www.agilerecord.com<br />

Contents


Editorial Board<br />

Matt Block<br />

During my career I have played<br />

the role of developer, development<br />

manager, and product<br />

manager. I have learned what<br />

development practices and processes<br />

are critical to the success<br />

of agile and how to drive that<br />

adoption process. I have learned just how critical<br />

and how difficult the Product Owner role is in enabling<br />

the business to realize the full potential<br />

agile can bring. Learn more at www.developmentblock.com.<br />

Plamen Balkanski<br />

With over 14 years of experience<br />

in IT, I come from software development<br />

background and I’ve<br />

worked in Agile, Scrum/XP and<br />

Kanban/Lean environments. I<br />

have been involved in co-organizing<br />

events for the Agile South<br />

Coast User Group and ScrumFest.org. I am passionate<br />

about helping teams, individuals and<br />

companies discover how to work better together<br />

and how to continue learning while delivering high<br />

quality solutions to business problems.<br />

David Alfaro<br />

David Alfaro is Certified Scrum<br />

Professional and Scrum Master<br />

with many years of experience in<br />

dedicated Agile (Scrum, Kanban<br />

and XP, being TDD a practice of<br />

XP), custom tailor coaching for<br />

collocated and distributed<br />

teams, aspiring Agile Programmers, and Scrum-<br />

Masters and Product Owners.<br />

David was the first Costa Rican to get training<br />

and successfully implement Scrum in the country.<br />

He has been the Scrum promoter in Costa Rica<br />

since 2007.<br />

He is founder and board member of the Costa<br />

Rica Agile User Group. He is a Certified Scrum<br />

Professional (recognition awarded only to those<br />

that have proven seasoned experience in Scrum<br />

implementation and adoption). He is the founder<br />

of Prontitud. He is the reference speaker regarding<br />

Agile topics in national conferences.<br />

José Manuel Beas<br />

One of the best known agile activists<br />

in Spain. Over the last<br />

years, as the first president of<br />

Agile-Spain (organizers of two<br />

main conferences every year)<br />

and co-founder of Agilismo.es<br />

(promoters of new formulas for<br />

training professionals, like coding-dojos or backlog<br />

workshops), Jose Manuel Beas had a significant<br />

participation in the upgrowth of the Spanish agile<br />

community. He is also aware of the importance<br />

of sharing experiences, that is why he also writes<br />

technical articles in his blog and appears in podcasts,<br />

webinars and very different professional<br />

events and even has prologued the first TDD book<br />

in Spanish. His motto is “leave the knowledge<br />

where it has to be: among people”. He is also<br />

helping teams by coaching and mentoring and<br />

can be found in jmbeas.es or as @jmbeas in Twitter.<br />

Steve Rogalsky<br />

Steve Rogalsky gets a thrill out<br />

of solving problems, working<br />

with teams, and helping people<br />

learn and improve. I apply this to<br />

software development using<br />

lean and agile techniques as a<br />

process hacker, coach, analyst,<br />

tester, developer, speaker, and agile advocate. I<br />

blog at winnipegagilist.blogspot.com and work at<br />

protegra.com.<br />

Steve Smith<br />

Steve Smith is a software developer<br />

with a passion for building<br />

quality software as effectively as<br />

possible. He’s a Microsoft Regional<br />

Director and MVP, a frequent<br />

speaker at developer<br />

conferences, an author, and a<br />

trainer. He’s the co-founder of NimblePros.com,<br />

an agile software studio located in Hudson, Ohio,<br />

which builds custom software for clients with an<br />

emphasis on quality and craftsmanship.<br />

Page 4 Agile Record – www.agilerecord.com<br />

Pat Guariglia<br />

Pat Guariglia is an agile coach<br />

for Elegant Agile, Inc. He is certified<br />

as a PMP with the Project<br />

Management Institute, a Certified<br />

Scrum Practitioner (CSP)<br />

and Certified Scrum Master<br />

(CSM) with the Scrum Alliance.<br />

Pat has been leading information technology projects<br />

and coaching agile teams for the last twelve<br />

years. Pat continues to champion agile practices<br />

and Scrum in the Upstate New York and New York<br />

City areas. He speaks at conferences, seminars<br />

and holds workshops across the Northeast and<br />

worldwide. Pat contributes articles to the Scrum-<br />

Alliance.org web site, is the organizer for the Upstate<br />

New York Agile User Group, and participates<br />

in the organization and networking of regional<br />

northeast US agile groups.<br />

Zuzanna Sochova<br />

Zuzanna Sochova is a leader of<br />

the Czech agile community Agile<br />

Association – AgilniAsociace.<br />

com, organizing conferences<br />

and events and sharing the agile<br />

experience all around. She<br />

works as a trainer, consultant<br />

and coach for software organizations, support<br />

them in tailoring their agile adoption processes<br />

to company culture (agile-scrum.com). She regularly<br />

speaks at international agile conferences.<br />

She is Managing Director of LOTOFIDEA.<br />

Dave Rooney<br />

Dave Rooney is a veteran Agile<br />

Coach in Ottawa, ON, Canada<br />

with 25 years industry experience,<br />

and a Co-founder/Consultant<br />

with Westboro Systems. He<br />

has been involved with Agile<br />

Software Development since<br />

2000, helping private and public sector organizations<br />

from pre-funding startups to the Fortune 15<br />

improve their software delivery process. Dave is<br />

also a co-founder of the Agile Ottawa Group, and<br />

an active writer, speaker and advocate of agile<br />

methods in Canada.


Editorial Board<br />

Josh Anderson<br />

Josh Anderson is an Agile Activist<br />

and Coach located in Raleigh,<br />

NC. He currently serves as the<br />

Director of Engineering at<br />

Aprimo|Teradata. Having spent<br />

the last decade building and<br />

leading effective and efficient<br />

software development teams, Josh brings a<br />

wealth of experience in areas such as Agile adoption/implementation,<br />

team building, leadership<br />

development, attracting/hiring/retaining topnotch<br />

technologists, and software architecture.<br />

Josh co-hosts a bi-weekly podcast with fellow Agile<br />

Methodologist, Bob Galen. Meta-Cast, available<br />

at www.meta-cast.com, involves discussions covering<br />

Agile/Scrum, team building, management<br />

techniques, and various other items that affect<br />

everyone involved in software development.<br />

Josh can be reached in various ways:<br />

Podcast Website: www.meta-cast.com<br />

Podcast Twitter: @MetaHyphenCast<br />

Personal Twitter: @nosrednAhsoJ<br />

Maik Nogens<br />

Maik works as a testing consultant<br />

with Díaz & Hilterscheid,<br />

where he focuses on the agile<br />

aspects of testing.<br />

As part of his passion to support<br />

the profession of testers<br />

and testing, he is very active in<br />

many peer and community setups.<br />

Maik is a co-founder of two international peer<br />

networks, GATE (German Agile Testing and Exploratory<br />

Workshop) and PotsLightning (the pre-<br />

Agile Testing Days event held in Potsdam). In his<br />

hometown Hamburg he moderates the STUGHH<br />

(Software Test Usergroup Hamburg) and also<br />

leads the special interest group “Agility” for the<br />

ASQF organization in Germany.<br />

He is a black belt in the Miagi-Do School of Software<br />

Testing, attended the BBST foundation<br />

course, is a practicing CAT (Certified Agile Tester)<br />

trainer, conducts Testing Dojos and runs workshops<br />

for Kanban, SCRUM and other agile areas.<br />

Ciaran Kennedy<br />

Ciaran Kennedy (MSc Technology<br />

Management, CSM, CSP)<br />

hails from Dublin and has a huge<br />

passion for Technology and all<br />

things Agile. He founded Scrum<br />

Ireland (www.scrum.ie), a leading<br />

and free Social Network<br />

dedicated to Agile IT professionals across the<br />

globe. With many leading companies and individual<br />

members including Mike Cohn and Jeff<br />

Sutherland, Scrum Ireland is growing fast in the<br />

community. During the day Ciaran runs his own<br />

Agile Company, Chillistore Technologies Ltd (www.<br />

chillitech.ie) providing Agile Office Services to leading<br />

blue chip and high tech innovative start-ups.<br />

He also does some part time lecturing on Agile<br />

Project Management in his spare time and has<br />

been a guest speaker at PMI and Engineer Ireland<br />

events.<br />

Roy Maines<br />

Roy Maines graduated Cum<br />

Laude from Chapman University<br />

with a BS Degree in Computer<br />

Information Systems. With over<br />

30 years’ experience in the IT<br />

Technology field, Mr. Maines has<br />

an extensive background in multiple<br />

disciplines in Technical Project Management.<br />

Mr. Maines is a certified Project Management<br />

Professional (PMP), Certified Scrum Master (CSM)<br />

and Certified Scrum Professional (CSP). Mr.<br />

Maines has broad experience supporting the full<br />

SDLC engineering efforts, Test & Evaluation, Formal<br />

Information Assurance Certification efforts.<br />

Mr. Maines has held various technical and Project<br />

Management positions with a number of fortune<br />

500 companies including Microsoft Corp, Perot<br />

Systems, Wachovia Bank NA, and Mantech Systems<br />

Engineering Corp. Mr. Maines diverse experiences<br />

enable systematic analysis and troubleshooting<br />

of large scale technical <strong>issue</strong>s and<br />

management of key business metrics.<br />

Page 5 Agile Record – www.agilerecord.com<br />

Declan Whelan<br />

I strive on building great software<br />

with great teams. During my career,<br />

I have found agile/lean<br />

principles and practices to be<br />

the best way to do that. So I now<br />

spend a lot of my energy training,<br />

coaching and mentoring<br />

teams to build the environments in which they can<br />

truly succeed: open, supportive environments<br />

where everyone brings their genius selves to work<br />

each day to deliver continuous value.<br />

Andreas Ebbert-Karroum<br />

Andreas Ebbert-Karroum leads<br />

the Agile Software Factory (ASF)<br />

at codecentric. For more than<br />

four years, he is a certified<br />

Scrum Master. Since then he<br />

could contribute his competencies<br />

in small and large (> 300<br />

persons), internal and external, or local and<br />

global projects as developer, scrum master or<br />

product owner. Meanwhile, he’s also a Professional<br />

Developer Scrum Trainer, conducting a<br />

hands-on training for Scrum team members,<br />

which codecentric has developed together with<br />

scrum.org and in which he shares with joy the<br />

knowledge gained in the ASF. More than 15 years<br />

ago, his interest in JavaSE/EE awakened, and it<br />

never vanished since then. His focus at codecentric<br />

is the continuous improvement of the development<br />

process in the Agile Software Factory, where<br />

technical, organizational and social possibilities<br />

are the challenging, external determining factors.


The Agile Project<br />

Manager: WIPping<br />

Things Into Shape<br />

by Bob Galen<br />

I once was leading/coaching a team that struggled mightily to<br />

work together as a team. I was the Director of R&D at an eCommerce<br />

SaaS product company. We had been leveraging Scrum<br />

for a number of years with reasonably good success and had<br />

approximately 10 Scrum teams focusing on the various aspects<br />

of our online product.<br />

But there were a couple of teams that were really struggling, which<br />

often seems to be the nature of things. Out of ten teams, we had<br />

about three that were high performing, three that were moderately<br />

performing, and three that struggled along. Don’t get me wrong,<br />

the team members were solid people and good employees. It was<br />

just that this whole “agile collaboration thing” was hard for some<br />

of them to grasp and embrace.<br />

One particular team truly struggled. They had failed quite a few<br />

sprints in a row and I was intervening as a coach. Let me digress<br />

for just a moment on the whole failure thing, before you all start<br />

throwing tomatoes:<br />

We measured success or failure not by hours, or points, or stories<br />

completed. We measured it by the team meeting their Sprint Goal<br />

that was established when they planned and committed to their<br />

sprint. There is a lot of angst in the Scrum community over using<br />

Pass vs. Fail or even using the word “commitment”. For the purposes<br />

of this article, I do not necessarily want to try and debate<br />

this practice. You can see references to some related posts at the<br />

end of the article. Suffice it to say that, at the time of this example,<br />

we measured and cared about sprints passing versus failing.<br />

As they failed, they would talk about adjustments in their retrospectives.<br />

But the modifications were often quite trivial or safe. I felt<br />

they were not addressing the <strong>issue</strong>s that were truly impacting their<br />

performance. I remember in one retrospective, they decided that<br />

the estimation units they were using were flawed. So they moved<br />

from a modified Fibonacci to Gummy Bears. Needlessly to say, the<br />

next sprint was not positively influenced by the adjustment. This<br />

went on for quite some time.<br />

I am normally a patient coach and I try to influence teams to observe<br />

and improve on their own. But this team truly was not “getting<br />

it”. So, after about their fourth or fifth failure in a row, I gathered<br />

the team’s Scrum Master and Product Owner in my office for a<br />

“chat”. I insisted that the failure pattern that they were experiencing<br />

needed to stop. I told them that I felt their root problem was<br />

that the team was not collaborating on their work. That they were<br />

operating as a Scrummer-fall based team and that individual work<br />

was the norm rather than teaming, swarming, collaboration, and<br />

Page 6 Agile Record – www.agilerecord.com<br />

teamwork. They agreed and they voiced their own frustration with<br />

the lack of improvement. But they did not know what to do and<br />

they were reluctant to “tell” the team what to do.<br />

I quickly suggested two things. But the change had to be theirs.<br />

If they did not like my adjustment recommendations, then they<br />

should pick meaningful ones of their own, but they should stop<br />

dancing around the root challenges and truly attack meaningful<br />

adjustment ideas in their retrospective. Clearly, something had to<br />

change – for the team’s sake.<br />

My Two Adjustments<br />

I recommended two simple adjustments for their team:<br />

■ First, I asked them to co-locate or sit together as a team,<br />

find a place where they could all sit together for one sprint.<br />

I spoke about the quintessential Agile team environment,<br />

where everyone sat at a long table – along both sides. The<br />

entire team residing in a single room, where they could see<br />

and hear each other and where they would be naturally<br />

pairing. A room where they could pull away from the laptops<br />

and gather around a whiteboard and where they could have<br />

their daily Scrum right there in the same space.<br />

Could they just try it … for only a 2-week sprint?<br />

■ Next, I asked them to limit their work-in-progress or WIP. I<br />

did not necessarily have a “magic number”, but I thought<br />

that a WIP limit of three might be useful for them. And, as a<br />

note, this would be a hard limit. The team could only work<br />

on three user stories in the Sprint Backlog at one time.<br />

These would be the highest priority stories. In order for<br />

them to pick-up the next story, they would have to complete<br />

one of the current three and demonstrate that it met their<br />

definition of “done”.<br />

That was it. Two small changes fully targeted at their collaboration<br />

challenges.<br />

Well, fast forward past their next retrospective and the team “accepted”<br />

my recommendations and tried them out. They found a<br />

large conference room that they took over as a team room and


everyone moved into the room: front-developers, testers, back-end<br />

developers, Scrum Master and the Product Owner. The whole team<br />

co-located for a sprint.<br />

Their sprint planning went on largely as before, but the workflow<br />

strategies were strongly influenced by the WIP limits. In fact, they<br />

only planned on attacking the first three stories, leaving the remainder<br />

of the work to emerge during the sprint. So, they did a bit<br />

of guessing on how much would fit into the sprint.<br />

But, importantly, they left sprint planning with a commitment to a<br />

body of work and a commitment to swarm on their work as a team.<br />

They were willing to give the adjustments an honest try.<br />

Results<br />

I rarely like to use numbers to illustrate results because they can<br />

be misleading and miss much of the nuance. However, in this case,<br />

I want to leverage some of the team’s numbers simply because<br />

it illustrates the impact these modifications had AND the results<br />

the team realized.<br />

The team previously would commit to a body of work and deliver<br />

only 60–75 % of the work (stories) toward their sprint goals. That<br />

was typical. They also often missed delivering higher priority stories<br />

over lower priority stories.<br />

The sprint where they made these two adjustments, the team<br />

delivered to 140 % of their commitment; pulling more work in than<br />

they had thought feasible. Not only that, they delivered in priority<br />

order, so if something had happened they would have delivered<br />

higher value first.<br />

But there is even a hidden fact I have left out. It just so happened<br />

that this team received a new team member a few days before the<br />

sprint started. While being an experienced engineer, this person<br />

was totally new to the company, product, and team. As part of the<br />

team’s renewed focus on collaboration and swarming, they embraced<br />

the new developer and he actually had a net-net positive<br />

impact on the sprint’s results.<br />

What Changes Do WIP Limits Influence?<br />

Even before Kanban became more popular I was leveraging WIP<br />

limits in my coaching as an aid to driving collaboration and swarming<br />

around work. The reality is that when a team swarms around<br />

their work and removes delays, hand-offs, and inspection points,<br />

they simply get more done. But it is often hard for some teams<br />

to realize it.<br />

Getting back to our team, what did they experience over their<br />

initial sprint?<br />

1. The daily Scrum became more of a collaborative planning<br />

session than a status meeting for the team. The discussions<br />

surrounded who would work with whom to maximize their<br />

focus on the limited WIP and effectively working together.<br />

2. Since the team only had a few things to work on, keeping<br />

them “flowing” towards completion was important. So any<br />

delays, impediments, or <strong>issue</strong>s became immediately visible<br />

and required team-wide adjustments. This helped in getting<br />

work “done” as well as improving their throughput.<br />

Page 7 Agile Record – www.agilerecord.com<br />

3. It was funny. Even though they all sat in close proximity, the<br />

team had not truly collaborated previously. But removing<br />

all of the walls and getting everyone co-located changed<br />

the collaborative dynamic. There was much more dynamic<br />

pairing across team members and natural cross-team communication.<br />

4. Another aspect of the room was work visualization. There<br />

was a shared whiteboard where the team had their sprint<br />

plans. Story and task card movement was incredibly visual<br />

and the team spent time at the board every day adjusting<br />

their visualizations for work pairings and workflow.<br />

5. Quality was better as the developers and testers paired<br />

more frequently and naturally. They found bugs quickly and<br />

focused on repairing them rather than talking about or documenting<br />

them for later resolution.<br />

6. As I mentioned earlier, the team really did not plan the sprint<br />

end-to-end in the traditional sense. Instead, they planned<br />

each new story as they picked it up, changing their collaboration<br />

as required. It was dynamic, fast, and optimized the<br />

throughput of the team towards getting things DONE!<br />

The key conversations in the daily stand-up moved from “What has<br />

each individual done or what do they plan to do?” to “How does<br />

the team maximize their daily focus to get the highest priority work<br />

done as quickly and as well as possible?”<br />

Wrapping Up<br />

As for my example team, some might wonder what happened after<br />

that initial sprint. Did they move back to their old offices? Did they<br />

change back to their old habits? And did they continue to improve?<br />

I will leave that answer for another time and another article.<br />

The real point is – are you struggling to collaborate as a team?<br />

Are your developers holding on to work too long? Do you have too<br />

many stories in play at once and miss delivering important work?<br />

Is Scrummer-fall alive and well in your organization? Or are you<br />

just not as productive as you think you could be?<br />

If so, please consider sitting together and limiting your WIP. You<br />

just might see a different result. ■<br />

> about the author<br />

Bob Galen<br />

Bob Galen is President & Certified Scrum Coach (CSC) at<br />

RGCG, LLC a technical consultancy focused towards increasing<br />

agility and pragmatism within software projects<br />

and teams. He has over 30 years of experience as a software<br />

developer, tester, project manager and leader. Bob<br />

regularly consults, writes, and is a popular speaker on a<br />

wide variety of software topics. He is also the author of the books: “Agile<br />

Reflections” and “Scrum Product Ownership”. He can be reached at:<br />

bob@rgalen.com


Column<br />

It was a rainy evening. A strong wind was howling outside, but<br />

inside the aromatic scent of Assam tea was in the air.<br />

Jack returned home from a tiring day at the office, where he worked<br />

as a software developer. His friend Lisa, with whom he shared a<br />

flat, was preparing herself a cup of tea.<br />

Lisa: Hi Jack, you look like you also need a cup of tea – how<br />

did you go today?<br />

Jack: Well – Andrea, a new developer joined my software<br />

team today. Everybody tried to be nice and friendly and we<br />

gave her answers to all the questions she had. She seems<br />

very smart and I think she immediately sensed that our team<br />

is a special one.<br />

Lisa: And that kept you from doing your day job, did it? So<br />

what did she ask?<br />

Jack: Well, the usual stuff, you know: “When do you start work<br />

in the morning?”, “What Configuration Management System<br />

are you using”, “Where can I get coffee?”and so on.<br />

Lisa: Who is looking after her in the team?<br />

Jack: Nobody. She has to find her way into the team by herself,<br />

as we all had to. Hopefully she integrates better than Brian, the<br />

last new guy who joined the team. He really ran into problems,<br />

and it took him many months before he finally got along with<br />

the rest of us. Well, we just have to wait and see, I guess – not<br />

much we can do.<br />

Lisa handed Jack a cup of tea and looked at him.<br />

Lisa: Don’t you think you all have responsibility?<br />

Jack: Oh come on, we are not her parents – that’s the way<br />

we always deal with new team members. How was your day?<br />

Lisa: Nothing special at the clinic, just the usually crazy people<br />

with their problems. By the way, I bought some bread at Charlys<br />

bakery on the way back home. You have to try it.<br />

Jack: Why? Is it different?<br />

Lisa: I hope so. After I told Charly last week that his bread was<br />

a bit salty, he decided to change the recipe. So we are trying<br />

out the new bread now – and he is curious about our opinion.<br />

Page 8 Agile Record – www.agilerecord.com<br />

By the way…<br />

by Tanja Schmitz-Remberg & Werner Lieblang<br />

Jack tried the bread. Indeed, it was much better. He sipped his tea,<br />

smiled at Lisa and looked out the window. The rain had stopped.<br />

He took another bite of the bread and was wondering, how Andrea<br />

would get along with her new team. ■<br />

> about the authors<br />

Tanja Schmitz-Remberg and Werner Lieblang<br />

Tanja Schmitz-Remberg and Werner Lieblang combine half<br />

a century of experience in software engineering and training<br />

various groups. Werner is working as a tester trainer<br />

and agile coach, Tanja works as a communication and<br />

group work trainer.<br />

Being friends for ages and sharing an enthusiasm for<br />

working with agile groups, they passionately play impro-theatre and love to<br />

dare out-of-the-box stuff. Together they have developed several trainings for<br />

members of the agile community.


Enjoy Test Case Design in the Cloud<br />

CaseMaker SaaS systematically supports test case design by covering the techniques taught<br />

in the ISTQB ® Certifi ed Tester program and standardized within the British Standard BS 7925.<br />

The implemented techniques are: Equivalence Partitioning, Boundary Check, Error Guessing,<br />

Decision Tables and Pairwise Testing. Risk-Based Testing is supported as well.<br />

CaseMaker SaaS fi ts between<br />

Requirement Management and<br />

Test Management/Test Automation.<br />

Subscribe and try for free!<br />

Decide afterwards.<br />

One license starts at<br />

75 €/month (+ VAT)<br />

saas.casemaker.eu<br />

© Pitopia/Klaus-Peter Adler, 2007


Kanban – Quo vadis?<br />

From Manufacturing to IT companies, where next?<br />

by Maik Nogens<br />

Introduction<br />

Many might know the foundation of Kanban 1 and now also see the<br />

success stories within the computer industry, from web shops to<br />

bank applications. Many companies are using Kanban (or “Kanban<br />

in IT” 2 as it is also known in Germany, to differentiate it from the<br />

way it is used in manufacturing).<br />

While attending the “AgileCoachCamp Germany 2012” 3 I first<br />

heard stories about how people used Scrum and Kanban in their<br />

daily personal lives.<br />

Over time, I heard and read more stories from different areas of<br />

life and also started to use “Personal Kanban”.<br />

Reasoning<br />

I think it is interesting to see that something we use in our “business<br />

life” is also used by people not in any way connected to IT,<br />

software development, or similar technology-oriented areas.<br />

This knowledge can support us and make us feel confident that<br />

all the obstacles we might need to overcome to get Agile methods<br />

introduced and implemented in companies are worth the effort<br />

and will pay off. Why?<br />

Because I believe that Kanban is intuitive to use, easy to start<br />

with, and reflects life better.<br />

Because life consists of change and if we do not adjust, then life<br />

will take care in its own way.<br />

What is true in “non-business” life (aka real life), also holds true<br />

in “business life”.<br />

Think about driving a car. What happens if you do not adjust to a<br />

changing road situation?<br />

And businesses which do not adapt to changing market situations<br />

run this risk, too.<br />

Personal Kanban<br />

So what is Personal Kanban? How is it “different” to “Business<br />

Kanban”?<br />

1 http://de.wikipedia.org/wiki/Kanban<br />

2 http://www.amazon.de/Kanban-IT-kontinuierlichen-Verbesserung-schaf-<br />

fen/dp/3446430598<br />

3 http://accde12.pbworks.com/w/page/50999558/FrontPage<br />

Page 10 Agile Record – www.agilerecord.com<br />

Well, basically it is not. It follows the same two principles:<br />

1. Make your workload visible<br />

2. Limit your workload in progress<br />

People can use this concept for their personal life, too.<br />

They can get an overview of all their tasks which stem from social<br />

obligations (“I have to go to the in-laws, but I also have to meet<br />

my buddies and the gardening club”), private tasks (“My wife expects<br />

the fence to be fixed and the shelf assembled, and I really<br />

should do the dishes at least twice a week”), work interference<br />

(“I promised my boss the article next week, plus the client wants<br />

my attention over dinner”).<br />

Often the sheer amount of tasks can stun us into inaction or<br />

procrastination until the deadline looms and we have to REact<br />

in panic mode.<br />

Personal experience<br />

I will the story of how I applied Personal Kanban to a very personal<br />

project: moving house.<br />

We had to move house all of a sudden last year. The decision was<br />

forced on us rather than planned. Furthermore, I was involved in a<br />

project on the other side of the country and had a full-time week<br />

there. We managed to secure a house quite quickly and were now<br />

faced with the Moloch of “moving house”.<br />

It felt overwhelming and “impossible”. I was using Personal Kanban<br />

already and decided to make a separate board for this specific<br />

three-month project.<br />

Setup<br />

I put everything on task cards: registration with local authority for<br />

new house, deregistration with old authority, getting card boxes<br />

to put stuff in, checking out paint colors and buying paint tools,<br />

organizing kitchen people to visit and take measurements, getting<br />

lamps down and stuff dismantled, etc., basically ALL the tasks I<br />

could think of at that moment.<br />

My wife and I reflected on the collection and put some more cards<br />

up where I had overlooked some items.<br />

What had been an enormous, amorphous, intangible mass, sucking<br />

out my energy and decision making to get started became a<br />

tangible, concise, readable list of items (97 in total by the way).


Pattern detection<br />

Immediately I also saw pattern of dependencies.<br />

I needed the lamps up in the old house as long as possible, since I<br />

would need to work in the afternoons when it was dark in Germany.<br />

Also I could only register after I had already deregistered.<br />

And, of course, I needed to have card boxes first before I could<br />

put stuff in.<br />

So prioritizing and sorting was instantly possible once I could see<br />

the items.<br />

We kept the Kanban task board simple enough, so other members<br />

of the family could use it intuitively.<br />

We had To-Do, Doing and Done. We put all the cards in To-Do and,<br />

since we had chosen paper cards, it was easy to reorganize them<br />

when needed.<br />

Retrospection<br />

Every two to three days we would get together and discuss what<br />

we had done and how the progress was going. I would take over<br />

a lot of the administrative stuff which I could handle by phone or<br />

email and where physical location was not important, while my<br />

wife would do the location-dependent tasks. I would organize the<br />

appointment with the kitchen people, my wife would be there to<br />

let them in and be involved in the detailed discussion.<br />

Tasks were distributed naturally. She had the authority for colors<br />

and deco stuff; no argument there.<br />

Adapt to change<br />

Sometimes life happened and tasks were thrown out or postponed.<br />

Sometimes we achieved some tasks together, when the opportunity<br />

arose. (Our local DIY market had a special offer on carpets one day,<br />

while we were shopping for bathroom cupboards and the carpet<br />

design found our approval.)<br />

Conclusion<br />

Did all the house moving go to budget, plan and time?<br />

Well, we moved in time and lost none of our stuff. We were somewhat<br />

over our budget, but it was a conscious decision and not<br />

because we had no choice.<br />

We also planned the “big day” when we actually loaded the truck.<br />

That plan was void in the end. More friends showed up than<br />

expected and we had all the boxes, etc. on the pavement before<br />

the truck even showed up.<br />

Overall I consider it was a success.<br />

The most calming fact for me was that by having the tasks visible<br />

and reducing the multitasking of working items, it helped me to<br />

have a relaxed mental state rather than being overwhelmed, and<br />

to get into an effective working mode again.<br />

Page 11 Agile Record – www.agilerecord.com<br />

Could we have had got by with to-do lists?<br />

My belief is that simple to-do lists would not have reflected the<br />

dependencies and we might have worked on items which were not<br />

needed at that moment. Our Kanban board gave us the context,<br />

to see and decide on these patterns.<br />

One of the (retrospective) reflections I have learned is that in<br />

“normal” months I use Personal Kanban in a lenient way, but<br />

whenever pressure rises in terms of tasks pouring in from multiple<br />

inputs such as private, social, work, etc., I tend to rely on Personal<br />

Kanban more. This is a pattern I discovered for myself.<br />

Future adaption planned<br />

I also started using Personal Kanban in a mix of short and long<br />

term projects. For example, when I am organizing the next peer<br />

workshop I put it on a separate swim lane on the board. This is<br />

my next adaption experiment. ■<br />

> about the author<br />

Maik Nogens<br />

Maik works as a testing consultant with Díaz & Hilterscheid,<br />

where he focuses on the agile aspects of software testing.<br />

His 19 years of work experience include being a NATO<br />

naval broadcast team leader in the German Navy HQ and<br />

a project leader in the Middle East (Bahrain) as well as<br />

working in software development companies as a tester<br />

and QA in different industries.<br />

Since joining Díaz & Hilterscheid, he completed many projects in the banking<br />

industry, in medical software companies and various agile adaptations.<br />

These projects range from Kanban implementation and conducting of Testing<br />

Dojos to the more traditional roles in test management, test infrastructure<br />

planning and tool support.<br />

As part of his passion to support the profession of testers and testing, he is<br />

very active in many peer and community setups.<br />

Maik is a co-founder of two international peer networks, GATE (German Agile<br />

Testing and Exploratory Workshop) and PotsLightning (the pre- Agile Testing<br />

Days event held in Potsdam). In his hometown Hamburg he moderates the<br />

STUGHH (Software Test Usergroup Hamburg) and also leads the special interest<br />

group “Agility” for the ASQF organization in Germany.<br />

He is a black belt in the Miagi-Do School of Software Testing, attended the BBST<br />

foundation course, is a practicing CAT (Certified Agile Tester) trainer, conducts<br />

Testing Dojos and runs workshops for Kanban, SCRUM and other agile areas.<br />

He is a CSM, a CAT and holds the ISTQB Full Advanced Level.


How to create the<br />

agile enterprise<br />

by Michael Azoff<br />

Summary<br />

The concept of the agile enterprise set out in Ovum’s latest report,<br />

Agile and Lean Business Transformation, arises from practices<br />

that embrace common principles and values, such as putting<br />

uppermost the delivery of value to the customer and high quality<br />

products. Three areas are explored for creating the agile enterprise:<br />

innovation, organization management, and IT department<br />

agility. Large enterprises face challenges on these three fronts.<br />

First, even the most successful enterprise eventually hits the innovation<br />

wall and questions how to break through to continue to<br />

innovate and act as nimbly and creatively as a startup. Second,<br />

the need to respond to changing market conditions and keep an<br />

organization’s strategy in touch with these changes is another challenge<br />

hampered by the annual budgeting process. Third, software<br />

development has been transformed by Agile methodologies and<br />

the next step is to transform the whole IT department. Addressing<br />

each of these areas through Agile practices such as Lean Startup,<br />

Beyond Budgeting and DevOps can help transform an organization<br />

and create an agile enterprise.<br />

Innovation through iterative trials to first identify<br />

the customer<br />

Companies must innovate because eventually customers dry up<br />

and the engine of growth stops. The solution when competing<br />

against startups is to incubate your own startups within the organization.<br />

This requires an adaptive organization – one that can adjust<br />

its processes and performance to meet the challenges arising<br />

from changing market conditions. Innovation portfolio thinking is<br />

required for the company to nurture its own disruptive innovations.<br />

Startup entrepreneurs like Steve Blank and Eric Reis have created<br />

new innovation models that exploit iterative feedback loops<br />

and learning based on scientific method (hypothesis, experiment,<br />

learn), and set within a Lean-style continuous learning framework.<br />

Most crucially, customer development before product development<br />

is central to their approach – identify exactly who the customer<br />

is before spending resources on the product or service. Lean<br />

Startup and related processes, such as Yammer’s data-driven<br />

development, act as innovation incubators suitable for startups<br />

and large enterprises.<br />

Taking Agile and Lean to the whole IT department<br />

Agile and Lean thinking have transformed the world of software<br />

development, and now it is the turn of IT operations to embrace<br />

agility, through adopting DevOps thinking. Developers need to work<br />

with operations to create development and test environments that<br />

Page 12 Agile Record – www.agilerecord.com<br />

remain compliant, while operations need to be able to move at<br />

the speed of Agile processes to keep developers happy. However,<br />

often developers do not understand the constraints that exist in<br />

operations, for example provisioning images is fast but provisioning<br />

servers can be more complex. So collaboration between the<br />

old departmental silos and co-defining deployment pipelines can<br />

help improve the IT operations services offered.<br />

Transforming organization management through Beyond Budgeting<br />

Beyond Budgeting (BB) is a management movement supported by<br />

the BB Round Table, an education network. BB starts by transforming<br />

the financing process within an enterprise. The annual budget<br />

cycle (ABC) is a waterfall/big bang effort that has been described<br />

as “like a bank that opens its doors for only one week in the year”.<br />

Moreover, the amount of time wasted in satisfying performance<br />

metrics (linked to the budget promises) that quickly become out<br />

of step with reality act as a brake on the organization’s ability to<br />

adapt to new market conditions.<br />

BB sweeps out ABC and introduces a continuous financing model,<br />

supported by rolling forecasts, which help ensure the business<br />

strategy is on track. Annual budget milestones are still met, for<br />

example to satisfy external compliance needs, but budgets are allocated<br />

internally whenever required. Management performance is<br />

assessed on team and peer-to-peer relative performance metrics.<br />

The incentive for traditional budgets to create walls is removed and<br />

people within the organization discover a new degree of freedom<br />

to act in the interests of the organization.<br />

For example, Statoil, a Norwegian oil and gas giant, has adopted BB<br />

with dynamic forecasts, where new forecasts are initiated whenever<br />

market events necessitate a revision. Statoil has also split the ABC<br />

single budget metric into three separate components: forecasts<br />

(measured as objectively as possible), targets (designed to stretch<br />

performance), and resource allocation. The management structure<br />

is also changed in BB to allow customer-manager relationships to<br />

drive business, rather than always deferring to the center, so any<br />

command-and-control culture is reduced.<br />

Characteristics of an agile enterprise reflect Agile and Lean principles<br />

Ovum believes that organizations adopting Agile and Lean practices<br />

in the IT department, BB in the mainstream business, and Lean<br />

Startup (and related processes) as a driver for innovation, can lead<br />

to an agile enterprise transformation. Such an organization has<br />

reduced risk by relying on rapid evaluation of evidence to drive<br />

business strategy, and uses feedback loops in the IT department<br />

and the mainstream business to guide activities and deliver what


the customer wants. There are, of course, many paths to becoming<br />

an agile enterprise but Ovum believes they all approach this goal<br />

along different sides of the same entity, one which has embraced<br />

the principles and values of Agile and Lean thinking.<br />

Some of the practices that Ovum believes are essential to a successful<br />

agile enterprise transformation are: Agile and Lean software<br />

development processes in favor of waterfall where possible.<br />

Although waterfall is still widely practiced and has its uses, there is<br />

more to be gained from a hybrid or pure Agile approach. Example<br />

Agile processes are Scrum and Lean development. As a result<br />

the agile IT department is able to respond quickly to customer<br />

needs, put working software in front of end users in rapid iterations,<br />

and incrementally build what the customer needs and will<br />

use. Furthermore, the business and IT people have regular contact<br />

with each other, are able to identify who the key stakeholders are,<br />

and are able to self-organize workshops and planning meetings<br />

that ensure requirements are captured, accurate, and prioritized.<br />

DevOps needs to be adopted in IT operations as discussed above.<br />

Many good practices from the old waterfall regime should be<br />

retained in the agile enterprise. Corporate and IT governance are<br />

more important than ever in ensuring that, in a large enterprise,<br />

senior management is in touch with the edge of the organization,<br />

that there is transparency of activity to help ensure it is tied to<br />

corporate strategy, and that decision making is always raised to<br />

the right level of seniority depending on its impact (without a slow<br />

License ISTQB ® and IREB ®<br />

training materials!<br />

Díaz & Hilterscheid creates and shares ISTQB ® and IREB ®<br />

training material that provides the resources you need to<br />

quickly and successfully offer a comprehensive training<br />

program preparing students for certifi cation.<br />

Save money and save time by quickly and easily incorporating<br />

our best practices and training experience into your<br />

own training.<br />

Díaz & Hilterscheid Unternehmensberatung GmbH<br />

Kurfürstendamm 179<br />

10707 Berlin<br />

Germany<br />

Phone: +49 (0)30 74 76 28-0<br />

Fax: +49 (0)30 74 76 28-99<br />

E-mail: training@diazhilterscheid.com<br />

Website: training.diazhilterscheid.com<br />

Page <strong>13</strong> Agile Record – www.agilerecord.com<br />

and overburdening change process). Risk management is central<br />

to good governance practices.<br />

The characteristics of an agile enterprise are reflected in its adherence<br />

to the principles of Agile and Lean thinking. Some of these<br />

can be summarized as follows:<br />

■ Delivering value to the customer.<br />

■ Creating a set of corporate values that everyone in the<br />

organization believes in and follows.<br />

■ Creating teams that function through macro-management<br />

and that are accountable for their performance at a team<br />

level.<br />

■ Creating fast feedback processes to ensure that customer<br />

value is being created and not waste. ‘Fail fast’ is the principle<br />

that ensures the correct course is chosen by eliminating<br />

bad paths as quickly as possible.<br />

■ Continuous learning ensures that the organization is able<br />

to adapt to changes and is improving its performance.<br />

■ Change is normal – the ability to be flexible with moving<br />

project requirements is a mark of agility.<br />

■ The art of maximizing the amount of work not done – in<br />

tune with waste reduction and an emphasis on good prioritization<br />

of effort.<br />

Our material consists of PowerPoint presentations<br />

and exercises in the latest versions available.<br />

Our special plus: we offer our material in four different<br />

languages: English, German, Spanish and French.<br />

For pricing information and other product licensing requests, please contact us either by phone or e-mail.


■ Lean principles of just-in-time are introduced where appropriate,<br />

with the aim of achieving a continuous flow of work.<br />

■ From Beyond Budgeting: individuals are rewarded on relative<br />

peer-to-peer performance and not short-term fixed<br />

targets. This helps ensure that ambitious goals can be<br />

created.<br />

The biggest barrier to change is organizational culture, but, given<br />

the will to change by the board of directors and senior management,<br />

such barriers can be overcome. There will be different degrees of<br />

agility as an organization aims for improvement. A maturity model<br />

such as depicted in Figure 1 shows the possible approaches in<br />

terms of three categories: core agile team activity (intra-team<br />

agility); business-to-IT team agility (outer-team agility); and agility<br />

across the whole organization, where the IT department is not<br />

detached from the business but is intimately tied to it (business<br />

agility).<br />

The first step in this maturity model is to fix any broken processes<br />

in the IT department and achieve intra-team agility where development<br />

is done by agile teams and can achieve proven successes.<br />

Intra-team agility is possible even with minimal involvement from<br />

the business and is ideal for keeping the basic IT needs of the<br />

organization running, and where projects are tactical in nature.<br />

The next stage is good IT department engagement with the rest<br />

of the business (a feature of Agile methodologies like Scrum and<br />

Extreme Programming), and represents involvement of product<br />

owners, user acceptance testing after each iteration, and plenty<br />

of face-to-face dialogues with business stakeholders. IT projects<br />

now extend to differentiators and innovators as IT people are<br />

now engaged in business thinking and strategy aspirations. The<br />

ultimate goal is business agility, where the mainstream business<br />

processes have adopted Agile ways of working and where IT use is<br />

optimized, from ‘run the business’ to innovation, and from tactical<br />

requirements to long-term strategic requirements affecting the<br />

future of the business.<br />

Strategic<br />

Tactical<br />

Intra-Team<br />

Agility<br />

Keep the<br />

business running<br />

Business Agility<br />

Outer-Team Agility<br />

Figure 1: Organization agility maturity model (source: Ovum)<br />

Differentiation,<br />

Innovation<br />

Page 14 Agile Record – www.agilerecord.com<br />

It can happen that the IT department becomes engaged at any<br />

point on the map in Figure 1 without being agile. The point is that<br />

unless IT and business teams adopt Agile and Lean ways of working,<br />

the results are going to be hit and miss (as has been the case<br />

with waterfall). The correct way to interpret Figure 1 is as a guide<br />

to the degrees of agility necessary in the organization to achieve<br />

repeatable success at the level required: tactical or strategic, run<br />

the business, or change the business.<br />

Appendix<br />

Further reading<br />

■ Ovum Analyst Insight report: Agile and Lean Business<br />

Transformation, Michael Azoff, Jan 20<strong>13</strong>.<br />

■ Ovum Analyst Insight: Managing large-scale agile projects:<br />

case studies, Oct 2012, IT016-001469.<br />

■ Ovum Analyst Insight: Agile in the UK public sector, Oct<br />

2012, IT016-001468.<br />

■ Ovum Analyst Insight report: Agile Thinking Is the Key to ICT<br />

Project Success, Jan 2012, IT007-000604.<br />

■ Ovum Solution Guide: DevOps: Advances in Release Management<br />

and Automation, Sep 2011, IT017-003564.<br />

■ Ovum Analyst Insight: DevOps: Agile Operations and Continuous<br />

Delivery, Sep 2011, IT017-003561.<br />

■ Steven Gary Blank, The Four Steps to the Epiphany, Cafepress,<br />

2nd edition 2006.<br />

■ Bjarte Bogsnes, Implementing Beyond Budgeting: Unlocking<br />

the Performance Potential, J Wiley, 2008.<br />

■ Jeremy Hope and Robin Fraser, Beyond Budgeting, Harvard<br />

Business School Press, 2003.<br />

■ Jeremy Hope, Peter Bunce, Franz Roosli, The Leader’s Dilemma:<br />

How to Build an Empowered and Adaptive Organization<br />

without Losing Control, J Wiley, 2011.<br />

■ Eric Reis, The Lean Startup, Portfolio Penguin, 2011. ■<br />

> about the author<br />

Michael Azoff<br />

Michael Azoff (PhD, MIEEE) has been working as an IT<br />

industry analyst since 2003, bringing over 20 years of<br />

experience in pure and applied research and consulting<br />

in the IT industry. At Ovum he leads the software development<br />

and lifecycle management (SDLM) research and his<br />

current focus is on Agile and Lean practices in software<br />

development, including enterprise agile transformation initiatives, DevOps,<br />

cloud-related SDLM, application performance management, and enterprise<br />

IT mobile development.


Column<br />

Agile is not something you do, it is something you are. With that<br />

in mind, I started working at codecentric. A passionate company<br />

that not only helps customers to implement agile methodologies,<br />

but also helps the same customers to be agile, at all levels of the<br />

organization. We are self-steering, our processes are visual and<br />

transparent and are periodic ‘geretrospectived’ to learn from the<br />

past to improve.<br />

If you work for an organization that is trying to get agility across to<br />

customers, why not extended it to the rest of my life? A joke goes<br />

around about applying agile in your private life: “You can easily<br />

use Scrum at home, but I wouldn’t recommend it! You will find<br />

out very quickly who is the Product Owner, and it’s not you …”.<br />

With that sage advice in mind, I started searching how I can apply<br />

more agile principles in my everyday life. At Potslightning, the peer<br />

conference before Agile Testing Days 2012, I was introduced to<br />

“Personal Kanban” by Meike Mertsch 1 .<br />

Personal Kanban is not to be confused with the original Kanban<br />

as developed and applied successfully by Toyota. And it isn’t the<br />

software development technique to quickly and as effectively as<br />

possible meet customer demand in a team. I am talking about a<br />

real personal variation. It is based on the same principles as the<br />

original:<br />

■ The starting point is: I want to create value (not finish premade<br />

checklists)<br />

■ I want to get as much flow as possible in the things I do<br />

The rules are deceptively simple 2 : visualize what you do and put<br />

a limit on the work in progress.<br />

I am easily distracted and have a tendency to take on too many<br />

things at once. I’m also an eternal optimist and structurally plan<br />

not enough time to get things done. Finally I have trouble saying<br />

no when fun or interesting things pass by. So when Meike told me<br />

about personal Kanban I tought that could help me too….<br />

For me personal kanban works better than finishing various<br />

tasklists. These have a tendency to become especially large and<br />

I can’t do the tasks from top to bottom. In a tasklist you can’t or<br />

1 http://agiletester.webnode.com/news/personal-kanban-to-my-rescue1/<br />

2 http://www.personalkanban.com<br />

Creating my own flow<br />

with personal kanban<br />

Page 15 Agile Record – www.agilerecord.com<br />

by Huib Schoots<br />

only poorly see where you currently are working on, not to mention<br />

that it shows how many things you actually doing simultaneously.<br />

And in my case that is often too much. The list doesn’t help me<br />

actually to get all those things done. The tasklist can ultimately<br />

only help me afterwards to make sure everything is done. It does<br />

not help to support the process to actually do anything.<br />

And that is precisely what visualization does! By defining a simple<br />

process and visualizing it, suddenly it becomes (painfully) clear<br />

what the real progress is. By defining a clear limit for the work in<br />

progress it might become painfully clear that it will be very difficult<br />

to fulfill all those nice promises you made so casually within<br />

a reasonable time. And that’s a big advantage of Kanban in your<br />

daily live: you can start measuring how many of those promises you<br />

can handle per day, week or month. So now you can finally see if<br />

that commitment you made to your partner to do a particular job<br />

tomorrow is real. And that will prevent a lot of course.<br />

This is my personal Kanban board:


In the meantime I have been using it for a few weeks now and I<br />

feel I have more grip on what I’m doing. I still have to force myself<br />

to keep using the board and I am still not fully satisfied, but it<br />

really helps me.<br />

I have my kanban board always with me because I keep it in my<br />

note book. I started with two separate boards: private workitems<br />

(top) and a work-related (bottom). In the meanwhile I have put<br />

them together. The work I do for clients during office hours is not<br />

on my board. The both boards were actually competing for the<br />

same timeslots. So it was not very logical to keep two boards.<br />

I will keep experimenting with my board and it is likely that I will<br />

change my board or the process in the near future. If I can buy<br />

the right size, I might consider using multiple colored stickies. Or<br />

try an extra lane “queue” on the board. Time will tell. ■<br />

Do you want to write an article for<br />

the next Agile Record?<br />

If you would like to participate in the next <strong>issue</strong>, please complete<br />

the following steps:<br />

1. Download the Microsoft Word template from our website and<br />

complete it, including a short biography of the author(s).<br />

2. Submit your finished article to our online system, after which<br />

our editorial board will rate it and our editor José Díaz will<br />

accept or reject it.<br />

3. If your article is accepted, we will contact you and ask you to<br />

send the figures and pictures to be included in the article in the<br />

highest resolution you can provide (72 DPI for screenshots, 300<br />

DPI minimum for all other image files), as well as the photo(s)<br />

of the author(s) to editorial@agilerecord.com.<br />

4. Download the consent form (PDF) from our website and sign it,<br />

scan it and send it to editorial@agilerecord.com. If an article<br />

was written by several authors, all of them have to sign the<br />

consent form individually.<br />

5. After your article has been reviewed for spelling and grammar<br />

and has been returned to you, you accept or reject the changes.<br />

> about the author<br />

Page 16 Agile Record – www.agilerecord.com<br />

Huib Schoots<br />

Huib Schoots is currently an agile test consultant at codecentric<br />

where he shares his passion for testing and agile<br />

through coaching, training and giving presentations on a<br />

variety of subjects. With fifteen years of experience in IT<br />

and software testing, Huib is experienced in different testing<br />

roles. Curious and passionate, he is an agile and<br />

context-driven tester who attempts to read everything ever published on software<br />

testing. A member of the Dutch Exploratory Workshop on Testing, blackbelt<br />

in the Miagi-Do School of software testing and coauthor of a book about<br />

the future of software testing. Huib maintains a blog on magnifiant.com.<br />

Note:<br />

■ Please take care of copyrights and registered trademarks.<br />

■ We do not accept sales pitches advertising a product or<br />

company.<br />

■ Your article must not have been published before.<br />

■ There will be no remuneration.<br />

Agile Record schedule<br />

Issue Deadline for Articles Topic<br />

No. 14 (May 20<strong>13</strong>) April 1, 20<strong>13</strong> “Agile adoption stories –<br />

What Worked and What<br />

Didn’t”<br />

No. 15 (Aug 20<strong>13</strong>) July 1, 20<strong>13</strong> “Distributed Team<br />

Management”<br />

No. 16 (Nov 20<strong>13</strong>) October 1, 20<strong>13</strong> “Refactoring”<br />

www.agilerecord.com<br />

For any questions please email us at editorial@agilerecord.com.


The Day Dan Realized<br />

the Power of Kanban!<br />

by Raja Bavani<br />

Introduction<br />

Adoption of new methods or techniques is a learning experience.<br />

Project teams adopt new methods or techniques either deliberately<br />

or accidentally. Accidental adoption can happen because of difficult<br />

circumstances or unexpected events induced by factors such as<br />

an unexpected spurt of changes in requirements, <strong>issue</strong>s related<br />

to product quality, and so on. During such circumstances, one may<br />

introduce changes to current set of processes or techniques and<br />

later realize that the new way or approach resembled a popular<br />

process or technique. Once, Dan and his team members went<br />

through this experience in their professional life. This article about<br />

Dan is based on a real life experience.<br />

Dan’s Delight<br />

On Monday after the Labor Day weekend of 2002, Dan was on top<br />

of the world because Tom, his boss, assigned him one of the most<br />

technically challenging projects in the company. Tom was the IT<br />

director of a large manufacturing company that supplied electronic<br />

utilities to households through retail outlets. Dan was one of his<br />

direct reports who played the role of project manager in IT projects.<br />

This project, named DA (disconnected access), was about enabling<br />

their technical support team through a state-of-the-art application<br />

to support disconnected access to their central databases. Using<br />

this application, their support team could reach end users living<br />

in remote areas, provide them with necessary support, collect payment,<br />

and print invoices even if there was no connectivity to central<br />

servers. The goal was to improve customer satisfaction and this<br />

was one of the strategic projects of the year under the CEO’s radar.<br />

Customer Confidence<br />

Dan and his team of four engineers studied the high level requirements,<br />

analyzed the pros and cons of three different architectures,<br />

and selected the most optimal one. Considering the business<br />

demand and the estimates, they agreed to deliver the application<br />

in three months. Alicia was the point-of-contact in the business<br />

and she had worked with Dan on a different project a year ago.<br />

She had more than fifteen years of experience in her domain. In<br />

project DA, she worked closely with Dan and his team in creating<br />

and reviewing the user interface design during the initial weeks.<br />

She was happy with the suggestions and ideas from Dan and his<br />

team and was confident that the team would deliver results.<br />

Iterative Approach<br />

Page 17 Agile Record – www.agilerecord.com<br />

Dan believed in an iterative approach and decided with his team<br />

to execute this project in five iterations of two weeks each. As the<br />

application incrementally evolved over these five iterations, and<br />

the schedule was aggressive, Dan could not demonstrate the finished<br />

product to Alicia before the end of the fourth iteration. Alicia<br />

had also invited three customer support managers from different<br />

regions to attend the demo.<br />

Delayed Demo<br />

No wonder, in each step of the demo, Alicia and the customer<br />

support managers started discussing new options and asking<br />

Dan whether the user interaction can be improved further. They<br />

suggested new ideas which turned into changes to the user interface<br />

or validation aspects. After a two-hour demo, Dan and his<br />

team came out with a list of 50 items, some of which were new<br />

features, some others were changes, and the rest were cosmetic<br />

changes and defects.<br />

The Aftermath<br />

Dan had a suggestion – that Alicia and her three managers plan<br />

a one-week acceptance testing after feature completion in order<br />

to explore all the features and provide him with their feedback.<br />

Alicia agreed. After a week of acceptance testing Dan’s list had<br />

more than 275 items. Alicia was not happy with the results and<br />

Tom, Dan’s boss, was shocked. Dan’s team was distressed that, in<br />

spite of their sincere efforts, they had to manage this escalation.<br />

Joint Response<br />

Tom, Dan, and Alicia had an emergency meeting to discuss the<br />

situation. The question in front of them was about prioritizing<br />

and closing all items in a timely manner in such a way that they:<br />

a) Address high priority items first and move on<br />

b) Optimize by grouping related items<br />

c) Test adequately to avoid failure<br />

d) Understand daily progress and make course correction<br />

e) Maximize the number of items closed per week through<br />

weekly analysis


Visualizing the Workflow<br />

In his discussion with Tom, Dan stressed on the need to create a<br />

visualized workflow using a white board in a common room or work<br />

area – even though Tom was against booking a room exclusively for<br />

his team. Tom believed in electronic communication, bug tracking<br />

tools, and daily status emails. Dan shared his experience on how<br />

emails and outdated tools can diminish team work and cause<br />

delays. Finally Tom agreed.<br />

The next day, Dan came in early, took a hard copy of prioritized<br />

work items, and created a visual board in the meeting room. His<br />

team members helped him with their ideas. They created about<br />

40 rows on the board and divided each row into multiple columns.<br />

Each column corresponded to the standard work flow – analyze,<br />

code, test, verify, build, user acceptance, done. Each row represented<br />

a work item with a work item identification number, short<br />

description, and other such attributes.<br />

The Pull Factor<br />

From that day onwards, Dan and his team would begin their work<br />

day with a crisp meeting in front of the white board. They also<br />

ended their work days by reviewing the items on the white board<br />

and discussing ways to improve throughput and quality in future.<br />

During the first few days, Dan was orchestrating the team on task<br />

Page 18 Agile Record – www.agilerecord.com<br />

assignment. Mostly he was pushing work items or directing his<br />

team members. Gradually his team started not only pulling work<br />

items, but also logically grouping work items in order to optimize<br />

the time spent in coding and testing. Dan appreciated the level of<br />

ownership, commitment, and team work among his team members.<br />

Limiting Work in Progress<br />

Based on his experience, Dan believed that mindless contextswitching<br />

is a waste of time. This happens as a result of keeping<br />

many items open, switching back and forth, and losing focus. He<br />

coached his team to complete as many tasks on hand as possible<br />

before moving on to the next work item. He also shared with them<br />

the ill effects of keeping several work-in-progress items. His team<br />

members grasped the truth behind his suggestions.<br />

Collaborative Learning<br />

During these tough weeks, every daily meeting or weekly retrospective<br />

was a learning experience. Team members shared debugging<br />

techniques, domain-specific <strong>issue</strong>s, etc. with the rest of the team<br />

to enrich their knowledge and prevent similar <strong>issue</strong>s. Even during<br />

the first week they found ways to minimize the number of defects<br />

by discussing and implementing simple techniques to improve<br />

quality in each step of the workflow.


The Outcome<br />

Eventually, Dan’s team became faster and smarter. Dan could see<br />

an increasing trend in the completion of work items. Seeing these<br />

positive signs, Alicia regained her trust. Within four weeks, the list<br />

of pending items had shrunk to 20.<br />

By the end of the fifth week, they only had ten low priority <strong>issue</strong>s<br />

on hand. With a schedule overrun of about 6 weeks, Alicia certified<br />

the application for user training and implementation.<br />

Reflection and Recognition<br />

A week after the initiation of user training, Tom and Alicia sponsored<br />

a dinner for Dan and his team. On the dinner day, Dan convened<br />

a 30-minute retrospective with his team. Alicia, Dan, and his team<br />

discussed several aspects of the project including what went well,<br />

lessons learned, and areas of improvement. Everyone agreed that<br />

as soon as they came across innumerable changes and new work<br />

items they worked together to find a new approach and it helped<br />

them take charge of the situation. The key factors that enabled<br />

them deliver results were:<br />

1. Visualizing Workflow<br />

2. Limiting Work-in-Progress and Minimizing<br />

3. Context-Switching<br />

4. Measuring and Managing Flow<br />

5. Nurturing an Open Environment and Making Processes and<br />

Policies Explicit<br />

6. Identifying Improvement Opportunities<br />

Both Alicia and Dan agreed that they needed to consider demos<br />

to end users and retrospectives at the end of iterations in their<br />

projects in order to minimize the spurt of changes and ideas at<br />

project completion.<br />

Kanban Knowhow<br />

Years after this incident Dan reads an article titled ‘Introduction<br />

to Kanban” and later attends a Kanban workshop. He is able to<br />

relate the content of the article and the knowledge acquired from<br />

the Kanban workshop to his project experience. There are many<br />

similarities and some improvement ideas. He feels proud of himself<br />

and his team and shares his thoughts with his team mates. He feels<br />

proud because he can connect with the essence of Kanban in his<br />

approach. He feels proud because his experience and knowledge<br />

make him realize the power of Kanban!<br />

With hindsight, he feels that he could have used yellow stickers<br />

or a tool to improve effectiveness and optimized the time spent<br />

managing the visual board. He could have hired a Kanban coach<br />

to help his team in areas such as value stream mapping. However,<br />

he realizes that the popularity of Kanban in the software industry<br />

has grown only in recent years.<br />

Six months after these happenings and with a promotion at work,<br />

Dan continues to execute projects using Agile, Lean and Kanban.<br />

Takeaways<br />

Page 19 Agile Record – www.agilerecord.com<br />

As I said at the beginning of this article, adopting new methods or<br />

techniques is a learning experience. I am sure some of you can<br />

connect with Dan’s experience. Others must have gone through<br />

the journey of planned adoption. For the rest, it is not too late to<br />

initiate the practice of Kanban. It works perfectly on maintenance,<br />

support, and system administration projects. With some experience,<br />

you will be able to apply Kanban concepts to development<br />

projects too! ■<br />

> about the author<br />

Raja Bavani<br />

Raja Bavani is Chief Architect of Mindtree’s Product Engineering<br />

Services (PES) and IT Services (ITS) groups and<br />

plays the role of Agile Evangelist. He has more than 20<br />

years of experience in the IT industry and has published<br />

papers at international conferences on topics related to<br />

code quality, distributed Agile, customer value management,<br />

and software estimation. He is a member of IEEE and IEEE Computer<br />

Society. He regularly interfaces with educational institutions to offer guest<br />

lectures and writes for technical conferences. He writes for magazines such<br />

as Agile Record, Cutter IT Journal, IEEE Software and SD Times.<br />

His distributed Agile blog posts, articles, and white papers are available at<br />

www.blogs.mindtree.com/author/raja-bavani and www.se-thoughtograph.<br />

blogspot.in. He can be reached at raja_bavani@mindtree.com.


The Kanbanist’s Guide to<br />

the Galaxy<br />

A software development project run across multiple sites and<br />

time zones and executed by a non-exclusively dedicated team is<br />

reminiscent of a spaceship with the indefinite improbability drive.<br />

For those readers who are not familiar with it, this invention was<br />

originally described in Douglas Adams’ novel ‘A Hitchhiker’s Guide<br />

to the Galaxy’. While travelling with such a drive, a vehicle is literally<br />

everywhere, in the whole Universe at the same time, materializing<br />

later somewhere, hopefully at its destination, in a better or worse<br />

shape. From my observations, a similar situation is also true for<br />

some software development projects. Everyone is busy and many<br />

people are working on the same thing at the same time, unfortunately<br />

sometimes pulling it in a direction known only to them. We<br />

cannot totally protect our work from variability and changes, but<br />

maybe we can help ourselves to understand the chaos by turning<br />

thought work into tangible work?<br />

Kanban: method, board and flow<br />

Do you know how the characters in the novel were searching for<br />

knowledge about the crazy surrounding Universe? There was a<br />

book, today you would say an e-book reader, which acted as a<br />

special kind of guide. It was a source of useful information accessible<br />

exactly when needed. It was written by practitioners who<br />

travelled across the Galaxy themselves, instead of some masters<br />

of miraculous theory. Do you think such a book exists for Agile<br />

project management? If so, I bet instead of ‘Don’t Panic!’ it would<br />

have something about Kanban on the cover.<br />

This article is not going to be a short version of such a book and<br />

I am not going to try to convince anybody that apples are better<br />

than pears. What I will try to do is describe a few real life situations<br />

and write a little bit on how they address the core principles and<br />

properties of the Kanban method described initially by David J.<br />

Anderson. It is up to you what you do with it.<br />

When you travel through outer space, you have to bear in mind the<br />

need to obey local laws. Working with a new team and working on<br />

a new project can make you feel like you are visiting a new planet<br />

because they have their own language and habits. It happened to<br />

me when I worked with a distributed team where I had the pleasure<br />

and enjoyment of proposing we use the Kanban method. First, I<br />

had separate talks with two parts of the same project team. One<br />

Page 20 Agile Record – www.agilerecord.com<br />

part of the team was focused on development, the other mostly on<br />

testing. It does not sound too Agile, does it? To make it harder, they<br />

worked mostly in geographically separated teams. Conversations<br />

with developers were quite short and straightforward. Not that that<br />

was surprising. They consisted of “This is where our work comes<br />

from, this is how we do it, this is the point in time when we are done”<br />

and that was all. Conversations with the other team that included<br />

the testers were much longer. There was a map of the work they had<br />

done before and after coding, a list of the most common problems,<br />

plus a few more points. At the end of our conversations, I was able<br />

to sketch a map of the flow which I subsequently redrew into a<br />

Kanban board layout. Was it optimal? No. Could it be improved?<br />

Yes. Did I do anything about it? Not immediately. Why? Because<br />

you apply Kanban to what you already have. You do not start with<br />

a revolution, but you need to know where to start an evolution.<br />

You do not come with a command and control attitude. You do not<br />

change titles or point a finger at what is wrong on day one. Have<br />

you ever seen such an approach actually work?<br />

What I have learned with Kanban, and what was obviously happening<br />

again, is that respecting the existing process is much more<br />

important in getting buy-in than any promises. And this is one of<br />

the key principles of the Kanban method. So, what happened<br />

next? I heard: “No, we definitely don’t need so many columns!” or<br />

“What are those buffers for in a team as small as ours?” To their<br />

surprise, I did not add any additional steps to the existing process.<br />

On the other hand, the team was partially right – the flow needed<br />

to be simplified, but just step by step.<br />

Visualization<br />

by Radoslaw Orszewski<br />

As a result of those discussions we created a trail of what was<br />

actually going on. We could focus on a board and observe.<br />

Have you noticed software is rather like air? We use it, but we<br />

basically cannot see it. It is not much different to the work we put<br />

into it. We know it has been done by using it rather than actually<br />

seeing the code. The idea of representing an intellectual work by<br />

sticky notes may sound silly, but it works. Visualizing work items,<br />

moving them across the board, and being personally responsible<br />

and attached to a piece of paper can change a lot. A white board<br />

and post-its, or a proper electronic tool, can show you what has


happened, what is going on, and what will happen next – all of it, no<br />

matter whether your team is separated by kilometers or light years.<br />

There are many types of information you can read from a board<br />

without generating any queries or inventing super-complex KPIs.<br />

You know exactly what is in progress, i.e. in preparation, development,<br />

testing, or delivery. What is waiting in some buffer. Who is<br />

busy with what, and who is waiting for others to finish. You can<br />

see all of it after just a short glance at the board, if you know and<br />

understand its meaning and mechanics. No matter whether you<br />

are a manager or a specialist with just a few hours to share with a<br />

team, by reading the board you can save a lot of everyone’s time<br />

by answering the questions you have. The presence of the board<br />

should by no means stop you from having a discussion with the<br />

team. Instead, it should trigger the right discussion. We naturally<br />

move from saying how busy we are to explaining what we have<br />

accomplished and what is happening on particular tasks.<br />

Imagine a team of four who are working on the same piece of software.<br />

There is a senior person as well as newbies and they have<br />

a good tool for code review. I am sure you know how important a<br />

proper code review is in terms of quality. Still, I have seen it done<br />

really badly and really well. Giving someone’s code a minus in a<br />

tool happens every now and then. Not a big deal, you may say.<br />

But the perspective changes once you need to re-glue your tickets<br />

right to left, against the natural and desired flow. Kanban does<br />

not leave you alone with your problem. It raises team awareness<br />

that something is wrong. With regular talks in front of the board,<br />

things change even more and go deeper. There are multi-level<br />

‘why’ questions. First, the team discusses what is wrong on the<br />

surface with a short brainstorm of how to do it better, so the code<br />

is corrected. There is also a lesson behind it for everyone involved<br />

in a conversation. Instead of shame, disgrace, or criticism, we are<br />

willing to do it better next time. In the end, the developer and the<br />

whole team are relieved when the ticket moves from left to right,<br />

with only pluses from their colleagues.<br />

WIP limit comes into play<br />

The Universe is full of stunning creatures and species. For instance,<br />

there are developers looking at a code and managers talking in the<br />

language of KPIs. Some planets may be a habitat for humanoids<br />

with highly functioning multithreading brains or two heads. Who<br />

knows what else? Certainly, multitasking is not something that<br />

the human brain likes doing.<br />

Personally and professionally you need to finish a lot of work, not<br />

only start it, and, therefore, one more core Kanban rule is very<br />

important. This is the need to limit the “work-in-progress”, or WIP.<br />

But wait! Were we not told so many times that working in a truly<br />

Agile way means many things happening simultaneously? Coding<br />

and writing a specification, or testing and talking to our customer.<br />

That is all true, but do not mix things up. It does not mean that one<br />

person should focus on many points at the same time.<br />

Limiting WIP not only allows people to focus on the right things, but<br />

also assures all necessary things will be done with a built-in quality.<br />

You may think you are able to write a new code and fix totally<br />

different <strong>issue</strong>s at the same time. Yes, you may think so, and even<br />

try it. However, if you looked more closely once you had finished,<br />

Page 21 Agile Record – www.agilerecord.com<br />

you would realize that either the quality had suffered or it had<br />

taken you much longer than if you had done the tasks one by one.<br />

How do I set WIP limits? You need to try it first. Take a look at the<br />

board, ask others, and think about which columns should be addressed<br />

first. Let initial WIP values be one of your first experiments.<br />

Actually, one of the big Kanban practice hints is experimenting with<br />

limiting work in progress. It should be flexible, but you should not<br />

set it so high that you are always below it. Cheating yourself and<br />

reality is no solution. Limits need to be adaptable and reflect reality<br />

– the needs of the team and project – and not just be another<br />

obstacle in your way.<br />

Limiting WIP also has another side to it. Limits give positive reinforcement<br />

to the team to unlock bottlenecks and gather around<br />

<strong>issue</strong>s to find a root cause and a solution. I do not mean pushing<br />

a task, but rather looking for a way to be able to pull a task down<br />

a value stream.<br />

For instance, I like mountain biking. Despite what my wife would<br />

say, I do not enjoy cleaning my bike afterwards. The fact is that it<br />

just needs to be done if you want to enjoy your next ride and before<br />

you do next enjoyable task. The same applies to some project<br />

chores. Of course it is more fun to create something new than to<br />

review others’ code. However, it does not alter the fact that it still<br />

needs to be done. If you apply a WIP limit to a buffer and a column<br />

of active code review, the team will need to work on exploiting a<br />

bottleneck. It ensures the job will be done fully and properly, and<br />

that people are able pull the next tasks whenever they are ready.<br />

Observe and optimize<br />

Travelling across space and time can be tricky. What appears to<br />

be the best, maybe easiest or shortest, way changes its meaning<br />

when we are not using a traditional 2-D map, but we are navigating<br />

across 3-D space. Add time as one more variable and things get<br />

even more complex. A spaceship, driven by the indefinite improbability<br />

drive, returns to reality by restoring normality. What would<br />

this mean in terms of development?<br />

How about describing normality as a predictable and stable flow<br />

of work? No supersonic hiccups. No jumps from being lost in a<br />

swarm of asteroids to hyper-speed jumps. It may appear great<br />

that, after a few days of no progress, someone delivers 14 different<br />

fixes. It is not so cool if it happens on a Friday evening, or<br />

just before some people wanted to leave early to watch a game.<br />

Would it not be easier for them to digest it more slowly instead of<br />

being hit with late deliverables? Both rules described above, i.e.<br />

visualization and limiting WIP, can help you observe, predict, and<br />

adapt to changes in work flow.<br />

Clear rules<br />

I have already mentioned the importance of obeying local laws.<br />

You may be surprised, but even on your own home planet there<br />

are places where some activities that seem normal to you can be<br />

controversial, if not banned. The same may happen in your very<br />

own office. How do you know what is OK and what is not? Kanban<br />

strongly suggests clear rules, or rather policies, about process and<br />

flow. Clear means explicit and known to everyone who is interested.


It is not new in the Agile and Lean worlds. We all know what the<br />

definition of “done” is, or what old-fashioned quality gates are.<br />

Some checkpoints tell us that “done” is done, that the quality is<br />

OK, whether we can proceed or not. Kanban warmly welcomes all<br />

those kinds of solutions, at least as an initial set up, and forces us<br />

to analyze whether they make sense and bring value. Of course,<br />

policies may mean codifying bad practices, but Kanban practice<br />

can help you identify them really quickly as a source of waste. It<br />

is the whole team who are empowered to ask questions, or to say<br />

”no” or ”stop” out loud if they see something wrong going on. As<br />

you can imagine, having clearly defined and easily accessible rules<br />

of work makes it is easier for interstellar mercenaries (or freelance<br />

developers) to join your troop and adopt good habits.<br />

Destination: planet Kaizen<br />

Now we have some hints about the board and stickies and some<br />

rules to follow – is that all? No. What is left for your team to<br />

discover is the indefinite amount of small steps forward, tiny but<br />

measurable improvements, which can make your work easier and<br />

more pleasant. You have reached your destination – Kaizen, or<br />

continuous improvement if you like. This is just the beginning of<br />

another long road.<br />

If the examples described above sound familiar, there is a high<br />

probability you may find Kanban helpful. It brings people together<br />

around problems to analyze and solve them. It is a team approach<br />

Page 22 Agile Record – www.agilerecord.com<br />

and, therefore, can be fun, full of experimenting and learning. A<br />

superficially linear board and a few simple rules can be very useful<br />

in navigating your work through a multi-dimensional Cosmos.<br />

Believe me. Or, better, don’t. Try it yourself!<br />

The article above has been inspired by a series of science-fiction<br />

novels written by Douglas Adams – ‘The Hitchhiker’s Guide to the<br />

Galaxy’, a book ‘Kanban’ by David J. Anderson, and observations<br />

of everyday life. 42. ■<br />

> about the author<br />

Radoslaw Orszewski<br />

Radoslaw Orszewski holds a Master of Science degree in<br />

Biotechnology from Wroclaw University of Technology. After<br />

graduating, he decided to follow a path as a professional<br />

software tester and worked in distributed teams on<br />

mobile software and web travel applications (Sabre Holdings).<br />

For over 3 years he worked at Nokia on locationbased<br />

services where he specialized in Agile methodologies (Kanban, Scrum –<br />

CSM, CSPO, CSP) for project management. Currently based in Berlin, he works<br />

as an Agile Process & Testing Manager at Skrill (Moneybookers). In his spare<br />

time he enjoys cycling and writes articles for the largest Polish biking monthly<br />

magazine.


© iStockphoto.com/davidnay<br />

Course Details:<br />

The three-day training course “IREB ®<br />

Certifi ed Professional for Requirements<br />

Engineering” is given by Díaz & Hilterscheid<br />

in German and English and can<br />

be completed with an independent<br />

certifi cation exam.<br />

Incomplete or inconsistent requirements<br />

engineering leaves scope for interpretation<br />

in software development and<br />

makes verifi cation and validation diffi -<br />

cult. Corrections during the project can<br />

have serious consequences on time and<br />

cost planning.<br />

The training introduces you to the correct<br />

and complete capture, documentation,<br />

checking and administration<br />

of requirements. You will become acquainted<br />

with procedures, techniques<br />

and tools and will shown the fundamentals<br />

of communication theory. The training<br />

is based on the independent syllabus<br />

of the International Requirements Engineering<br />

Board (IREB ® ).<br />

Follow me @vanTesting<br />

Prof. van Testing<br />

recommends<br />

IREB ® Certified Professional for Requirements Engineering<br />

Foundation Level<br />

Target Audience:<br />

The training is intended for requirements<br />

managers, project managers, quality<br />

managers, software testers and software<br />

developers who preferably have<br />

experience in IT projects and some initial<br />

experience with the handling of requirements.<br />

Requirements:<br />

For more information, please visit our website<br />

or contact us:<br />

Information regarding the required<br />

knowledge can be found in the IREB ® syllabus,<br />

which can be downloaded from<br />

the IREB ® website: www.certifi ed-re.com.<br />

In-house Training:<br />

All of our courses are available as private/in-house<br />

training. Please contact<br />

us for details.<br />

Díaz & Hilterscheid Unternehmensberatung GmbH<br />

Kurfürstendamm 179<br />

10707 Berlin<br />

Germany<br />

Phone: +49 (0)30 74 76 28-0<br />

Fax: +49 (0)30 74 76 28-99<br />

E-mail: training@diazhilterscheid.com<br />

Website: training.diazhilterscheid.com<br />

Page 23 Agile Record – www.agilerecord.com<br />

Dates:<br />

19.–21.03.<strong>13</strong> Berlin, Germany (DE)<br />

19.–21.03.<strong>13</strong> Oslo, Norway (EN)<br />

23.–25.04.<strong>13</strong> Mödling, Österreich (DE)<br />

14.–16.05.<strong>13</strong> Berlin, Germany (DE)<br />

14.–16.05.<strong>13</strong> Helsinki, Finland (EN)<br />

18.–20.06.<strong>13</strong> Berlin, Germany (DE)<br />

Please note that training dates are subject to change.<br />

© iStockphoto.com/numbeos


Cumulative Flow Diagram –<br />

Kanban Predictive Modeling Tool<br />

by Rashmi Wadhawan<br />

Are you a manager or business stakeholder working on an Agile<br />

Scrum Project and facing the following <strong>issue</strong>s?<br />

■ Team is reporting 80 % complete but not a single feature is<br />

completely ready for acceptance by client.<br />

■ Team is saying that they will be able to release within the<br />

stipulated release plan of three months but you have apprehensions<br />

about their claim.<br />

■ You have a strong feeling that there are bottlenecks in the<br />

process but are facing a lot of difficulty in mapping it to the<br />

process.<br />

■ You are not satisfied with the burn-up and burn-down<br />

charts produced by the team and are interested in getting<br />

more insight into the process.<br />

There is a panacea to solve all of the above <strong>issue</strong>s. The name of<br />

the magic potion is “cumulative flow diagram”. Cumulative flow<br />

diagrams (CFDs) applied on top of the basic principles of KAN<br />

(visual) + Ban (card) can give you an insight into the project and<br />

keep everyone updated. CFD can be an extremely powerful tool<br />

when applied to a Scrum model.<br />

Multi-color CFDS look complicated but pretty. The pain of understanding<br />

it is worth the gain you get from it. These diagrams can<br />

help you in making critical business decisions. They will help give<br />

you better visibility regarding the time to market dates for features.<br />

Applying it on top of a Scrum project will help you see an accurate<br />

picture of the progress on your project.<br />

Story Points<br />

20<br />

15<br />

10<br />

5<br />

0<br />

Figure 1<br />

Week 0<br />

Week 1<br />

Week 2<br />

Timeline<br />

Week 3<br />

Week 4<br />

New<br />

WIP<br />

Done<br />

Let us try to take an overview of the work of an Agile Scrum team<br />

with a 4-week sprint cycle using CFD. Creating a simple CFD with<br />

only three states, i.e. Not Started, In Progress and Done, for the<br />

team shows there were 20 story points in the sprint backlog. Story<br />

Page 24 Agile Record – www.agilerecord.com<br />

points are the unit of measure used by this team for estimation<br />

purposes.<br />

The team was able to finish 19 out of the 20 story points designated<br />

for the sprint. But the problem with the project was a pattern for<br />

completion in the shape of a hockey stick. There was no visibility<br />

until Week 3 about whether the team would be able to meet its<br />

target and only 4 out of 20 story points were complete by the end<br />

of Week 3.<br />

Giving CFD to this team will help them in following the “Inspect<br />

and Adapt” Scrum principle. They can further zoom into the work<br />

in progress to see various flow states.<br />

CFD will help you in analyzing the actual progress and bottlenecks<br />

in any project. CFD can be drawn using area charts in MS Excel.<br />

Below is a re-drawing of a CFD for the same team to check where<br />

things were at various intervals.<br />

Story Points<br />

20<br />

15<br />

10<br />

5<br />

0<br />

Figure 2<br />

Week 0<br />

Week 1<br />

Week 2<br />

Timeline<br />

Week 3<br />

Week 4<br />

New<br />

Design<br />

Development<br />

Testing<br />

Complete<br />

The number of items in development increased at the end of<br />

Week 2, indicating bottlenecks or coding <strong>issue</strong>s resulting in a<br />

slow movement of items. The team can analyze the graph and<br />

try to find out what happened at the end of Week 2. Was it poor<br />

design, or some cyclic dependency on stories, or too many bugs<br />

to further analyze the WIP?<br />

There are many other usages of CFDs besides finding bottlenecks.<br />

CFDs are multi-utility graphs that continuously report the true<br />

status of an Agile project. CFDs can help in determining lead time,<br />

cycle time, size of backlog, WIP, and bottlenecks at any point in time.


Story Points<br />

20<br />

15<br />

10<br />

5<br />

0<br />

Figure 3<br />

Week 0<br />

Week 1<br />

Lead Time<br />

Cycle Time<br />

Week 2<br />

Timeline<br />

Week 3<br />

WIP<br />

Week 4<br />

New<br />

WIP<br />

Done<br />

Lead time is the time from when the feature entered our backlog<br />

to its completion status. This is of utmost interest to business<br />

stakeholders. It can help business people decide about the time<br />

to market for features. They can plan marketing campaigns based<br />

on lead times.<br />

Cycle time is the time taken by team from when they started work<br />

on it to completion status. This helps the project leads make important<br />

decisions in selecting items for working.<br />

Created due to popular demand, this two-day<br />

course caters for a wide audience, giving candidates<br />

a solid understanding of roles, processes<br />

and techniques used in Agile projects. It provides<br />

an overview of the agile activities, building on a<br />

basic understanding, reinforced through a heavy<br />

emphasis on discussion and practical application.<br />

The Agile Essentials qualifi cation is aimed at anyone<br />

involved in software engineering who wants to become<br />

familiar with working in an Agile environment.<br />

That includes developers, business analysts and<br />

testers. Additionally, senior project personnel such<br />

as project managers and IT<br />

directors will benefi t from this<br />

course, gaining a fundamental<br />

grounding in Agile techniques.<br />

Page 25 Agile Record – www.agilerecord.com<br />

WIP is the work currently lying in different stages of the software<br />

lifecycle. Cycle time is directly proportional to the work in progress<br />

items. Keeping a limit on WIP is a key to success in any Agile project.<br />

In Scrum we try to limit the WIP within a sprint, but limiting<br />

it across the various flow states will help further in gaining better<br />

control and visibility in a sprint.<br />

Controlling WIP is the mantra for victory in any project. With CFDs,<br />

WIP is no longer a black box and anyone can see the work distribution<br />

at any point in time. Thus CFDs provide better insight and the<br />

power for better governance in any Agile methodology. ■<br />

> about the author<br />

An exam at the end of the course<br />

tests for know ledge, understanding<br />

and application of vital Agile techniques, but does<br />

not require previous experience in Agile projects.<br />

For more information and training dates, please<br />

visit our website: training.diazhilterscheid.com<br />

Rashmi Wadhawan<br />

Rashmi is Head of Quality Assurance and Centre of Excellence<br />

at GrapeCity India and has 12 years of experience<br />

in the software industry. She is a certified Scrum Master<br />

practicing the Agile scrum process in her projects. Prior<br />

to GrapeCity, she worked with Globallogic. She is an active<br />

member of the process improvement group at GrapeCity<br />

and is proud to be associated with one award winning product. She has played<br />

all kinds of roles in the software Industry including business analyst, technical<br />

lead and test architect.<br />

Book now!<br />

Díaz & Hilterscheid<br />

Unternehmensberatung GmbH<br />

Kurfürstendamm 179<br />

10707 Berlin<br />

Germany<br />

Phone: +49 (0)30 74 76 28-0<br />

Fax: +49 (0)30 74 76 28-99<br />

E-mail: training@diazhilterscheid.com<br />

Website: training.diazhilterscheid.com


Security-focused stories: Implementation tips in<br />

Agile development environments<br />

by Vishal Asthana & Rohit Sethi<br />

In the Agile development world, cycles/sprints are very short,<br />

often no more than two to four weeks. For this reason software<br />

development teams find it difficult, if not impossible, to comply with<br />

a long list of security assurance tasks. More often than not, they<br />

either skip these tasks altogether or choose a subset based on<br />

their “this-should-be-good-enough-for-this-sprint” perception. The<br />

need for solving this led to a SAFECode practice paper [1] on the<br />

subject of which Vishal is the lead author. The paper does so by<br />

presenting “practical” lists of security-focused stories and security<br />

tasks for ready consumption by Agile practitioners.<br />

First through consulting on secure Software Development Life Cycle<br />

(SDLC), and then more recently through developing and deployment<br />

SD Elements, Rohit has experienced first-hand many of the challenges<br />

that Agile development teams in disparate industries have<br />

with incorporating security into the entire development process.<br />

For many industries, simply getting developers to pay attention to<br />

security outside of mandatory testing is a struggle. Compounding<br />

to that difficulty is the natural bias of agile development teams<br />

to focus on features that deliver visible customer value, rather<br />

than implied non-functional attributes such as security. Working<br />

closely with customers, Rohit has experience with techniques<br />

and tools that successfully integrate security in time-constrained<br />

agile environments.<br />

The authors present implementation tips in this article.<br />

Implementation tips<br />

Q) Is a development team’s management buy-in necessary?<br />

Yes. Buy-in from the management is critical for effective implementation.<br />

This is especially true in teams where adoption of<br />

Agile security practices is “optional” as developers typically tend to<br />

ignore the practices in favor or more pressing development needs.<br />

Even in cases where developers themselves want to implement<br />

security stories, they are ultimately accountable to management<br />

and may not be able to justify spending time away from more<br />

pressing features or defects.<br />

Q) What role should an organization’s central security team<br />

(if it exists) play in order to ensure effective implementation<br />

of this work?<br />

The central security team needs to play a mentorship role versus<br />

that of a security cop. They should help Agile development<br />

teams systematically imbibe this work and help them overcome<br />

roadblocks.<br />

If development teams enjoy a high degree of autonomy, they are<br />

likely to reject “policing” from the security team. Working closely<br />

Page 26 Agile Record – www.agilerecord.com<br />

in a mentorship role helps build trust with the development team.<br />

Still, it’s common for development teams to say they are on-board<br />

with emphasizing security up-front but subsequently place all<br />

emphasis on feature development. In these cases, the security<br />

team will either need to take up a project management role with<br />

respect to security stories or work closely with a PM/Scrum Master<br />

to follow-up on security. Simply occasionally reminding development<br />

teams of their security obligations, and providing visibility<br />

to management such as the percentage of high priority security<br />

stories left unimplemented can dramatically improve the uptake<br />

of security stories.<br />

Q) Who will select the security stories applicable for my application?<br />

Vishal:<br />

It’s more effective to have the team’s architect/security analyst<br />

select user stories keeping the Product Manager (Owner) in the loop<br />

at all times. This ensures that the security debt and eventually residual<br />

risk are estimated correctly at the ‘Definition of Done’ stage.<br />

As for stories that don’t apply, as long as there’s a ‘why not’ justification,<br />

it’s ok to not track/include certain stories. If you are<br />

not able to decide whether or not to include a story, consult with<br />

your central security team. For example, a pure C#-based product


doesn’t need to worry about inclusion of a story around prevention<br />

of buffer overflow typically seen in C/C++ applications and can<br />

therefore safely exclude it.<br />

Rohit:<br />

There could be well over 200 potential security requirements (which<br />

can be translated to user stories) based on common software<br />

weaknesses that an application may need to adhere to. Providing<br />

a quick, accurate mechanism to filter these requirements by basic<br />

criteria is essential for scaling security requirements across many<br />

development teams. Absent of an efficient and ever-improving<br />

filtering mechanism, you’ll need an application security architect<br />

with strong domain knowledge of the application to determine the<br />

most accurate requirements. This approach only works with sufficient<br />

in-house application security expertise. Many organizations<br />

adopt a mixed approach, where dedicated architects focus on the<br />

highest risk applications and other teams use a self-service mechanism<br />

with intelligent filtering. Ultimately this comes down to your<br />

organization’s appetite to spend money on dedicated application<br />

security employees, which is driven by how important application<br />

security really is to your organization. In any case, prioritizing these<br />

requirements based on risk and cost to implement is critical to<br />

successful deployment in an agile environment.<br />

Q) How do you drive adoption of the security stories?<br />

Merging security stories with other non-functional stories helps<br />

driver user adoption. One of the most common objections from<br />

developers is expending additional effort just for security when they<br />

may already have security testing. Merging other Non-Functional<br />

Requirements (NFRs) with this effort drives adoption. Agile development<br />

best practices are sparse on discussions of development of<br />

‘hidden’ requirements from customers, so it’s likely that an effort<br />

which addresses security, accessibility, other legal/compliance<br />

<strong>issue</strong>s (e.g. Sarbanes-Oxley controls), availability and other nonfunctional<br />

requirements will help gain adoption.<br />

In fact, you may find that developers are more willing to begin a<br />

dialogue in the first place if your proposed solution incorporates several<br />

pain points for them rather than just security. Starting an NFR<br />

initiative that helps developers understand hidden requirements<br />

can make them feel as though the initiative is actually designed<br />

to help them rather than add more work from the security team.<br />

Nonetheless, you should anticipate some upfront resistance to the<br />

initiative because it ultimately does represent more up-front work<br />

for developers to deal with. Equipping yourself with hard data will<br />

help deal with resistance. In particular how many security vulnerabilities<br />

did you identify prior to this initiative and what was the<br />

cost of fixing them? For example, how long did it take to build fixes<br />

for these defects? How could that time have been more effectively<br />

spent on functional requirements or shipping the release sooner?<br />

Finally, it’s important to recognize that simply identifying security<br />

requirements does not mean that the requirements must be met.<br />

If developers push-back because of the extra work required to<br />

build out new security functionality, point out that the work was<br />

always implied, but it was never expressed. If your organization<br />

Page 27 Agile Record – www.agilerecord.com<br />

doesn’t have the time to spend on implementing the features in<br />

the short-term, at least you know what risks you are taking and<br />

you have the opportunity to use other countermeasures such as<br />

improved monitoring. Identifying the requirements simply means<br />

that the developers do not have to guess at an implied level of<br />

security by building, testing for security, and then debating about<br />

the risk of findings. Rather, developers can work with the business<br />

and security teams to understand an acceptable level of risk upfront,<br />

and verification becomes an activity to simply make sure<br />

that the agreed-upon security level was achieved.<br />

Q) Who should be the primary actor for security stories?<br />

Vishal:<br />

Architects, developers and QA engineers need to be the primary<br />

actors.<br />

At first glance, it might appear that implementation would be<br />

adversely affected in cases where the development teams aren’t<br />

security-aware. The underlying intent of having the architects/<br />

developers play the primary actor role is to have them proactively<br />

build a security mindset. Here’s how:<br />

Architects would need to consciously think about the security<br />

aspects of to their products in order to shortlist security stories.<br />

As for developers, instead of them completing a security backlog<br />

task because their Product Manager/Development Manager<br />

put it in there, (in most cases) they would now need to actively<br />

learn the method to complete a security task for a given securityfocused<br />

story.<br />

In order to accomplish this, they would need training which has<br />

been made part of the Operational Security Task list that Managers<br />

need to imbibe in their development environment.<br />

Who would impart the training? – Resident security experts or<br />

central security team or external consultants.<br />

How would that achieve the intent? – Developers would learn the<br />

way to implement a strong security fix. For example, Difference<br />

between black list and white list approach and why the latter is<br />

more secure.<br />

As for QA engineers being actors in the stories, the intent is to build<br />

a security mindset within QA teams and to relay to them that they<br />

are very much a part of ensuring that the product is secure. This<br />

is because security testing requires them to think about abuse<br />

cases and use of security testing tools, the knowledge for which<br />

would need to be acquired by following step (4) above.<br />

Rohit:<br />

I recommend putting security architects or security analysts as the<br />

primary actor in user stories. This, in most cases, is a true reflection<br />

of the person who most desires the feature. It also makes it clear<br />

whom to speak to if the user story is ambiguous or the acceptance<br />

criteria is not clear.


Ultimately, you will likely end up selecting an actor that makes the<br />

most sense for your organization. If it gets developers thinking<br />

about and understanding security requirements, then it’s working.<br />

Q) What if a particular story’s name doesn’t clearly indicate<br />

the vulnerability it addresses. Is there a quick way to obtain<br />

that information?<br />

In such cases, refer to the CWE-ID ((http://cwe.mitre.org) the story<br />

has been mapped to within the text of the story itself. This will<br />

help you understand the weakness the story would help address.<br />

Q) Can’t I leverage any of my existing tools for keeping a<br />

track of security stories, test procedures etc.?<br />

Yes, of course. Piggy back off tools you already use, such as bugtracking/Application<br />

Lifecycle Management (ALM) tools. It’s not<br />

mandatory to use new tools specifically for security.<br />

The closer you can get to putting security into the tools developers<br />

already use on a day-to-day basis, the less likely you are to<br />

encounter resistance. For example, if your developers use Mingle<br />

to manage Agile stories, then embedding the security stories directly<br />

into Mingle will yield better results than having a separate<br />

word or excel document. You may consider building or purchasing<br />

a solution to centralize your recurring security stories, such as a<br />

Secure Application Lifecycle Management application, in order to<br />

ease integration with existing ALM tools.<br />

Q) Do we need to select security-focused stories every sprint?<br />

Adding security stories to every sprint is probably too much overhead<br />

for most development teams. On the other hand, many<br />

Agile applications have emergent architectures and their security<br />

requirements evolve over time. Reviewing the security stories on a<br />

periodic basis, such as bi-annually, can help capture new security<br />

stories that may have become in-scope as a result of changes to<br />

the application. For example, if an application integrates Single<br />

Sign On (SSO) support as part of a minor release, it will have new<br />

security requirements that may not have been captured previously.<br />

Q) Do developers need to work on a set of security stories in<br />

just the first sprint, or throughout the duration of the project?<br />

Some stories may have relevance in every sprint (e.g. stories about<br />

input validation), so reviewing the set of stories in every sprint is<br />

the most effective usage scenario.<br />

Q) Do we need to conduct threat modeling in an Agile development<br />

environment with ever changing design?<br />

End-to-end conventional threat modeling may not be required.<br />

Creation of DFDs (Data Flow Diagrams) is still useful though. Once<br />

these are in place, we recommend doing the following:<br />

Thorough diligence to select the applicable security-focused stories.<br />

Application of the selected stories to the DFDs.<br />

Page 28 Agile Record – www.agilerecord.com<br />

Q) Are the security stories applicable to cloud-based applications?<br />

Yes. Agile development teams can pick up relevant security stories<br />

based on the nature of their application (thick client, web-based,<br />

cloud application, mix etc.).<br />

In most cases, application code-level security controls for cloudbased<br />

applications do not differ significantly from other kinds of<br />

applications. There are a few notable exceptions, such as authorization<br />

controls for multi-tenancy. Outside the scope of code, however,<br />

the requirements can vary substantially. For example, legal requirements<br />

around ownership of data, infrastructure controls, logging<br />

and monitoring, etc. differ substantially for Software As A Service<br />

applications and applications deployed on Platform As A Service<br />

(PAAS) such as force.com. The Cloud Security Alliance maintains<br />

a comprehensive security controls matrix for cloud deployments<br />

that maps to many well know compliance initiatives.<br />

References<br />

[1] SAFECode guidance for Agile practitioners:<br />

www.safecode.org/publications/SAFECode_Agile_Dev_Security0712.pdf<br />

■<br />

> about the authors<br />

Vishal Asthana<br />

Vishal Asthana, CISSP is Sr. Principle Software Engineer<br />

with Symantec’s Product Security Team. He is the lead<br />

author for SAFECode’s paper Software Security Guidance<br />

for Agile practitioners. He has 12+ years of technical and<br />

techno-management experience across diverse industries<br />

(Software/Hardware security product companies, reprographics,<br />

BPO) and holds a Master’s Degree in Electrical Engineering from<br />

the University of Southern California (USA) and a Bachelor’s Degree in Electronics<br />

and Telecommunication from the University of Chennai (India).<br />

Rohit Sethi<br />

Rohit Sethi, CISSP, CSSLP, is vice president of product<br />

development at SD Elements. Sethi is a specialist in building<br />

security controls into the software development life<br />

cycle (SDLC), and a SANS course developer and instructor<br />

on Secure J2EE development. Sethi also leads the Open<br />

Web Application Security Project (OWASP) Design Patterns<br />

Security Analysis project.


We would like to describe how we start up agile projects, which<br />

are completed using our ‘Evo’ [6] agile method [2, 3].<br />

We have been using exactly this Project start-up method worldwide,<br />

in many companies, and for both software/IT projects and<br />

other systems engineering projects (like 25 (now) Boeing Aircraft<br />

Projects in 1990) for decades, and it works. It gives a flying start<br />

to the incremental value delivery process; starting with value<br />

delivery, the 2nd week.<br />

This process is appropriate for any consequent agile process,<br />

such as our ‘Evo’, which is focussed on delivering real measurable<br />

stakeholder value incrementally, as opposed to the majority<br />

of current agile methods which are focussed on delivering code;<br />

but, which do not attempt to define or deliver real stakeholder<br />

value itself, directly.<br />

One solution to the agile problem of ‘code fixation’, which one of<br />

our multinational bank clients has recently adopted, for the wide<br />

variety of agile methods being used in the bank, is to suggest<br />

that the ‘Evo’ process [2] be added on top of their current agile<br />

process, for example on Scrum or/and XP. Evo then manages the<br />

stakeholder value, and Evo provides value design ideas to the<br />

code development team.<br />

Evo will not only output ideas for code (a burn down stack), but<br />

will in fact output any (non code) design ideas that will help deliver<br />

stakeholder value, such as training programmes, database<br />

Gilb’s Mythodology Column<br />

An Agile Project Startup<br />

Week: ‘Evo Start’<br />

Page 29 Agile Record – www.agilerecord.com<br />

by Tom & Kai Gilb<br />

construction, or motivational tactics. Evo operates at the systems<br />

engineering level, as Scrum allows in principle.<br />

The Evo startup week is a sort of feasibility study, in the sense of<br />

■ Day 1: Drafting a feasible set of top 10 quantified project<br />

value objectives<br />

■ Day 2: Drafting a top 10 architecture hypothesis set<br />

■ Day 3: Estimating the multiple effects of all architecture<br />

on all value objectives, and critical resource constraints<br />

(budget, deadline)<br />

■ Day 4: Suggesting initial value delivery steps, next week<br />

■ Day 5: Getting management approval to proceed with the<br />

second week, and to see if we can really deliver value to<br />

stakeholders.<br />

The Evo week is intentionally time boxed (one week), no matter<br />

what the size of the project. This is done so that:<br />

■ We do not get into weeks and months of bureaucratic<br />

start up overhead, before we have to deliver real value to<br />

stakeholders<br />

■ We will focus on the critical top level objectives [5]<br />

■ The detailed design will emerge iteratively, as a result of<br />

value measurement, and feedback.<br />

Figure 1: Two levels of result management, above a Scrum process. The ‘Business level’, on top of the stakeholder level is missing from this illustration here.


In practice, we gather a small group, a meeting room full, 6 to 14<br />

people, for a week. Some specialist individuals can come and go<br />

during the week. When Kai and I do this with a client, we act as<br />

coaches. This week is also the training course in the Evo method,<br />

and this practical approach is far better than a week of classroom<br />

training, It is politically easier to budget than training, since it is<br />

‘real work on real projects’.<br />

Day 1: Top 10 Critical Objectives, Quantified<br />

Real Bank Project: Project Progress Testability<br />

Quantification of the most-critical project objectives on day 1<br />

P&L-Consistency&T P&L: Scale: total<br />

adjustments btw Flash/Predict and Actual<br />

(T+1) signed off P&L. per day. Past 60<br />

Goal: 15<br />

Speed-To-Deliver: Scale: average Calendar<br />

days needed from New Idea Approved until<br />

Idea Operational, for given Tasks, on given<br />

Markets.<br />

Past [2009, Market = EURex, Task =Bond<br />

Execution] 2–3 months?<br />

Goal [Deadline =End 20xz, Market = EURex,<br />

Task =Bond Execution] 5 days<br />

Operational-Control: Scale: % of trades<br />

per day, where the calculated economic<br />

difference between OUR CO and<br />

Marketplace/Clients, is less than “1 Yen”(or<br />

equivalent).<br />

Past [April 20xx] 10 % change this to 90 % NH<br />

Goal [Dec. 20xy] 100 %<br />

Operational-Control.Consistent: Scale: %<br />

of defined [Trades] failing full STP across<br />

the transaction cycle. Past [April 20xx,<br />

Trades=Voice Trades] 95 %<br />

Past [April 20xx, Trades=eTrades] 93 %<br />

Goal [April 20xz, Trades=Voice Trades] <br />

Goal [April 20xz, Trades=eTrades] 98.5 ±<br />

0.5 %<br />

Operational-Control.Timely.<br />

End&OvernightP&L: Scale: number of times,<br />

per quarter, the P&L information is not<br />

delivered timely to the defined [Bach-Run].<br />

Past [April 20xx, Batch-Run=Overnight] 1<br />

Goal [Dec. 20xy, Batch-Run=Overnight]<br />

Past [April 20xx, Batch-Run= T+1]<br />

1 Goal [Dec. 20xy, Batch-Run=End-Of-Day,<br />

Delay


Figure 3 is a one-page detailed description of a single top ten<br />

strategy. We did this by telephone interview with the strategy<br />

expert (he was snowed out of travelling to work that day), in one<br />

hour. We used the Design Template in the Design Chapter of the<br />

Competitive Engineering book. But we did not yet make impact<br />

estimates, which are in that template. Those will be done day 3,<br />

and integrated into an Excel Tool (Kai Gilb) with all other specifications<br />

and estimations. It should be obvious that detailing the<br />

design, and collecting info on risks, dependencies, <strong>issue</strong>s, and<br />

assumptions is valuable and necessary for realistic understanding<br />

of main objective effects, and costs, of the strategy.<br />

Day 3: Impact Estimation; estimating the value<br />

for our objectives, and the concurrent costs of the<br />

strategies<br />

On the third day, the team attempts a complete estimation of the<br />

main and side effects, and the costs of all strategies, on all main<br />

objectives. For a 10×10 table that is 100 estimates, plus maybe<br />

2×10 = 20 cost estimates. In addition to the estimates, if we have<br />

time, and want a high quality auditable architecture hypothesis,<br />

we also add to each estimate:<br />

■ the ± uncertainty, the range, of our estimate. The spread of<br />

experience<br />

■ the evidence, facts, actual measures, measuring processes<br />

and sources<br />

Based on the above we designate the Credibility of each estimate<br />

on a scale of 0.0 (none) to 1.0 (perfect credibility)<br />

We use the ± uncertainty, and the credibility index to modify our<br />

basic estimates, in the direction of more conservative estimates.<br />

We calculate a ‘worst, worst case’.<br />

Strategies Identify<br />

Binding<br />

Compliance<br />

Requirements<br />

Goals<br />

Strategy<br />

Security<br />

Administration<br />

Compliance<br />

25 % → 90 %<br />

Security<br />

Administration<br />

Performance<br />

24 hrs → 4 hrs<br />

Security<br />

Administration<br />

Availability<br />

10 hrs → 24 hrs<br />

Security Administration<br />

Cost<br />

100 % → 60 %<br />

Total Percentage<br />

Impact<br />

ISAG Gap<br />

Evidence<br />

Analysis<br />

Oct. 03<br />

Cost to Implement<br />

Strategy<br />

System<br />

Control<br />

Strategy<br />

System<br />

Implementation<br />

Strategy<br />

Find<br />

Services<br />

That Meet<br />

Our Goals<br />

Strategy<br />

Use The<br />

Lowest Cost<br />

Provider<br />

Strategy<br />

100 % 100 % 100 % 50 % 0 %<br />

75 % 100 % 100 % 100 % 0 %<br />

0 % 0 % 0 % 100 % 0 %<br />

50 % 100 % 100 % 100 % 100 %<br />

225 % 300 % 300 % 350 % 100 %<br />

15 man days<br />

(US$ 5,550)<br />

John Collins John Collins John Collins John Collins<br />

15 man days<br />

(US$ 5,550)<br />

15 man days<br />

(US$ 5,550)<br />

15 man days<br />

(US$ 5,550)<br />

1man day<br />

(US$ 1,110)<br />

Credibility<br />

Cost Adjusted<br />

0.9 0.6 0.6 0.75 0.9<br />

Percentage<br />

Impact<br />

202.5 % 180 % 180 % 262.5 % 90 %<br />

Figure 4. Acer Project: Impact Estimation Table.<br />

Page 31 Agile Record – www.agilerecord.com<br />

Figure 4, a real Impact estimation table. The ‘100 % → 60 %’ expressions<br />

on the left are a reference to the Past levels (0 % impact)<br />

and the Goal levels (100 %) of defined Scale objectives. This is of<br />

course a different project than the one in examples above. But it<br />

was less complicated, so we chose it as an illustration.<br />

Day 3, estimation makes us think deeply about what we have<br />

proposed, and what we really know about the ideas. It is impressive<br />

to witness the advanced level of fact-based logical discussion<br />

amongst participants.<br />

Day 4: Extract a Value Delivery Step for Next Week<br />

The 4th day is about finding something practical to do the next<br />

week (and ultimately each week thereafter, until all Goal levels are<br />

reached). This applies even when the current system is ultimately<br />

going to be scrapped. But we will usually install new improvements<br />

on the current system initially, in order to get some real<br />

improvements quickly. There is no question of building a whole<br />

new system, next week, but there is always (believe it or not)<br />

something practical we can do to start the process of testing the<br />

architectural hypothesis, to start pleasing stakeholders, to start<br />

building our credibility and confidence. The Impact estimation table<br />

has a strong clue as to where to find high value increments. And<br />

most people (some are ‘in denial’) can think of several practical<br />

small steps to get us going-<br />

Day 5: Getting approval to start rolling out the<br />

value<br />

The 5th day, sometimes done at end of 4th, or integrated into<br />

the other 4 days, if the executive participates actively, is simply<br />

getting a ‘go ahead next week, at least’ signal from a responsible<br />

manager. This is easy because the lure of real results in the short<br />

term is convincing. What can you lose?<br />

Using this process in agile IT projects, such as in Banking, is our<br />

norm. But the process seems to work in any planning area. In<br />

1990 we used it on 25 aircraft projects at McDonnell-Douglas.<br />

We did 5 parallel start-ups, in 5 different weeks, and they all got<br />

approved. One device we used there, was to involve the executive<br />

for half an hour every evening. We got daily buy in, correction, and<br />

understanding by management. No surprises on Friday.<br />

People learned the agile method, Evo, by doing, rather than any<br />

classroom training. And we could budget the exercise as part of<br />

the project, not as a training overhead.<br />

If you want to try Evo, and Evo startups, be sure to download the<br />

free standards referenced here [1, 2] as a guide. Let us know how<br />

this works for you in your agile environment. Or, write a paper for<br />

Agile Record, or their Conferences.


References<br />

[1] Evo Startup Standard, Jan 12 20<strong>13</strong><br />

http://www.gilb.com/dl562<br />

[2] Evo Project Management Standard, Jan 12 20<strong>13</strong><br />

http://www.gilb.com/dl563<br />

[3] This is a detailed standard for conducting an ‘Evo’ (Evolutionary<br />

Project Management, Gilb’s Agile Method) as<br />

described in my book Competitive Engineering, Chapter 10<br />

[http://www.gilb.com//tiki-download_file.php?fileId=77]<br />

[4] The slides increments of value delivery (10 min slides)<br />

[http://www.gilb.com/tiki-download_file.php?fileId=451]<br />

give a case study view of using this method for DoD. Persinscom,<br />

US Army IT System.<br />

[5] “The Top 10 Critical Requirements are the Most Agile Way<br />

to Run Agile Projects”<br />

in Agile Record, August 2012, Issue 11, pages 17, 19-21,<br />

http://www.gilb.com/dl554<br />

[6] The ‘Evo’ abbreviation was probably first adopted for the<br />

use of our Evolutionary Project Management methods in<br />

cooperation with Hewlett Packard’s widespread use of<br />

Evo, as reported in HP Journal, for example Todd Cotton,<br />

“Evolutionary Fusion: A Customer- Oriented Incremental<br />

Life Cycle for Fusion”, HP Journal August 1996. We taught<br />

the method to Todd about 1988 on an HP Project, and he<br />

was a champion of the Evo method at HP. http://www.hpl.<br />

hp.com/hpjournal/96aug/aug96a3.htm<br />

‘Evo’ is simply a abbreviation of ‘Evolutionary’. Though we<br />

have played with acronyms like Evolutionary Value Optimization.<br />

[7] Experience in Multinational Banks, conference lecture<br />

slides. http://www.gilb.com/dl532. This contains several<br />

realistic case studies regarding Evo project startup. Testing<br />

and Finance Conf., London 2012<br />

[8] Planguage is defined in Gilb, Competitive Engineering,<br />

2005. ■<br />

> about the authors<br />

Page 32 Agile Record – www.agilerecord.com<br />

Tom Gilb and Kai Gilb<br />

Tom Gilb and Kai Gilb have, together with many professional<br />

friends and clients, personally developed the Agile<br />

methods they teach. The methods have been developed<br />

over five decades of practice all over the world in both<br />

small companies and projects, as well as in the largest<br />

companies and projects. Their website www.gilb.com/<br />

downloads offers free papers, slides, and cases about Agile and other subjects.<br />

There are many organisations, and individuals, who use some or all of their<br />

methods. IBM and HP were two early corporate-wide adopters (1980, 1988).<br />

Recently (2012) over 15,000 engineers at Intel have voluntarily adopted the<br />

Planguage requirements specification methods; in addition to practicing to a<br />

lesser extent Evo, Spec QC and other Gilb methods. Many other multinationals<br />

are in various phases of adopting and practicing the Gilb methods. Many<br />

smaller companies also use the methods.<br />

Tom Gilb<br />

Tom is the author of nine published books, and hundreds of papers on Agile<br />

and related subjects. His latest book ‘Competitive Engineering’ (CE) is a detailed<br />

handbook on the standards for the ‘Evo’ (Evolutionary) Agile Method,<br />

and also for Agile Spec QC. The CE book also, uniquely in the Agile community,<br />

defines an Agile Planning Language, called ‘Planguage’ for Quality Value<br />

Delivery Management. His 1988 book, Principles of Software Engineering<br />

Management (now in 20th Printing) is the publicly acknowledged source of<br />

inspiration from leaders in the Agile community (Beck, Highsmith, and many<br />

more), regarding iterative and incremental development methods. Research<br />

(Larman, Southampton University) has determined that Tom was the earliest<br />

published source campaigning for Agile methods (Evo) for IT and Software.<br />

His first 20-sprint agile (Evo) incremental value delivery project was done in<br />

1960, in Oslo. Tom has guest lectured at universities all over UK, Europe,<br />

China, India, USA, Korea – and has been a keynote speaker at dozens of<br />

technical conferences internationally.<br />

Kai Gilb<br />

Kai Gilb has partnered with Tom in developing these ideas, holding courses<br />

and practicing them with clients since 1992. He coaches managers and<br />

product owners, writes papers, develops the courses, and is writing his own<br />

book, ‘Evo – Evolutionary Project Management & Product Development.’<br />

Tom & Kai work well as a team; they approach the art of teaching their<br />

common methods somewhat differently. Consequently the students benefit<br />

from two different styles.


Masthead<br />

EDITOR<br />

Díaz & Hilterscheid Unternehmensberatung GmbH<br />

Kurfürstendamm 179<br />

10707 Berlin<br />

Germany<br />

Phone: +49 (0)30 74 76 28-0<br />

Fax: +49 (0)30 74 76 28-99<br />

E-mail: info@diazhilterscheid.de<br />

Díaz & Hilterscheid is a member of “Verband der<br />

Zeitschrif tenverleger Berlin-Brandenburg e. V.”.<br />

EDITORIAL<br />

José Díaz<br />

ARTICLES & AUTHORS<br />

editorial@agilerecord.com<br />

In all publications Díaz & Hilterscheid Unternehmensberatung<br />

GmbH makes every effort to respect the copyright of graphics<br />

and texts used, to make use of its own graphics and texts and to<br />

utilise public domain graphics and texts.<br />

All brands and trademarks mentioned, where applicable, registered<br />

by third-parties are subject without restriction to the provisions<br />

of ruling labelling legislation and the rights of ownership of the<br />

registered owners. The mere mention of a trademark in no way<br />

allows the conclusion to be drawn that it is not protected by the<br />

rights of third parties.<br />

Picture Credits<br />

©iStockphoto.com/SeanShot C1<br />

©morguefile/jade 6<br />

Index Of Advertisers<br />

Agile Essentials 25<br />

Agile Team Academy 18<br />

CaseMaker SaaS 9<br />

©morguefile/seriousfun 20<br />

©morguefile/mconnors 26<br />

CAT – Certified Agile Tester 2<br />

Díaz & Hilterscheid GmbH 2<br />

Díaz & Hilterscheid GmbH <strong>13</strong><br />

ISSN 2191-<strong>13</strong>20<br />

LAYOUT & DESIGN<br />

Díaz & Hilterscheid<br />

Lucas Jahn<br />

Konstanze Ackermann<br />

WEBSITE<br />

www.agilerecord.com<br />

ADVERTISEMENTS<br />

sales@agilerecord.com<br />

PRICE<br />

online version: free of charge<br />

Page 33 Agile Record – www.agilerecord.com<br />

The copyright for published material created by Díaz & Hilterscheid<br />

Unternehmensberatung GmbH remains the author’s property. The<br />

duplication or use of such graphics or texts in other electronic or<br />

printed media is not permitted without the express consent of<br />

Díaz & Hilterscheid Unternehmensberatung GmbH.<br />

The opinions expressed within the articles and contents herein do<br />

not necessarily express those of the publisher. Only the authors<br />

are responsible for the content of their articles.<br />

No material in this publication may be reproduced in any form<br />

without permission. Reprints of individual articles available.<br />

Díaz & Hilterscheid GmbH 23<br />

SWE Guild 34<br />

Testing Experience 22


www.sweguild.com<br />

Page 34 Agile Record – www.agilerecord.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!