Skip to content

Feed aggregator

News update 2014/11 – Here Be Dragons – Scaling Agile - Peter Hundermark - Mon, 11/24/2014 - 16:49

Serpents and DragonsPeter Hundermark has shared the slides of his presentation, “Here Be Dragons – Scaling Agile“, from the global Scrum Gathering in Berlin and the regional Scrum Gathering in Cape Town.

The presentation focuses on the structural and process dimension of scaling agility. Peter describes 3 “laws” of scaling and sets out 10 patterns that he has found helpful over the years as a consultant and coach.

Interesting Links Interesting Links Momentum BTS Momentum BTS have embarked on a journey of learning and innovation by introducing Kanban as a way of managing their work. They have posted a short video on YouTube illustrating the impact these changes have had on their teams. Scrum Sense has had the privilege of being a part of this journey.


InfoQ have also published an article on Momentum’s adoption of Kanban. Discover the reasoning behind their journey and how they went about implementing the changes.


Scrum Gathering South Africa Karen & Sam of Growing Agile, interviewed attendees of the October 2014 Scrum Gathering in Cape Town and have created a very cool video of which sessions they enjoyed most and what they learnt.



Upcoming Courses


Certified Scrum Master (JHB)
01-02 Dec 2014 – Fully booked!
FNB Conference & Learning Centre, Sandton


Certified Scrum Master (CPT)
26-27 Jan 2015
Steenberg Hotel, Cape Town


Certified Scrum Product Owner (CPT)
23-24 Feb 2015
Steenberg Hotel, Cape Town


Certified Scrum Master (JHB)
10-11 Mar 2015
FNB Conference & Learning Centre, Sandton


Course Schedule and Book Online


The post News update 2014/11 – Here Be Dragons – Scaling Agile appeared first on ScrumSense.

Categories: Blogs

Coal in your bug tracking stocking this Christmas?

Agile Complexification Inverter - Mon, 11/24/2014 - 16:43
What is your plan for being a better developer next year?  What's the technique that will repay your efforts many fold?  Testing - automated test to be specific.  There are all types of automated testing.  The agile mind set thinks of testing first, not in a reactive manner, but as a preventative and design effort.

For three years, The Container Store has been using application performance management (APM) technology from AppDynamics to locate bugs in the website, target them immediately and fix them.

Sometimes there's a slowdown in a particular region. Other times it's from a certain database and often from a single line of code. Just this year, the Container Store upped its contract with AppDynamics, buying more software so the company can test new features before deploying them and minimize the number of live fixes necessary.

"We said we want to be more proactive instead of reactive," said A.J. Azzarello, a quality assurance engineer at The Container Store in Dallas. "We can catch errors and slow response times in test prior to production so they never impact our customers."From CNBC's article: Don't let software bugs ruin Christmas by Ari Levy

Categories: Blogs

A Tech Lead Paradox: Delivering vs Learning - Mon, 11/24/2014 - 14:49

Agile Manifesto signatory Jim Highsmith talks about riding paradoxes in his approach to Adaptive Leadership.

A leader will find themselves choosing between two solutions or two situations that compete against each other. A leader successfully “rides the paradox” when they adopt an “AND” mindset, instead of an “OR” mindset. Instead of choosing one solution over another, they find a way to satisfy both situations, even though they contradict one another.

A common Tech Lead paradox is the case of Delivering versus Learning.

The case for delivering

In the commercial of software development, there will always be pressure to deliver software that satisfy user needs. Without paying customers, companies cannot pay their employees. The more software meets user needs, the more a company earns, and the more the company can invest in itself.

Business people will always be asking for more software changes as there is no way of knowing if certain features really do meet user needs. Business people do not understand (and cannot be expected to fully understand) what technical infrastructure is needed to deliver features faster or more effectively. As such, they will always put pressure on to deliver software faster.

From a purely money-making point of view, it is easy to interpret delivering software as the way of generating more earnings.

The case for learning

Software is inherently complex. Technology constantly changes. The problem domain shifts as competitors release new offerings and customer needs change in response and evolve through constant usage. People, who have certain skills, leave a company and new people, who have different skills, join. Finding the right balance of skills to match the current set of problems is a constant challenge.

From a technologist’s point of view, learning about different technologies can help solve problems better. Learning about completely different technologies opens up new opportunities that may lead to new product offerings. But learning takes time.

The conflict

For developers to do their job most effectively, they need time to learn new technologies, and to improve their own skills. At the same time, if they spend too much time learning, they cannot deliver enough to help a company to reach their goals, and the company may not earn enough money to compensate their employees and in turn, developers.

Encouraging learning at the cost of delivering also potentially leads to technology for technology’s sake – where developers use technology to deliver something. But what they deliver may not solve user needs, and the whole company suffers as a result.

What does a Tech Lead do?

A Tech Lead needs to keep a constant balance between finding time to learn, and delivering the right thing effectively. It will often be easier for a Tech Lead to succumb to the pressure of delivering over learning. Below is advice for how you can keep a better balance between the two.

Champion for some time to learn

Google made famous their 20% time for developers. Although not consistently implemented across the entire organisation, the idea has been adopted by several other companies to give developers some creative freedom. 20% is not the only way. Hack days, like Atlassian’s ShipIt days (renamed from FedEx days) also set aside some explicit, focused time to allow developers to learn and play.

Champion learning that addresses user needs

Internally run Hack Days encourage developers to unleash their own ideas on user needs, where they get to apply their own creativity, and often learn something in the process. They often get to play with technologies and tools they do not use during their normal week, but the outcome is often focused on a “user need” basis, with more business investment (i.e. time) going towards a solution that makes business sense – and not just technology for the sake of technology.

Capture lessons learned

In large development teams, the same lesson could be learned by different people at different times. This often means duplicated effort that could have been spent learning different or new things. A Tech Lead can encourage team members to share what they have learned with other team members to spread the lessons.

Some possibilities I have experienced include:

  • Running regular learning “show-and-tell” sessions – Where team members run a series of lightning talks or code walkthroughs around problems recently encountered and how they went about solving it.
  • Update a FAQ page on a wiki – Allows team members to share “how to do common tasks” that are applicable in their own environment.
  • Share bookmark lists – Teams create a list of links that interesting reads based on problems they have encountered.
Encourage co-teaching and co-learning

A Tech Lead can demonstrate their support for a learning environment but encouraging everyone to be a student and a teacher at the same time. Most team members will have different interests and strengths, and a Tech Lead can encourage members to share what they have. Encouraging team members to run brown bag sessions on topics that enthuse them encourage an atmosphere of sharing.

Weekly reading list

I know of a few Tech Leads who send a weekly email with interesting reading links to a wide variety of technology-related topics. Although they do not expect everyone to read every link, each one is hopeful that one of those links will be read by someone on their team.

If you liked this article, you will be interested in “Talking with Tech Leads,” a book that shares real life experiences from over 35 Tech Leads around the world. Now available on Leanpub.

Categories: Blogs

Five Tips to Hiring a Generalizing Specialist

Johanna Rothman - Mon, 11/24/2014 - 14:19

We talk a lot in agile about generalizing specialists. Scott Ambler has a terrific essay on what a generalizing specialist is:

  • Has one or more technical specialties…
  • Has at least a general knowledge of software development.
  • Has at least a general knowledge of the business domain in which they work.
  • Actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas

(From Scott Ambler’s essay,

How do you hire one of these mythical people?

First, they are not mythical. They are real. Second, you do a job analysis, just as you would for any job. Third, you would look at how they have acquired skills throughout their careers.

What does this mean for the hiring manager and/or recruiter?

  1. If you search on keywords only, you will miss these people. They may not have all the keywords you want on a resume. That’s because they are generalizing specialists. You have to write a job description to entice these people to an opportunity.
  2. If you say things such as, “You will have worked at a place like <insert name of your favorite company here>” you may well miss great people. You are assuming a particular class of people. You have to change your assumptions about work history, school history, any kind of history. Again, the job description or ad has to be about an opportunity where people can learn and grow.
  3. You have to look at how they have learned in their resume.
  4. You have to look at their technical leadership roles. Yes, they will show you technical leadership in their list of accomplishments. They will have made things better in any number of dimensions.
  5. You need to look at the non-technical skills, such as facilitation, collaboration, coaching, initiative, taking small steps to make progress, all the things I mentioned in Hiring for an Agile Team: Making Tradeoffs.

Remember, you want generalizing specialists. True specialists introduce a cost of delay into your projects. They end up with a queue of work and they introduce a delay, or they multitask.

Categories: Blogs

Der reflektierte Umgang mit sich selbst: Führung und Grundhaltung

Scrum 4 You - Mon, 11/24/2014 - 08:59

Wenn ich an meine langjährige Führungspraxis denke, nehme ich eine komplexen Prozess wahr, in dem vor allem eines immer wieder auf dem Prüfstand gestellt wurde: meine Haltung zur Profession Führung, als Führungskraft und zu den Menschen die ich führen durfte. Wie Menschen Führung – ob disziplinarisch oder lateral – ausüben, hängt in hohem Maß von ihrer (unbewussten und bewussten) Grundhaltung, von ihrer Rollenidentität ab. Das Führen von Menschen ist eindeutig und zuallererst ein Haltungsthema. Boris Gloger meint dazu in unserem gemeinsamen Buch “Selbstorganisation braucht Führung”: “Der erste entscheidende Schritt dazu ist: Vergessen wir alles, was wir aus Büchern, Vorträgen, Seminaren und von unseren eigenen Vorbildern über Führung zu wissen meinen! Damit meine ich auch dieses Buch! Es soll anregen, kann aber Ihr eigenes Denken und Ihre eigenen Schlussfolgerungen nicht ersetzen. Hinterfragen Sie einfach alles noch einmal, fangen Sie wieder von vorne an. Dieser Schritt ist entscheidend: Sie selbst sollten für sich ein neues Modell von Führung erfinden.“ Und damit eine ganz spezifische, individuelle Haltung entwickeln.

Immer wieder werde ich in Führungstrainings von skeptischen Teilnehmern gefragt, ob sie hier stromlinienförmig optimiert werden sollen. Die Antwort kann nur lauten: auf keinen Fall. Es geht nicht ums Klonen von standardisierten Führungsrobotern, sondern es geht um Anstöße für die individuelle (Selbst-) Reflexion, um die eigene Entscheidung, was in der Führungsrolle individuell “passt” und wie sie funktional und positiv interpretiert und ausgefüllt werden kann. Und es geht um das Andocken an die bisherigen subjektiven Erfahrungen zum Thema Führung. Denn jeder Mensch hat eine Vielzahl von Situationen er- und durchlebt, in denen er geführt wurde, in denen er Führung beobachtet und eingeordnet hat und die ihn heute mehr oder weniger stark prägen.

Die Rollenidentität als Führungskraft, und damit eine spezifische individuelle Grundhaltung, entwickelt sich durch komplexe Erfahrungen im Sinne von unbewussten und bewussten Lern- und Erfahrungsmustern. Unbewusst wirkende Überzeugungen und vorgelebte Werte aus Kindheit und Jugend, die wir von unseren Eltern oder späteren Vorbildern übernommen haben, beeinflussen uns und unsere Wertvorstellungen. Man muss lernen, sich dieser einflussreichen Überzeugungen und deren Auswirkungen auf das eigene Führungsverhalten bewusst zu werden, Position zu beziehen und bei Bedarf Veränderungen einzuleiten. Drei Positionen sind dabei wesentlich.

  • Die innere Haltung dem eigenen Ich gegenüber
    „Wofür stehe ich? Was macht mich als Mensch aus? Was motiviert mich? Lebe ich diese Dinge in einer wertschätzenden Haltung? Und wie bringe ich sie in Bezug zur Führungsrolle?“ Diese oder ähnliche Fragen stellen wir uns selten bewusst. Dabei sind sie absolut zentral. Sie sind die Grundlage unserer Handlungen und unserer Kommunikation. Und die Antworten auf diese Fragen zeigen sich in jeder Begegnung mit anderen Menschen, in jedem Gespräch. Und das selbst dann, wenn man nie über die eigene innere Haltung nachgedacht hat. Ein Blick auf die Meta-Ebene ist daher hilfreich: Es liegt viel Potenzial darin, sich mit dem eigenen inneren Antrieb, mit dem Kern dessen, was mich als Person ausmacht, zu beschäftigen. Um diese Entdeckungsreise zum eigenen Wesenskern anzutreten, ist es unerlässlich, in Ruhe nach innen zu hören und zu spüren und seine biographischen “Daten” Revue passieren zu lassen.
  • Die innere Haltung den Mitmenschen (Mitarbeitern) gegenüber
    Hier geht es um das grundsätzliche Menschenbild. Werden die Menschen als solche in ihrer primären Existenz eher positiv oder negativ gesehen, als vertrauenswürdig oder eher als unlauter, als fleißig oder eher faul, als Partner oder Konkurrenten usw. Führungskräfte, deren Hauptwerkzeug die Kommunikation ist, sollten sich daher im Bezug zu ihren Gegenübern auch situativ immer wieder – besonders aber in wichtigen Situationen – bewusst reflektieren.
  • Passung von Führungsrolle und Persönlichkeit 

    Passt die innere Haltung nicht zur Führungsverantwortung, dann entsteht ein Konflikt. Wer mit Worten für etwas argumentiert, das der eigenen inneren Haltung widerspricht, wird vom anderen intuitiv als unecht empfunden. Dieses inkongruente Verhalten sorgt für unbefriedigende Ergebnisse und lässt auch die Führungskraft auf Dauer unzufrieden zurück. Das Wort Persönlichkeit kommt von „personare“ und bedeutet „durchtönen“. Die Frage ist, wie gelingt es, die eigene Persönlichkeit stimmig in der Führungsrolle durchtönen zu lassen und gleichzeitig die Rollenklarheit zu behalten? Worüber muss ich intensiv nachdenken, was ist kongruent, wo muss ich mich anpassen oder entwickeln? Besonders laterale Führungskräfte brauchen oft Zeit und intensive Reflexion, um eine adäquate Position zu finden. Natürlich trifft die individuelle Interpretation der Führungsrolle immer auch auf die Führungskultur des Unternehmens und damit auf spezifische, mehr oder weniger transparente Erwartungen an die Führungshaltung von außen. Dies ist zu berücksichtigen. Unternehmen müssen daher grundsätzliche Anforderungen an die Führungshaltung definieren, die aber Raum für individuelle Gestaltung lassen.

Der erste Schritt allerdings ist es, sich über die tiefsten subjektiven Bezüge zur Führung klar zu werden. Finde ich Führung grundsätzlich notwendig, funktional und positiv? Oder habe ich meine Probleme mit dieser Form menschlicher Interaktion, vor allem Arbeitskontext? Lehne ich Führung eher ab und sehe sie sehr kritisch? Der Selbstreflexionsbogen Führung geht also nicht auf die konkreten Elemente der Führungshaltung ein, sondern soll helfen, die grundlegendsten Erfahrungen und Bezüge zur Führung transparenter und bewusster zu machen. Er fragt nach der elementaren Haltung und geht von der Prämisse aus: Nur wer gerne führt, führt wirklich gut!

Sollten Sie in der Skalenfrage das Kreuz bei 7 und mehr gemacht haben, sind Ihre Voraussetzungen für eine Führungsrolle sehr gut. Sie können einzelne Haltungselemente prüfen und den Fokus auf gut erlernbare Führungskompetenzen legen. Setzen Sie Ihr Kreuz bei 5 und darunter, empfiehlt es sich grundlegend, über Ihre Haltung zur Führung nachzudenken. Überlegen Sie, wo Blockierungen liegen könnten und was Sie bräuchten, um einen grundlegend positiveren Bezug zu entwickeln. Sprechen und reflektieren Sie mit Kollegen, Freunden oder einem kompetenten Coach. Und vielleicht gibt es ja auch Alternativen zu einer Führungsposition, um sich beruflich zu verwirklichen.

Categories: Blogs

R: dplyr – “Variables not shown”

Mark Needham - Sun, 11/23/2014 - 03:02

I recently ran into a problem where the result of applying some operations to a data frame wasn’t being output the way I wanted.

I started with this data frame:

words = function(numberOfWords, lengthOfWord) {
  w = c(1:numberOfWords)  
  for(i in 1:numberOfWords) {
    w[i] = paste(sample(letters, lengthOfWord, replace=TRUE), collapse = "")
numberOfRows = 100
df = data.frame(a = sample (1:numberOfRows, 10, replace = TRUE),
                b = sample (1:numberOfRows, 10, replace = TRUE),
                name = words(numberOfRows, 10))

I wanted to group the data frame by a and b and output a comma separated list of the associated names. I started with this:

> df %>% 
    group_by(a,b) %>%
    summarise(n = n(), words = paste(name, collapse = ",")) %>%
    arrange(desc(n)) %>%
Source: local data frame [5 x 4]
Groups: a
   a  b  n
1 19 90 10
2 24 36 10
3 29 20 10
4 29 80 10
5 62 54 10
Variables not shown: words (chr)

Unfortunately the words column has been excluded and I came across this Stack Overflow post which suggested that the print.tbl_df function was the one responsible for filtering columns.

Browsing the docs I found a couple of ways to overwrite this behaviour:

> df %>% 
    group_by(a,b) %>%
    summarise(n = n(), words = paste(name, collapse = ",")) %>%
    arrange(desc(n)) %>%
    head(5) %>%
    print(width = Inf)


> options(dplyr.width = Inf)
> df %>% 
    group_by(a,b) %>%
    summarise(n = n(), words = paste(name, collapse = ",")) %>%
    arrange(desc(n)) %>%

And now we see this output instead:

Source: local data frame [5 x 4]
Groups: a
   a  b  n                                                                                                         words
1 19 90 10 dfhtcgymxt,zpemxbpnri,rfmkksuavp,jxaarxzdzd,peydpxjizc,trdzchaxiy,arthnxbaeg,kjbpdvvghm,kpvsddlsua,xmysfcynxw
2 24 36 10 wtokzdfecx,eprsvpsdcp,kzgxtwnqli,jbyuicevrn,klriuenjzu,qzgtmkljoy,bonbhmqfaz,uauoybprrl,rzummfbkbx,icyeorwzxl
3 29 20 10 ebubytlosp,vtligdgvqw,ejlqonhuit,jwidjvtark,kmdzcalblg,qzrlewxcsr,eckfgjnkys,vfdaeqbfqi,rumblliqmn,fvezcdfiaz
4 29 80 10 wputpwgayx,lpawiyhzuh,ufykwguynu,nyqnwjallh,abaxicpixl,uirudflazn,wyynsikwcl,usescualww,bkvsowfaab,gfhyifzepx
5 62 54 10 beuegfzssp,gfmegjtrys,wkubhvnkkk,rkhgprxttb,cwsrzulnpo,hzkvjbiywc,gbmiupnlbw,gffovxwtok,uxadfrjvdn,aojjfhxygs

Much better!

Categories: Blogs

5 Steps to Cultivating an Agile Culture

Agile Management Blog - VersionOne - Fri, 11/21/2014 - 18:41

We’ve all heard the maxim change is difficult.  The reasons that change is hard are far too numerous to discuss in a single blog posting.  My intent here is to specifically focus on organizational agile transformations and the difficulty of changing culture.  Additionally, I want to leave you with some hope.  While it is difficult, it is not impossible.  There are steps that you can take as an individual that can help the organization as a whole move in the right direction.

The 2013 VersionOne State of Agile Survey indicates the top three reasons cited by practitioners for adopting agile within their organizations include accelerated time to market, the ability to more easily manage changing priorities, and to better align IT and the business, respectively.  These are desired results.  Unfortunately, viewing agile as a methodology alone will only minimally achieve these results, if at all.  The same survey cited the primary barrier to agile adoption as being the inability to change organizational culture.

Many adoptions focus primarily on providing training for individuals and teams.  Training is certainly crucial; unfortunately, many initiatives stop with training.  This is insufficient to sustain the change effort’s momentum.  It’s perplexing to me that organizations expect a shift in results with training alone?  It’s unrealistic.  Even when training is provided the attendees are thrust back into an environment that does not support new experiences that validate a new way of doing things.  The pyramid in the illustration below helps to visually explain why.

Change Pyramid

Individual Change Pyramid

First, I have to give credit for this illustration to Heather Hassebroek.  I met Heather only briefly at an agile conference, where we sat next to each other and started a discussion about why we think change is so difficult.  I think the pyramid succinctly demonstrates what’s occurring.  She jotted it down and I asked her if I could use it.  She graciously said yes.  Thank you Heather!

Our experiences lie at the base of the pyramid.  These experiences create and reinforce our beliefs and values, which drives our actions and behaviors.  The actions and behaviors produce results—both good and bad.  Therefore, one of the keys to transformation efforts is that it has to be rooted in individual experiences that breathe life into the new way of doing things.

For example, let’s consider the agile principle that states the primary measure of progress is working software.  To realize this principle we must first provide experiences that reinforce new values.  I have worked with teams that have attended training and seem to understand the principles of The Agile Manifesto very well.  The mindset just seems to make sense to them.  Yet, when returning to the day-do-day routine of their projects they fail to have stakeholders attend sprint reviews and are required to provide weekly project status reports including percent complete and red, amber, green stoplight indicators.  The team’s collective experience is that working software isn’t really valued as much as a status report.  This repeated shared experience leads to apathy and stalled transformations.  Alas, the team and organization continues to slumber under the status quo.

Here are 5 new experiences to consider if you want to foster an agile culture.  The list isn’t exhaustive, of course, but all of these are steps to consider if you want to reinforce new values and drive behavior change leading to positive results.

  1. Expect working software to be demonstrated at the end of a sprint.  If it can’t be demonstrated, it’s not done.
  2. If you need something from someone—call them!  Better yet, if you are co-located walk over to them and have a conversation and engage them in collaboration.
  3. If you’re a manager or executive, form stable teams.  If you do not understand the long-term competitive advantage of a high-performing stable team, you have much to learn about agile organizations.
  4. Be open about your failures at all levels (individual, departmental, managerial, etc.).  This has to start with you!  Don’t expect everyone to be open first.  You must demonstrate this behavior.  But consider this in a positive light.  Also be open about what you learned as a result of the failure.  Over time, this will help foster a learning culture.  Consider a team-level sprint or release award for the failure that led to the most learning.
  5. Experiment with pairing for 5 days.  I’m not simply referring to pair programming.  Try pairing in daily activities.  You may be surprised at the results.  If not, it’s only been for 5 days.  But give it at least that much time.  If it works you might even consider rotating pairs every week to help drive learning and building relationships.
Categories: Companies

Make Stories Small When You Have "Wicked" Problems

Johanna Rothman - Fri, 11/21/2014 - 16:10

If you read my Three Alternatives to Making Smaller Stories, you noticed one thing. In each of these examples, the problem was in the teams’ ability to show progress and create interim steps. But, what about when you have a “wicked” problem, when you don’t know if you can create the answer?

If you are a project manager, you might be familiar with the idea of “wicked” problems from   from the book Wicked Problems, Righteous Solutions: A Catalog of Modern Engineering Paradigms. If you are a designer/architect/developer, you might be familiar with the term from Rebecca Wirfs-Brock’s book, Object Design: Roles, Responsibilities, and Collaborations.

You see problems like this in new product development, in research, and in design engineering. You see it when you have to do exploratory design, where no one has ever done something like this before.

Your problem requires innovation. Maybe your problem requires discussion with your customer or your fellow designers. You need consensus on what is a proper design.

When I taught agile to a group of analog chip designers, they created landing zones, where they kept making tradeoffs to fit the timebox they had for the entire project, to make sure they made the best possible design in the time they had available.

If you have a wicked problem, you have plenty of risks. What do you do with a risky project?

  1. Staff the project with the best people you can find. In the past, I have used a particular kind of “generalizing specialist,” the kind where the testers wrote code. The kind of developers who were also architects. These are not people you pick off the street. These are people who are—excuse me—awesome at their jobs. They are not interchangeable with other people. They have significant domain expertise in how to solve the problem. That means they understand how to write code and test.
  2. Help those generalizing specialists learn how to ask questions at frequent points in the project. In my inch-pebble article, I said that with a research project, you use questions to discover what you need to know. The key is to make those questions small enough, so you can show progress every few days or at least once week. Everyone in the project needs to build trust. You build trust by delivering. The project team builds trust by delivering answers, even if they don’t deliver working code.
  3. You always plan to replan. The question is how often? I like replanning often. If you subscribed to my Reflections newsletter (before the Pragmatic Manager), back in 1999, I wrote an article about wicked projects and how to manage the risks.
  4. Help the managers stop micromanaging. The job of a project manager is to remove obstacles for the team. The job of a manager is to support the team. Either of those manager-types might help the team by helping them generate new questions to ask each week. Neither has the job of asking “when will you be done with this?” See Adam Yuret’s article The Self-Abuse of Sprint Commitment.

Now, in return, the team solving this wicked problem owes the organization an update every week, or, at the most, every two weeks about what they are doing. That update needs to be a demo. If it’s not a demo, they need to show something. If they can’t in an agile project, I would want to know why.

Sometimes, they can’t show a demo. Why? Because they encountered a Big Hairy Problem.

Here’s an example. I suffer from vertigo due to loss of (at least) one semi-circular canal in my inner ear. My otoneurologist is one of the top guys in the world. He’s working on an implantable gyroscope. When I started seeing him four years ago, he said the device would be available in “five more years.”

Every year he said that. Finally, I couldn’t take it anymore. Two years ago, I said, “I’m a project manager. If you really want to make progress, start asking questions each week, not each year. You won’t like the fact that it will make your project look like it’s taking longer, but you’ll make more progress.” He admitted last year that he took my advice. He thinks they are down to four years and they are making more rapid progress.

I understand if a team learns that they don’t receive the answers they expect during a given week. What I want to see from a given week is some form of a deliverable: a demo, answers to a question or set of questions, or the fact that we learned something and we have generated more questions. If I, as a project manager/program manager, don’t see one of those three outcomes, I wonder if the team is running open loop.

I’m fine with any one of those three outcomes. They provide me value. We can decide what to do with any of those three outcomes. The team still has my trust. I can provide information to management, because we are still either delivering or learning. Either of those outcomes provides value. (Do you see how a demo, answers or more questions provides those outcomes? Sometimes, you even get production-quality code.)

Why do questions work? The questions work like tests. They help you see where you need to go. Because you, my readers, work in software, you can use code and tests to explore much more rapidly than my otoneurologist can. He has to develop a prototype, test in the lab and then work with animals, which makes everything take longer.

Even if you have hardware or mechanical devices or firmware, I bet you simulate first. You can ask the questions you need answers to each week. Then, you answer those questions.

Here are some projects I’ve worked on in the past like this:

  • Coding the inner loop of an FFT in microcode. I knew how to write the inner loop. I didn’t know if the other instructions I was also writing would make the inner loop faster or slower. (This was in 1979 or so.)
  • Lighting a printed circuit board for a machine vision inspection application. We had no idea how long it would take to find the right lighting. We had no idea what algorithm we would need. The lighting and algorithm were interdependent. (This was in 1984.)
  • With clients, I’ve coached teams working on firmware for a variety of applications. We knew the footprint the teams had to achieve and the dates that the organizations wanted to release. The teams had no idea if they were trying to push past the laws of physics. I helped the team generate questions each week to direct their efforts and see if they were stuck or making progress.
  • I used the same approach when I coached an enterprise architect for a very large IT organization. He represented a multi-thousand IT organization who wanted to revamp their entire architecture. I certainly don’t know architecture. I know how to make projects succeed and that’s what he needed. He used the questions to drive the projects.

The questions are like your tests. You take a scientific approach, asking yourself, “What questions do I need to answer this week?” You have a big question. You break that question down into smaller questions, one or two that you can answer (you hope) this week. You explore like crazy, using the people who can help you explore.

Exploratory design is tricky. You can make it agile, also. Don’t assume that the rest of your project can wait for your big breakthrough.  Use questions like your tests. Make progress every day.

I thank Rebecca Wirfs-Brock for her review of this post. Any remaining mistakes are mine.

Categories: Blogs

Wer ist eigentlich … Christoph Schmiedinger?

Scrum 4 You - Fri, 11/21/2014 - 08:21

Wie beschreibst du deinen Eltern/ Freunden deinen Arbeitsalltag bei Boris Gloger Consulting?
Viele verbinden mit Unternehmensberatung gut gekleidete Menschen, viel reisen, Überstunden en masse und schöne PowerPoint-Foliensätze. Im Wesentlichen stimmen einige dieser Aspekte, doch ich denke, dass es bei Boris Gloger Consulting doch ein wenig anders abläuft als in klassischen Beratungen. Meiner Familie und Freunden beschreibe ich meinen Arbeitsalltag immer als äußerst abwechslungsreich und herausfordernd. In der Hauptsache bin ich dazu da, anderen Menschen zu helfen, ein Produkt erfolgreicher zu entwickeln. Dazu verwende ich moderne Ansätze, die in vielen Organisationen Widerstand hervorrufen. Auch das ist ein Grund, warum ich mit an Bord bin. Neben den Projekten beschreibe ich meinen Freunden auch oft unsere differenzierte Arbeitsweise im Unternehmen selbst, etwa das Prinzip der Freiwilligkeit oder den Freiraum, der uns gegeben wird. Viele können das nicht nachvollziehen, weil sie nicht glauben können, dass eine Firma auf Basis dieser Prinzipien funktionieren kann.

Welchen Beruf wolltest du als Kind unbedingt ergreifen?
Als Kind wollte ich die klassischen Abenteuer-Berufe wie Feuerwehrmann oder Polizist ergreifen. Vielleicht war es aber auch die Hilfsbereitschaft, die mich dazu motivierte. Ich denke, dass ich mit meiner Berufswahl als Consultant diese Wünsche zumindest teilweise ausleben kann. Immerhin ist jedes Projekt immer wieder ein Abenteuer und ich liebe es, anderen Menschen zu zeigen, dass sie ihren Arbeitsalltag erleichtern und gleichzeitig erfolgreich sein können.

Wie siehst du deine bisherige Karriere? Viel Zufall oder überwiegend sorgfältige Planung?
Meine bisherige Karriere war überwiegend sorgfältig geplant. Ich habe bereits kurz vor meiner Matura (Abitur) den Entschluss gefasst, gleichzeitig einen verantwortungsvollen Job anzunehmen und mein Studium am Abend und Wochenende zu absolvieren. Fünf Jahre später bin ich froh, diesen Weg gewählt zu haben. Ich erkenne, wie viel Vorsprung ich durch meine zusätzlichen fünf Jahre Berufserfahrung nach meinem Studienabschluss hatte oder noch immer habe. Auch der Weg ins Consulting war geplant, da ich nach fünf Jahren im gleichen Unternehmen „raus“ in die weite Welt und „Neues“ kennenlernen wollte. Da mich agile Methoden bereits im letzten Unternehmen und auch während meines Studiums fasziniert haben, fiel die Wahl auf eine Unternehmensberatung mit Fokus auf agile Methoden und dann letztendlich auf Boris Gloger Consulting.


Gibt es ein bestimmtes Ritual in der Arbeitswoche, auf das du nicht verzichten könntest?
Interessanterweise habe ich bei dieser Frage als Erstes den Weekly Report, den wir dem Kunden zu Abschluss der Arbeitswoche schicken, im Kopf. Für mich ist dieses „Absenden“ der formale Abschluss der Projektwoche, mit dem ich meine Gedanken für das Projekt zum Wochenende ruhen lasse.

Unter all den Projekten, die du für Boris Gloger Consulting realisiert hast: Welches ist dein All-Time-Favourite?
Ich hatte erst ein Projekt bei Boris Gloger Consulting, das ich nun bereits seit mehr als sechs Monaten begleite. Ich denke aber, dass es durchaus einer der All-Time-Favourites werden könnte. Die große Herausforderung in dem Projekt waren die sehr unterschiedlichen Typen und Charaktere (Entwickler, SAP-Berater und Anwender), die erst zur Zusammenarbeit bewogen werden mussten. Es war großartig zu sehen, wie diese Entwicklung über den Lauf der Sprints zunehmend stattgefunden hat, so dass wir nach ein paar Monaten ein hoch performantes und gut zusammenarbeitendes Team geschaffen haben.

Drängende Kundenanfragen, E-Mail-Flut, Meeting-Marathon oder als Consultant jeden Tag an einem anderen Ort: Was ist dein Geheimrezept, um im hektischen Arbeitsalltag einen kühlen Kopf zu bewahren?
Bereits während meines Studiums, das ich neben meinem 40-Stunden-Job absolviert habe, habe ich mir angewöhnt, ein gutes Zeitmanagement zu betreiben. Dazu gehört neben einer ordentlich gepflegten To-Do-Liste auch die richtige Einstellung bzw. Herangehensweise. Ich versuche beispielsweise, alle Aufgaben so früh wie möglich abzuschließen, auch wenn die Deadline noch weit entfernt scheint. Das hilft mir, nicht zu sehr in Stress zu geraten, wenn diese Termine näher rücken. Zusammengefasst ist mein Rezept ein strukturiertes und zeitnahes Abarbeiten der zu erledigenden Themen.

Was ist für dich das Besondere an der Arbeit bei Boris Gloger Consulting?
Das Besondere ist einerseits das Projektumfeld, das äußerst spannend und herausfordernd ist. Immer wieder gibt es neue Projekte, in denen man am liebsten selber mitwirken will, weil das Problem oder die Situation einfach nur aufregend und spannend ist. Andererseits ist es die Atmosphäre im Unternehmen selbst. Alles basiert auf Freiwilligkeit und jeder kann sich einbringen, wo er seine eigenen Stärken sieht, solange es zum Unternehmensziel beiträgt. Dieser Freiraum ist anfangs ungewohnt, auch ich habe ein paar Wochen bis Monate gebraucht, um mich damit zurecht zu finden. Nun bin ich in vielen Themen engagiert und weiß, wo ich zu den Unternehmenszielen beitragen kann und das auch tue.

Gibt es eine Marotte, mit der du deine Kollegen regelmäßig auf die Palme bringst?
Da ich ein sehr ruhiger und friedliebender Mensch bin, sind es wenn nur kleine Marotten, wie beispielsweise meine Penibilität beim Review von Blogbeiträgen, in denen ich regelmäßig viel in der Wortwahl und Satzstellung ändere.

Was machst du in deiner Freizeit, um runterzukommen?
In meiner Freizeit verbringe ich viel Zeit mit meiner Lebensgefährtin, auch weil wir uns unter der Woche nicht bzw. äußerst selten sehen. Dabei stehen nicht außergewöhnliche Hobbies, sondern einfach die gemeinsame Zeit im Vordergrund. Das heißt, wir unternehmen total unterschiedliche Dinge und gerade das, worauf wir spontan Lust haben. Gerne komme ich aber auch allein „runter“, meist bei sportlichen Aktivitäten wie Rad fahren, Snowboarden oder Tauchen.

Scrum ist für mich…
die perfekte Methode, ein großes Vorhaben strukturiert und erfolgreich zum Ziel zu bringen und zugleich das Team zufriedener mit seiner Arbeit zu machen.

Categories: Blogs

New SAFe Principles and Revised LSE Big Picture

Agile Product Owner - Thu, 11/20/2014 - 23:21

Ok, so these are not the same topic, but they are related, so I thought one blog post could cover both … so …

We’ve been working on highlighting the principles behind SAFe and SAFe LSE. In future versions of both, we’ll have a tab for Principles on the left, including a nav to elaborations on each principle topic. Then, everything on the right will be practices. It will look something like this:

Screen Shot 2014-11-20 at 10.34.44 AM

Principles on the left. Practices on the right.

And perhaps a new meta-message, SAFe: Proven Practices from Immutable Principles.

In moving forward with this plan, we have established a draft set of Principles that will be applied to both versions of the framework. Our current WIP is here:

Screen Shot 2014-11-20 at 10.37.51 AM


And finally, to make sure that we both really get our money’s worth on this post, we have a new version of the LSE Big Picture. We aren’t stopping, but the pace of needed change is slowing down, so something a lot like this will be likely when we go live with the development site in January.

SAFE LSE BP Version many

SAFe LSE BP Version many


Categories: Blogs

Agile Quick Links #26

Notes from a Tool User - Mark Levison - Thu, 11/20/2014 - 21:15
Walt Disney curiosity quoteSome interesting reading for the Agile community:
Categories: Blogs

Organizational Design and Scrum

Scrum Expert - Thu, 11/20/2014 - 19:47
It’s very easy to become hierarchical and turn into a “bank” when software company is growing fast. Is there a way to avoid that? How to keep the focus on value creation? What about Value departments, not Functional departments? This presentation shares ideas what we can learn from Scrum and apply in organizational design. It shares hypothesis how a company could look like when everybody is focused on value creation. Video producer: Agile Latvia
Categories: Communities

Effective SCM Strategy for the Modern Enterprise

Danube - Thu, 11/20/2014 - 18:53

Recently CollabNet published the new whitepaper “Effective SCM Strategy for the Modern Enterprise“, which discusses issues that large companies face when working on their Software Delivery Lifecycle (SDLC) infrastructure. While understanding the requirements for repository management is a major part an enterprise IT strategy, when we talked to our customers and prospects, we noticed an interesting (and somewhat troublesome) trend in how people view SCM technology.

The key problem we were seeing is that software configuration management (SCM) is typically viewed as a merely technical issue. Business stakeholders often completely rely on the technical experts – users of the SCM – in their technology choice. The effect this creates is that SDLC as a whole does not pay enough attention to repository management. SCM is still thought of as a passive storage component that provides advanced version control  and  maintains history of what developers do with the code. It seemed that enterprises are losing sight for the business objective for SCM, so we published the paper to bring attention to the issues.

In our opinion, SCM is the core of SDLC and must be an intelligent and active infrastructure component. We think it is losing some of its “hotness” because it is no longer new, and many people think that only new things deserve proper attention. Well, we don’t think so. Your business applications are at the core of your business! If you spend so much time and money to write your code, then you should have the best SCM you can possibly afford.

Here are the key takeaways from the whitepaper:

The combination of these seemingly unrelated forces have created unique technology and business challenges for enterprise development organizations, including:

  • Growth of heterogeneous development environments and diversification of tools and processes

  • Need for secrecy impedes productivity and keeps stakeholders “in the dark”

  • Lack of automated compliance process increases risks of failed audits

The selection of an SCM technology is no longer merely a technical concern — it also has a major impact on business performance for organizations. However, when it comes to SCM technology direction, business stakeholders are rarely involved in the decision making process and it tends to be viewed as a tactical technical decision. In order to effectively address modern business challenges, SCM needs to become a strategic investment and play a role of an intelligent, active infrastructural component that improves the overall business performance and supports the goals of the organization.

A few key capabilities need to be evaluated as a part of the technology selection process:

  • Platform for integrating tools and processes in heterogeneous environments

  • Enterprise-ready administration and repository management

  • Predicable, effective audit process

  • Enforceable policies for intellectual property protection

  • Scalable, repeatable engineering processes

  • Organization-wide collaboration and code reuse

The key decision makers need start viewing the SCM investments in the context of technology choices and engineering best practices. Choosing an SCM technology that is ready for enterprise-scale deployments enables companies to achieve business agility without compromising on vital aspects of modern enterprise – manageability, scalability, compliance, and governance.

To learn more, read the full version of the whitepaper.

Follow CollabNet on Twitter and LinkedIn for more insights from our industry experts.

The post Effective SCM Strategy for the Modern Enterprise appeared first on

Categories: Companies

Rally: Our Dev Team Therapist

Rally Agile Blog - Thu, 11/20/2014 - 15:00

(Guest blogger and Rally user Erine Gray is the founder of Aunt Bertha, a software platform that makes it easy for people to find and apply for food, health, housing and education programs in the U.S.)

This is the story of how Aunt Bertha used Rally to get our team organized, communicate better, and start loving each other again. It was kind of like group therapy.

I’m only sort of joking. Our team doubled in size this year and there are now more people writing code. There’s more knowledge to be transferred. There’s more testing that needs to be done. There’s more that can go wrong. And things did go wrong; like any relationship, communication is key.

A Story

We had a new customer, Critical Mass, who wanted its users to be able to know if they qualified for a local cancer program using rules common in the cancer program space: current age, age at diagnosis, type of cancer, and current stage of cancer. We’ve always had ways of determining whether someone qualified for a program based on their income, but we didn’t have an easy way to extend this qualification to other eligibility rules, like these.

Ideally, a cancer survivor should be able to see—with the click of a button—whether or not they qualify for a cancer program, and why. They should be able to see something like this:

Since Aunt Bertha’s mission is to make program information accessible, we were excited to build this feature into our product. However, we had a problem.

Teamwork and Knowledge Transfer

When we first started using Rally at Aunt Bertha, we had two new programmers on the team. I was the lead developer, and I was terrible at knowledge transfer. Release after release would go by and features were not delivered on time. And it was my fault.

I had no doubt in my mind this feature should be built, and I knew how I was going to do it. I had a vision of what it was supposed to look like and a rough idea of how the algorithm would work, since I’d written most of the search code over the last three years.

The trouble was that building this feature was going to be a significant amount of work, and I didn’t have time to build it. Programmers are typically optimistic about how long it takes to do stuff, but we have short memories. It’s kind of like golf: we only remember those great drives that lay up perfectly on the fairway; we don’t remember the time we spent digging through the weeds to find our ball (or the late nights spent debugging only to find out we put a semicolon in the wrong place.)

Aunt Bertha was also in a growth phase. I didn’t need to be the lead programmer anymore. I had to delegate, but I was afraid because I knew that this feature would touch hundreds of lines of code that only I understood.

Enter Rally

Around this time our product manager, Ruby, started implementing Rally for our software development process. Prior to Rally, we had used Github as a code repository and for issue tracking. It was a nice, lightweight way of keeping track of issues and milestones, but now we had more developers and staying organized was a real challenge. We needed more rigor and structure.

I didn’t know much about agile software development. Ruby implemented a bi-weekly sprint planning meeting, and gave us all homework. Our job was to look at all of our stories, and break them down into digestible tasks.

I took the Critical Mass eligibility rule story and began to break it down. In the past I would typically jump into a feature, only to discover later just how complex it was. Breaking down a feature into stories and tasks really forced me to think about the problem in small chunks. That was when the light bulb went off in my head: I could indeed delegate some of these tasks to our new developers. I didn’t have to be the one to do it all; I just had to coach them along.

I’m happy to report we built a pretty amazing feature that’s making it easier for cancer survivors to navigate the myriad programs out there. Our developers can now dig into the most complex code, and I can now concentrate on getting new customers and setting the longer-term vision for the product.

Rally helped us communicate better, and set deadlines that we could actually make. Rally helped us understand that big problems are nothing but a series of small problems.

Making It Fun

One of my favorite views in Rally is the Story Estimation screen.

After we’ve developed our stories and added the requisite tasks, our next step is to estimate about how long a story (or feature) will take to build. This screen allows you to easily drop in a story by the estimated size. We size ours based on the size of our dogs (we’re a dog friendly office.)

A small story is a “Cinco.” A “Rosie” (that’s my dog) is a medium-sized story. A “Beowolf” (Chris’ dog) is a big story.

Cinco, Rosie, and Beowolf represent small, medium, and large story sizes

It may seem silly to estimate your workload this way, but the truth is that sizing is relative. What matters is how many Beowolfs, Rosies, or Cincos you can accomplish in a two-week sprint.

Why We Chose Rally

We considered plenty of options: we could have just stayed with Github, and we looked at Rally competitors. But we ended up going with Rally for a couple of reasons. One reason was that Rally offers its products at a discount for fellow B Corporations (Aunt Bertha has been a B Corporation since 2011.) The primary reason, however, was an encounter I had with Rally’s founder, Ryan Martens.

Ryan was a mentor at Boulder’s Unreasonable Institute, and when Aunt Bertha went through the 2012 Unreasonable Institute in Boulder, I had a chance to interact with Ryan. During that summer the team would spend most evenings with mentors: getting our questions answered, hearing about their experiences, or just sharing stories. I distinctly remember one of Ryan’s comments on business and ethics: the passion of his delivery and his desire for our success made me a fan immediately. Simply put, he seemed like a guy I wanted to be like, someday. And Rally is a company we want to be like someday.

Erine Gray
Categories: Companies

Avoid Failure to Launch: Kick-Start Your Next Initiative

Agile Management Blog - VersionOne - Thu, 11/20/2014 - 14:43

Guest post from two Davisbase consultants:  Adam Mattis and Leslie Morse

The Challenge

It’s a great day:  you wake up, the sun is shining, there is no traffic on the way to work, and when you get to the office… there it is. A shiny, new, fully sanctioned project. It’s GO TIME!

Easy there, killer. Before you dive in head first, let’s take a step back and get our proverbial ducks in a row.

All too often with agile-run initiatives or projects, we skip the foundational efforts that set the team up for success. In business environments where teams are constantly challenged to do more, faster, and with less, these foundational efforts are often overlooked. However, this quick-to-launch mentality ends up costing us much more, further on down the line.

What are these foundational efforts that we speak of? Let’s take a step back to bootcamp and remember the importance of:

  • Product Vision
  • Product Roadmap
  • User Roles
  • Initial Backlog Population
  • The Architectural and UX Runway

Three Preconditions for Starting Work

No one embarks on a new effort, initiative, project, or body of work with the intent to fail. However, agile development is often used as an excuse to make it up as you go along. Let’s frame up the goal of foundational work for agile workstreams by creating a user story.

user story table


1.  Business Readiness:  The degree to which business stakeholders are in alignment on what the vision is, who it is intended to benefit, and how much money should be investing in realizing the value.

2.  Architectural Readiness:  Ensuring that key IT stakeholders understand the vision and target scope for the effort as well as the definition of a high-level architectural approach to delivering value.

3.  Team Readiness:  Critical collaboration activities and workshops necessary to prepare the team for an incremental delivery cadence.


The business defines the ‘what’ for an agile team; therefore, readiness on behalf of the business is of paramount importance before engaging the technology group. But what does business readiness look like?

Business Case: Defining the Need

The business case provides justification for funding a new initiative. Depending on your organization, this could be something as simple as an elevator pitch, or a much more detailed document outlining market opportunities, value propositions, return structures, etc.

Regardless of the level of detailed that is needed, having a clearly documented business case helps build a shared understanding of value among executives, sponsors, and key stakeholders. Continued support from these individuals is as key to the product launch as is the technical solution.  See Figure 1 for an example of the Elevator Pitch Structure.

FIGURE 1: Elevator Pitch Structure

figure 1

Product Vision

With the business case crafted, the next task is to develop a cornerstone for the team to focus on. This cornerstone, or product vision, serves as the high-level focus from which every epic, every feature, and every user story is created. All work done by the agile team should be focused on satisfying the product vision.

The vision should be comprised of the product name, a value statement, and a few key features that differentiate the product. The vision may also outline some basic technical requirements such as OS compatibility or platform such as “web-based.”

FIGURE 2 – Design the Box

figure 2


While it is important for the product owner and key stakeholders to understand and align on the vision when preparing to kick-start the initiative, keep in mind that it will be necessary to have a vision workshop with the cross-functional agile team in order to ensure a shared understanding of the product they are building. Once created, the product vision should be posted in a common team area to serve as an information radiator. The vision will help keep the team focused throughout the work cycle.

Product Roadmap

The product roadmap helps link the product vision to the work which agile teams do every day. The roadmap is not intended to be a commitment or project plan, but simply a guide that the agile team uses to plan their work during release planning sessions.

Without a roadmap, teams are left without a clear strategic vision. It is a common misconception that agile teams do not strategize. The reality is that agile teams are highly strategic and nimble enough to shift focus with rapidly changing market conditions.

FIGURE 3 – Product Roadmap



The roadmap focuses on high-level themes, epics, or features – and, like the backlog, remains fluid throughout the course of the initiative. To be effective, the artifact should be highly visible and referred to often. As market conditions and priorities change, so should the roadmap and other downstream artifacts. Again, aligning on the roadmap before engaging the agile team is critical in order to avoid swirl and confusion when getting the team started. It is important to ensure that business stakeholders understand that the roadmap will most certainly evolve as the team begins work.

User Roles

With the ‘what’ defined in the business case, product vision, and product roadmap, it is now time to consider the ‘who.’ The definition of user roles seems like a fairly straightforward task, but once the discussion begins, teams are often surprised at how difficult the task can be.

Consider Facebook. On first thought it may seem simple: New User, Existing User, Administrator. Not so fast. Really think about all of the different interactions that take place on Facebook.

New User Existing User Business User Group Administrator Advertiser Photo Poster Marketplace User Under 13

And that’s not even scratching the surface!

Now consider any system within your organization and imagine how challenging it would be to identify all of the different paths and user types within the system. Consider the importance of evaluating the individual needs of each of these users in creating a solution.

Remember, one of the key benefits of an agile culture is the delivery of high-quality, customer-focused software. If the team is not sure who they are solutioning for, it is likely that the product will not sufficiently satisfy the needs of anyone.

Baseline User Stories & The Backlog

With the product and users now defined, it is time to elicit basic needs from our business partners. Remember, the business product owner (BPO) is the tip-of-the-spear for all things business. The BPO serves as the single voice for the customer, product management, sales, marketing, legal, finance, and all of the other organizations that make up the business function. The BPO and supporting team need to elicit baseline user stories from each of these groups and place them on the backlog for prioritization.

As the program progresses, the BPO will be accountable for making sure any inputs from the business team are ready for the agile  team at the appropriate time. A few examples of these items may include legally approved verbiage, approved graphics from the marketing team, and any special promotional offers from the sales team. The BPO, with full control over the prioritization of the backlog, must maintain awareness of upcoming user stories and their dependency of these inputs.


Now that we understand the ‘what,’ it is time to engage the technology group! HOLD ON… let’s tap those brakes! You’re only partially right. With the ‘what’ defined, we still have not begun to explore the solution. To begin framing up the ‘how,’ we need to engage the solutions architect.

Developing Shared Understanding

The solutions architect is in a unique position to begin bridging the gap between business need and technology execution. This individual has a broad view of all technology groups, infrastructure types, and data locations. In bringing the architect in early, the business will be able to get an accurate gauge of the technical feasibility of their ask, as well as the level of effort involved to deliver.

Identify IT Impacts

Once the feasibility study is complete, the solutions architect will start to map out the solution. This sketch will include the identification of new infrastructure, data flow mapping, and systems impacts. With this analysis complete, leaders can determine the right skill sets and organizational units that need to be involved in forming the agile team(s) who will work on the initiative.


Let’s assume you’ve followed a good plan for initiating this new body of work. Your product owner is firing on all cylinders, business stakeholders are in alignment and engaged, the architects have a vision for the solution needed to deliver value, and the cross-functional set of agile team members are locked and loaded.  Please, please, please — don’t make the assumption that those folks are clairvoyant and have a shared understanding of what the organization is looking to achieve!

Agile teams need to practice the full Five Levels of Agile Planning [See Figure 4]. It doesn’t mean the product owner and business stakeholders do Levels 1-3 and the team only engages in Levels 4-5.  The entire agile team plus key stakeholders need to collaborate in order to prepare for the first sprint planning event. Highly effective agile teams engage in Levels 1-3 of planning during a timeboxed period often called Sprint Zero. When well-facilitated, it could take only a week, but spending more than four weeks on these activities would likely lead to analysis paralysis. Key preconditions, activities, and outcomes of Sprint Zero are outlined in Figure 5.

FIGURE 4 – Five Levels of Agile Planning

figure 4


FIGURE 5 – Sprint Zero Summary

figure 5

Start Small & Improve Incrementally

Feeling overwhelmed?  If you’ve got a gap in your pre-planning processes or you’re currently feeling the pain associated with a lack of readiness in one of these three areas, consider one of these three techniques in order to improve. After that, make a backlog of all of the opportunities to improve your pre-planning processes, prioritize the list, and affect change incrementally over time.

1.  The Stakeholder Engagement Cadence

Product owners are intended to be the single source of truth around ‘what’ the agile team needs to deliver. In order to effectively do this, product owners need to fully understand their stakeholders and proactively engage them so that priorities and acceptance criteria are the best quality possible.Figure 6 outlines a framework for a stakeholder engagement cadence where stakeholders are classified into one of three groupings (Advisors, Supporters, or Sponsors) and then, based on the classification, are brought together once a month, twice a month, or weekly, based on their level of involvement in the workstream. To learn more about this technique, check out Proactive Stakeholder Engagement, a post on Davisbase’s #BecomingAgile blog.

FIGURE 6 – Stakeholder Engagement Cadence

figure 6


2.  The Backlog Refinement Cadence
It is essential that teams keep a product backlog deep enough to sustain incremental delivery. While pure Scrum doesn’t call for teams maintaining a runway of “ready” stories or a projection of the backlog items they will be completing in which sprint, in practice – it is a useful planning approach for keeping flow within the system and aligning the dependencies and coordination points that often exist within organizations of scale and complexity. Figure 7 outlines a backlog refinement approach that creates focus for agile teams and helps build the discipline to keep one sprint’s worth of stories in a “ready” state, as well as get the details and specifications just enough in advance of the sprint where they will commit to the work.  When paired with the Stakeholder Engagement Cadence, this information radiator can also be useful for creating context on topics for collaboration. To learn more about the cadence for backlog refinement, check out the #BecomingAgile Webinar recording Strategies for Grooming Your Backlog.

FIGURE 7 – Refinement Cadence

figure 7


3.  The Architectural Feedback Loop

In a similar manner to how feedback is generated often in software demonstrations, it is equally as important for feedback to be passed on the to architect. On an agile team, the solutions architect is working six to eight weeks ahead of the development team laying down the architectural runway. If the development team finds that some elements of the architecture are either missing or not working, it is important to pass that information along to the architect on a regular basis in order to correct the issues in upcoming iterations.

As a result of this feedback loop, many technical and architectural user stories will begin to appear on the backlog. These elements can appear either on a product backlog in the case of tactical changes, or as the Scaled Agile Framework® (SAFe™) tells us, enterprise changes may appear on the program backlog.

FIGURE 8 – Architectural Epics

figure 8

Image courtesy of, 2014



Please comment on this post and keep the conversation going. We’re constantly looking for better ways of doing things and get excited by helping others with #BecomingAgile. Learn more by checking out these additional resources:

About the Authors

Adam Mattis and Leslie Morse are colleagues at Davisbase Consulting and, combined, have over 29 years of experience delivering value with software and information systems.

Adam is a program manager by trade residing in Nashville, TN. He spends most of his time working with new teams adopting agile practices. You can reach him at or on Twitter @AgitatedAgilist.

Leslie is a business analyst by trade and resides in Columbia, SC. Most often she engages with organizations initiating agile transformations. You can reach her at or on Twitter @lesliejdotnet.

Categories: Companies

The Napoleon Corporal

Leading Agile - Mike Cottmeyer - Thu, 11/20/2014 - 14:08

In my previous post, Replacing Backlog Grooming, I wrote about leveraging a Product Owner (PO) Team instead of the “Scrum” team in Progression Workshops (backlog grooming).

To clarify, the members of the PO teams are mainly populated by a Product Owner (Product Lead) and facilitator (could be a Scrum Master), but from there we’ll include others like a development lead, a testing lead, and an architect. We use the team construct over a single person because we’re operating at scale, with multiple delivery teams.  The Leads and Architects are thinking bigger-picture strategy and are aware of external dependencies that need to be avoided or dealt with.  The goal is to progress work along, getting it ready for the delivery team.  To help bridge the knowledge gap with the delivery teams, there are members of the delivery teams who will attend the progression workshops, mostly to play the part of the Napoleon Corporal. (I call them that, not the client)

For those unfamiliar with the term Napoleon Corporal:

Napoleon recognized how vital it was to have an enlisted soldier in the planning process. During every Battle Plans briefing Napoleon would have a Corporal shine his boots knowing that the Corporal was listening. Once the General Staff finished the brief, Napoleon would look down at the Corporal and asked if he understood the plan. If the Corporal answered, Yes Sir! The General would have his Staff execute the plan. If the Corporal answered, No Sir! The General would have the General Staff rewrite the plan.

It doesn’t matter if you’re doing textbook Scrum or something at scale.  Your people still need a shared understanding. If not, you’re going to start seeing a lot of delays and a lot of rework.

When you have a Scrum or Kanban team, you’re not always getting “A” players. Sometimes it’s a real mixed bag.  To expand the military metaphor, sometime you don’t get a Corporal. Sometimes, you get yourself a Boot Private.  If work is outsourced, developers and testers won’t necessarily have domain experience. They might be great coders or testers but not experienced in financial, medical, or other verticals.  You need to get them to understand the mission and the mission is not necessarily to write and test code. The shared understanding is how to solve a problem for the customer.

Depending on the experience of the delivery team, the conversation (and backlog) may need to be simplified enough to be understood by someone junior to a Corporal.


The post The Napoleon Corporal appeared first on LeadingAgile.

Categories: Blogs

9th International PMI Poland Chapter Congress

Leading Answers - Mike Griffiths - Thu, 11/20/2014 - 05:31
I will be in Warsaw next week for the 9th International PMI Poland Chapter Congress – themed “Mission Impossible”. I am very much looking forward to it and sessions like the “Global Challenges of Mega Projects” by Virginia Greiman of... Mike Griffiths
Categories: Blogs

Great CrowdChat with John Furrier and Kartik Raghavan

Danube - Thu, 11/20/2014 - 00:10

John Furrier, founder of CrowdChat, Kartik Raghavan and I held a 1 hour session on CrowdChat earlier today. Interesting activity stream format integrated into LinkedIn, Twitter, etc. Click below on the #EnterpriseAgility link to see the conversation.

The post Great CrowdChat with John Furrier and Kartik Raghavan appeared first on

Categories: Companies

Three Alternatives for Making Smaller Stories

Johanna Rothman - Wed, 11/19/2014 - 20:02

When I was in Israel a couple of weeks ago teaching workshops, one of the big problems people had was large stories. Why was this a problem? If your stories are large, you can’t show progress, and more importantly, you can’t change.

For me, the point of agile is the transparency—hey, look at what we’ve done!—and the ability to change. You can change the items in the backlog for the next iteration if you are working in iterations. You can change the project portfolio. You can change the features. But, you can’t change anything if you continue to drag on and on and on for a give feature. You’re not transparent if you keep developing a feature. You become a black hole.

Managers start to ask, “What you guys doing? When will you be done? How much will this feature cost?” Do you see where you need to estimate more if the feature is large? Of course, the larger the feature, the more you need to estimate and the more difficult it is to estimate well.

Pawel Brodzinski said this quite well last year at the Agile conference, with his favorite estimation scale. Anything other than a size 1 was either too big or the team had no clue.

The reason Pawel and I and many other people like very small stories—size of 1—means that you deliver something every day or more often. You have transparency. You don’t invest a ton of work without getting feedback on the work.

The people I met a couple of weeks ago felt (and were) stuck. One guy was doing intricate SQL queries. He thought that there was no value until the entire query was done. Nope, that’s where he is incorrect. There is value in interim results. Why? How else would you debug the query? How else would you discover if you had the database set up correctly for product performance?

I suggested that every single atomic transaction was a valuable piece. That the way to build small stories was to separate this hairy SQL statement was at the atomic transaction. I bet there are other ways, but that was a good start. He got that aha look, so I am sure he will think of other ways.

Another guy was doing algorithm development. Now, I know one issue with algorithm development is you have to keep testing performance or reliability or something else when you do the development. Otherwise, you fall off the deep end. You have an algorithm tuned for one aspect of the system, but not another one. The way I’ve done this in the past is to support algorithm development with a variety of tests.

Testing Continuum from Manage It!This is the testing continuum from Manage It! Your Guide to Modern, Pragmatic Project Management. See the unit and component testing parts? If you do algorithm development, you need to test each piece of the algorithm—the inner loop, the next outer loop, repeat for each loop—with some sort of unit test, then component test, then as a feature. And, you can do system level testing for the algorithm itself.

Back when I tested machine vision systems, I was the system tester for an algorithm we wanted to go “faster.” I created the golden master tests and measured the performance. I gave my tests to the developers. Then, as they changed the inner loops, they created their own unit tests. (No, we were not smart enough to do test-driven development. You can be.) I helped create the component-level tests for the next-level-up tests. We could run each new potential algorithm against the golden master and see if the new algorithm was better or not.

I realize that you don’t have a product until everything works. This is like saying in math that you don’t have an answer until you have the finished the entire calculation. And, you are allowed—in fact, I encourage you—to show your interim work. How else can you know if you are making progress?

Another participant said that he was special. (Each and every one of you is special. Don’t you know that by now??) He was doing firmware development. I asked if he simulated the firmware before he downloaded to the device. “Of course!” he said. “So, simulate in smaller batches,” I suggested. He got that far-off look. You know that look, the one that says, “Why didn’t I think of that?”

He didn’t think of it because it requires changes to their simulator. He’s not an idiot. Their simulator is built for an entire system, not small batches. The simulator assumes waterfall, not agile. They have some technical debt there.

Here are the three ways, in case you weren’t clear:

  1. Use atomic transactions as a way to show value when you have a big honking transaction. Use tests for each atomic transaction to support your work and understand if you have the correct performance on each transaction.
  2. Break apart algorithm development, as in “show your work.” Support your algorithm development with tests, especially if you have loops.
  3. Simulate in small batches when you have hardware or firmware. Use tests to support your work.

You want to deliver value in your projects. Short stories allow you to do this. Long stories stop your momentum. The longer your project, and the more teams (if you work on a program), the more you need to keep your stories short. Try these alternatives.

Do you have other scenarios I haven’t discussed? Ask away in the comments.

This turned into a two-parter. Read Make Stories Small When You Have “Wicked” Problems.

Categories: Blogs

Knowledge Sharing

SpiraTeam is a agile application lifecycle management (ALM) system designed specifically for methodologies such as scrum, XP and Kanban.