Skip to content

Feed aggregator

Big Data for Little Problems

Agile Complexification Inverter - 59 min 53 sec ago
Big Data for Little Problems

-OR- What happens when the customer has better data about the service than the provider and has better networking, better press coverage, better clout, better market reach and reputations?


(Feb 23) My good looking wife just spent 2 hours trying to straighten out Frontier's billing machine... it's not easy.  The amazing thing I observed for my recliner while sipping an adult beverage was her influencing techniques.  Now another amazingly disconsernation (not a word) is that Frontier has some awesome support people.  But oh-my-god do they have a tough job.  It's the system that has failed.  And they have to figure out how to make some legacy piece-of-crap work.
But it's not going to lead to happy satisfied customers (testify).

Her father, Jim, moved into the home with us in December, he loves Western movies, and is an encyclopedia of knowledge better than IMDB.  So we called up Frontier (our FiOS provider for 6 years) and added cable and a voice line for Jim.  We cut the cable some years ago.

That's when the troubles began, December 28th.  A techie came out to the house and worked 6 hours, all the while on a phone line to his partner back at the home office (I now understand why it required this constant contact to install the new system).  When he left we had higher speed internet (from their 50Mbpm to 150Mbpm service), cable channels - Stars Encore Western premium channel, and a voice line (old school) phone tied to a wall socket.  Most every thing seemed good.

But the ability to login to their Frontier web site and get a TV guide didn't function, as well as some other issues of seeing our account info online.  We were told to wait a few days as the data took a while to move through their systems (in Frontier's universe data does NOT move at the speed of light).

I noticed that if one tries to take their Frontier problem to Twitter, @AskFrontier is an effective defensive machine that kicks in to appease the person.  They cannot do anything except type into a twitter post, and escalate your issue to a thing referred to as "an Account Manager".  I tried that technique and received a call one week later - yes over 6 days to address an issue raised on a social media platform know for instant messaging.


@davidakoontz If you would like an Account Manager to assist you, please send us a DM. ^KLB— Ask Frontier (@AskFrontier) February 24, 2017 Once burned - twice shy... I didn't fall for this in February.

We found out last night that while we have been paying $193 for a basic plan and the Stars Western channel - that Frontier would be happy to offer us ALL their premium channels for $198.  Something that the competition Spectrum is quoting online visible with detail for about $150ish (yes I'm writing this from memory of my influencing wife's exasperation attempting to get the support person to recognize her point of view at being fleeced by Frontier).  Frontier's business model includes an interestingly complex system of quoting the cost for a service.  They encourage one to call in to talk to their pleasant but hamstrung  sells reps.  Who can only read from a screen that may change any day now on the pricing that appears to be very time dependent (you never know if tomorrow they will have a sell and better price for what you will be receiving everyday for years to come).  Now the prices and "packages" you agree to buy will not be the names and labels on your bill.  Those will be completely different and if you can find a subset of items on your bill that sum up to the $198 you thought you had agreed to - well you should work for the IRS.

After that 2+ hour conversation with a great Frontier support specialist, my very intelligent wife influence her way to some deep refunds, and what we hope will be all the movie channels that Jim could watch in a week.  Yet after 2 solid months of working with Frontier's business model - we are done.  We plan to see what the next bill shows (it's a mystery)... and when the dust settles switch to Spectrum.

The phone logs for ONE month - let the Record show:

Frontier Customer Support Line is 800-921-8101

779 minutes of my life... give or take a migraine

Jan 25, 2017
     6:45pm Outgoing Call 2 hours 25 minutes
     1:53pm Incoming Call 1 minute
     1:28pm Outgoing Call  18 minutes
     1:16pm Outgoing Call.   9 minutes
Jan 24, 2017
     10:39am Missed Call
       7:11am Outgoing Call  54 minutes
Jan 23, 2017
     4:59 pm Outgoing Call 2 hours 10 minutes

Jan 22, 2017
     11:00am. Outgoing Call. 2 hours 22 minutes
     10:34am  Outgoing Call  22 minutes

Jan 22, 2017
     10:08am Missed Call
     10:06am Missed Call
     10:00am Missed Call
      9:59am Missed Call

Jan 21, 2017 Saturday
    8:19pm Outgoing Call. 37 minutes

Jan 16, 2017
    7:00 pm Outgoing Call. 1 hour 17 minutes
    6:38pm Outgoing Call. 58 seconds
    3:59pm Outgoing Call. 40 minutes

Dec 28, 2016
     7:41am Outgoing Call  31 minutes

Dec 27, 2016
     4:09pm  Incoming Call. 43 seconds

Dec 24, 2016
     11:18am. Outgoing Call. 14 minutes

Oh - why oh why - did Steve Jobs died before he fixed the living room TV problem?  There is no GOD.  Can an 85 year old man learn to use this complex thing call a cable box remote from his recliner and almost infinite time?
 My experiences say NO, Freaking WAY!  Hell, I can't figure this complexifictor out and I've got 30 years in the computer industry making these complexifictors for companies that say the want customer satisfaction.

Categories: Blogs

How can the individuals lead change?

Manage Well - Tathagat Varma - Thu, 02/23/2017 - 10:11
How does an individual contribute to change? While everyone expects them to simply participate in the organizational change, we mostly fail to recognize why they would be motivated to participate and how can we influence them appropriately to see the change as something that helps their own careers?
Categories: Blogs

A Read-Eval-Print Loop for Ansible

One must have tool for any language is the availability of a REPL to quickly check out the syntax of an API or test out an idea really…

Categories: Blogs

Neo4j: How do null values even work?

Mark Needham - Thu, 02/23/2017 - 01:28

Every now and then I find myself wanting to import a CSV file into Neo4j and I always get confused with how to handle the various null values that can lurk within.

Let’s start with an example that doesn’t have a CSV file in sight. Consider the following list and my attempt to only return null values:

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
WITH value WHERE value = null
RETURN value

(no changes, no records)

Hmm that’s weird. I’d have expected that at least keep the first value in the collection. What about if we do the inverse?

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
WITH value WHERE value <> null
RETURN value

(no changes, no records)

Still nothing! Let’s try returning the output of our comparisons rather than filtering rows:

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
RETURN value = null AS outcome

╒═══════╤═════════╕
│"value"│"outcome"│
╞═══════╪═════════╡
│null   │null     │
├───────┼─────────┤
│"null" │null     │
├───────┼─────────┤
│""     │null     │
├───────┼─────────┤
│"Mark" │null     │
└───────┴─────────┘

Ok so that isn’t what we expected. Everything has an ‘outcome’ of ‘null’! What about if we want to check whether the value is the string “Mark”?

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
RETURN value = "Mark" AS outcome

╒═══════╤═════════╕
│"value"│"outcome"│
╞═══════╪═════════╡
│null   │null     │
├───────┼─────────┤
│"null" │false    │
├───────┼─────────┤
│""     │false    │
├───────┼─────────┤
│"Mark" │true     │
└───────┴─────────┘

From executing this query we learn that if one side of a comparison is null then the return value is always going to be null.

So how do we exclude a row if it’s null?

It turns out we have to use the ‘is’ keyword rather than using the equality operator. Let’s see what that looks like:

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
WITH value WHERE value is null
RETURN value

╒═══════╕
│"value"│
╞═══════╡
│null   │
└───────┘

And the positive case:

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
WITH value WHERE value is not null
RETURN value

╒═══════╕
│"value"│
╞═══════╡
│"null" │
├───────┤
│""     │
├───────┤
│"Mark" │
└───────┘

What if we want to get rid of empty strings?

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
WITH value WHERE value <> ""
RETURN value

╒═══════╕
│"value"│
╞═══════╡
│"null" │
├───────┤
│"Mark" │
└───────┘

Interestingly that also gets rid of the null value which I hadn’t expected. But if we look for values matching the empty string:

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
WITH value WHERE value = ""
RETURN value

╒═══════╕
│"value"│
╞═══════╡
│""     │
└───────┘

It’s not there either! Hmm what’s going on here:

WITH [null, "null", "", "Mark"] AS values
UNWIND values AS value
RETURN value, value = "" AS isEmpty, value <> "" AS isNotEmpty

╒═══════╤═════════╤════════════╕
│"value"│"isEmpty"│"isNotEmpty"│
╞═══════╪═════════╪════════════╡
│null   │null     │null        │
├───────┼─────────┼────────────┤
│"null" │false    │true        │
├───────┼─────────┼────────────┤
│""     │true     │false       │
├───────┼─────────┼────────────┤
│"Mark" │false    │true        │
└───────┴─────────┴────────────┘

null values seem to get filtered out for every type of equality match unless we explicitly check that a value ‘is null’.

So how do we use this knowledge when we’re parsing CSV files using Neo4j’s LOAD CSV tool?

Let’s say we have a CSV file that looks like this:

$ cat nulls.csv
name,company
"Mark",
"Michael",""
"Will",null
"Ryan","Neo4j"

So none of the first three rows have a value for ‘company’. I don’t have any value at all, Michael has an empty string, and Will has a null value. Let’s see how LOAD CSV interprets this:

load csv with headers from "file:///nulls.csv" AS row
RETURN row

╒═════════════════════════════════╕
│"row"                            │
╞═════════════════════════════════╡
│{"name":"Mark","company":null}   │
├─────────────────────────────────┤
│{"name":"Michael","company":""}  │
├─────────────────────────────────┤
│{"name":"Will","company":"null"} │
├─────────────────────────────────┤
│{"name":"Ryan","company":"Neo4j"}│
└─────────────────────────────────┘

We’ve got the full sweep of all the combinations from above. We’d like to create a Person node for each row but only create a Company node and associated ‘WORKS_FOR’ relationshp if an actual company is defined – we don’t want to create a null company.

So we only want to create a company node and ‘WORKS_FOR’ relationship for the Ryan row.

The following query does the trick:

load csv with headers from "file:///nulls.csv" AS row
MERGE (p:Person {name: row.name})
WITH p, row
WHERE row.company <> "" AND row.company <> "null"
MERGE (c:Company {name: row.company})
MERGE (p)-[:WORKS_FOR]->(c)

Added 5 labels, created 5 nodes, set 5 properties, created 1 relationship, statement completed in 117 ms.

And if we visualise what’s been created:

Graph  15

Perfect. Perhaps this behaviour is obvious but it always trips me up so hopefully it’ll be useful to someone else as well!

There’s also a section on the Neo4j developer pages describing even more null scenarios that’s worth checking out.

The post Neo4j: How do null values even work? appeared first on Mark Needham.

Categories: Blogs

14 extensions that can enrich your daily VSTS usage

Xebia Blog - Wed, 02/22/2017 - 23:54
Using VSTS on a daily basis I find that I add a regular list of VSTS Marketplace extensions to my VSTS environment. I find them convenient and helping me to get the most out of VSTS. The list below is primarily focussed on the Work and Code area and not so much on the Build
Categories: Companies

The Eupsychian Manager

TV Agile - Wed, 02/22/2017 - 17:24
The word eupsychian (pronounced ‘you-sigh-key-un’) was coined by Abraham Maslow. It comes from ‘eu’ meaning good (e.g. euphoria) and ‘psyche’ meaning mind or soul. Eupsychian means ‘having a good mind/soul’ or ‘towards a good mind/soul’. Maslow’s research into organisations in the 1960s showed that productivity is directly linked to the level of safety and self-actualisation […]
Categories: Blogs

Continuous Improvement: Clarity Before Speed

Scrum Expert - Wed, 02/22/2017 - 15:45
Learn which building blocks help you to create the culture of systematic improvement in a software development organization and a Scrum team. This talk discusses how the Deming cycle – Plan-Do-Check-Act has been applied concretely in an R&D organization to ensure that the operational development is done systematically. The practices have been evolving during couple of years and the talk will also share the lessons learned from this journey. How are you planning your improvement actions? How are they recorded? Are you following their progress? Do you know whether they are giving you the expected results? Are the improvement initiatives taking you to the right direction? In overall, how is your team managing the continuous improvement? Continuous improvement is one of the cornerstones of the Lean and agile methodologies (e.g. Kaizen & retrospective practices). Even though the basic idea is quite clear, it is often forgotten that it requires real effort to implement this as part of the everyday work. It is also essential to see the relation between the continuous improvement and the bigger picture. There is an increasing pressure to speed up the release cycles and to achieve continuous delivery mode which requires deliberate actions. This transformation is neither done with one shot. Thus a systematic way to improve the way of working is needed to make the continuous delivery successful. The talk is targeted to people who are interested to enhance their continuous improvement practices or are interested to hear concrete experiences from a large scale organization. [...]
Categories: Communities

New features in Xcode 8.2 Simulator

Xebia Blog - Wed, 02/22/2017 - 15:01
In the release notes of Xcode 8.2, Apple introduced features for their new version of Xcode. In this blog I will explain how to use these new features. Read more
Categories: Companies

E-Shaped Staff

Leading Agile - Mike Cottmeyer - Wed, 02/22/2017 - 15:00

Because organizations rely on an ever increasing number of technologies, we often wind up with an increased number of specialists on staff.  When departments over-specialize, they develop silos and increase the number of organizational dependencies.  Everything begins to require multiple handoff and things slow down.  To counter silos and increase the flow of value moving through the system of delivery, we often encourage cross-functional teams with more “T-shaped” generalized-specialists. 

Now, I’m currently reading The DevOps Handbook: How to create world-class agility, reliability, and security in technology organizations [1].  For anyone who has read (or currently reading) the Phoenix Project, read this book next. In addition to this, my colleague Jim Hayden recently pointed out a passage that got my attention.  On page 86, there is a table that compares I-shaped, T-shaped, and E-shaped staff. That table is based on a 2012 blog post by Sarah DaVanzo.  It inspired me to make a few changes to the table below and write this blog post.

A comparison of i-shaped, t-shaped, and e-shaped staff

I-shaped (Specialist)

The vertical stroke of the “I” is a depth of skill that allows someone to contribute to the creative process. They can be from any number of different fields to include: a developer, an architect, a tester, or an analyst.  In organizations still utilizing a Waterfall model for application development, one can find specialists in functional phased groups. Having too many specialists can result in an increase of bottlenecks and frequency of ridged handoffs. In short, they create dependencies. These people are insensitive to downstream impacts and unwilling to help beyond their primary job.  You may literally hear them say,

That’s not my job.

T-shaped (Generalized Specialist)

The term “T-shaped person” was coined by IDEO Chief Executive Tim Brown. When recruiting, IDEO assessed candidates based on both their breadth and depth of experience.  In a 2010 interview with Chief Executive Magazine, Brown explained what a T-shaped person is:

The vertical stroke of the “T” is a depth of skill that allows them to contribute to the creative process. That can be from any number of different fields: an industrial designer, an architect, a social scientist, a business specialist or a mechanical engineer.

The horizontal stroke of the “T” is the disposition for collaboration across disciplines. It is composed of two things. First, empathy. It’s important because it allows people to imagine the problem from another perspective – to stand in somebody else’s shoes. Second, they tend to get very enthusiastic about other people’s disciplines, to the point that they may actually start to practice them. T-shaped people have both depth and breadth in their skills.

Since then, in the Agile community, the T-shaped staff member has become synonymous with a generalized specialist.  You may hear someone is a developer by trade but is willing to roll up their sleeves when needed, to help test, clarify user story acceptance criteria, or fulfill some other team obligation.  This will help remove bottlenecks and lessen the frequency of ridged handoffs. These people are sensitive to downstream impacts and willing to help beyond their primary job.

E-shaped (NextGen Specialist)

I note the term “E-shaped” was first referenced in the 2010 DaVanzo post. From there, I’m going to take some liberty to redefine it as the next generation (NextGen) of specialist for an Agile team.

The vertical stroke of the “E” is expertise in a few areas, to allow the specialist to contribute to the team. That can be from any number of different fields, just as we noted for the vertical stroke of the T-shaped people.

The first horizontal stroke of the “E” is experience.  Not only do we want people with expertise in a few areas, we also want experience across several areas.

The second horizontal stroke of the “E” is execution. We need a specialist with proven execution skills.

The last horizontal stroke of the “E” is exploration. These people should always be looking of ways to improve their craft or learn new skills.

If you can locate and employ these next generation specialists, your team will have almost limitless potential.

[1] Kim, G., Willis, J., & Debois, P. (2016). The Devops Handbook: How to create world-class agility, reliability, and security in technology organizations. United States: IT Revolution Press.

The post E-Shaped Staff appeared first on LeadingAgile.

Categories: Blogs

First Steps in gRPC Bindings for React Native

Xebia Blog - Wed, 02/22/2017 - 14:54
When you want to use gRPC in your React Native app there is no official support yet, but that shouldn’t stop you! In this post I’ll show you how we designed an implementation with type safety in mind and successfully called a service remotely from React Native on Android. Read more
Categories: Companies

A conversation about My Personal Agility

Scrum Breakfast - Wed, 02/22/2017 - 11:27
Next week, I will be giving a webinar on My Personal Agility for the Discussing Agile group in India. Yesterday I spoke with host Piyali about the essentials of My Personal Agility. What started out as a way to get more get stuff done has become a way to do more that matters and recognize who you are and who you are becoming.

We talked about how it works and what it can do for you:




Next week in the webinar we'll talk about how you can get started! Have post-its and some wall space ready, because we are going to get practical! You find out about the Personal Agility Webinar Workshop on Discuss Agile web site page. See you there!




Categories: Blogs

Is There Life Beyond Scrum?

Leading Agile - Mike Cottmeyer - Tue, 02/21/2017 - 19:51

When Scrum was first defined, it addressed a number of issues that plagued IT organizations of the 1980s. Functional silos and their key side-effect, cross-team dependencies. Lack of clear communication. Extended lead times. Poor alignment of solutions with needs. High defect rates. More.

To this day, Scrum continues to be a valuable tool for teams and organizations that are operating in a traditional way, or that have achieved a certain level of basic proficiency with lightweight methods based on Lean and Agile thinking. As with any tool, Scrum is useful in situations where its characteristics are helpful, and when it’s applied mindfully and appropriately.

Scrum has helped, and continues to help many organizations get started on their Lean/Agile journey. It’s still an appropriate choice in many situations. There’s nothing wrong with it. At LeadingAgile, we use, recommend, teach, and coach Scrum quite a lot. It doesn’t fit every situation, but where it does fit, it fits very well indeed.

The Scrum cult

Scrum has been phenomenally successful. It may be the single most widely-used method for delivering software solutions, with the possible exception of the venerable and popular Random Method, and the widely-used Random software engineering technique, Copy-and-Paste-from-StackOverflow. But Scrum’s success has led to a curious phenomenon: A sort of Scrum cult has emerged. Scrum is All Things Good. Scrum is The Answer. Scrum is the End Game. There is nothing more beyond Scrum.

When you ask a Scrum cultist where a team or organization might go after Scrum, they look at you as if they can’t process the question. It’s as if you asked a Christian where you go after you’ve died, gone to heaven, and died in heaven. They look at you quizzically, because in their worldview there’s nothing beyond heaven; it’s the “end state.” You don’t “die in heaven.” They can’t process the question. Scrum cultists have the same mentality regarding Scrum. There’s nothing beyond Scrum; it’s the “end state.”

Continual improvement

But to a person who has internalized the idea of continual improvement, there is no end state. Continual improvement is like Jonathan Livingston Seagull, or maybe a really hard video game, in which conquering one level leads to another level. Or you could say it’s like attending school. When we graduate pre-school, we become beginners in elementary school. When we graduate elementary school, we become beginners in middle school. When we graduate middle school, we become beginners in high school. When we graduate high school, we become beginners at university.

When we graduate university, we become beginners in a Masters program or in the work force. As we progress through our careers, we reach numerous milestones in our professional growth, but we never reach a permanent end state. We become beginners again and again, at different levels.

One more metaphor

I sometimes liken Scrum to Forrest Gump’s braces. In the movie, Forrest Gump, the title character wears braces on his legs as a child. He needs the braces to stand and walk. Then the day comes when he’s ready to run. At that stage, the braces are a hindrance. In the film, the title character starts to run, and the braces begin to break apart. Piece by piece, they fall away, leaving his legs free to carry him smoothly.

As an Expedition progresses through the LeadingAgile Basecamps on its Agile journey, it requires guidance and structure appropriate to its level of proficiency with lightweight methods; its ability to apply Lean and Agile thinking in practice. Teams in the Expedition that are burning down a backlog of planned features can benefit greatly from Scum when they are in the early stages of learning Agile. You could say that Scrum helps these teams learn to stand and walk. It adds value at least through Basecamp 3, and possibly further.

What we really want to see is Expeditions, and whole organizations, start to run. When they reach the stage that they’re ready to run, Scrum can be the same kind of hindrance as Forrest’s braces. Scrum practices can fall away naturally as teams learn to achieve the same goals with less ceremony. If we don’t allow the braces to fall away, we’re impeding the teams’ ability to progress.

Scrum practices can fall away naturally as teams learn to achieve the same goals with less ceremony

Cult? What cult? I don’t see no cult!

You may disagree that there’s any such thing as a Scrum cult. Disagreement is okay. But if the observation is valid, then what might have caused the emergence of a cult around Scrum?

I’ll make the personal observation that the vast majority of Scrum (and Agile) coaches have never seen or experienced what can happen once an organization truly internalizes Lean and Agile values and moves beyond the novice level with these approaches. Most coaches introduce novice practitioners to the basics of Lean and Agile (and Scrum), and then move on to another client where they introduce the basics again.

And again and again and again.

The best organizations and the best teams they ever see are those that have managed to achieve a reasonably good level of proficiency with basic, by-the-book Scrum (or some sort of Scrum-like hybrid).

But that’s not the “end state.” There’s more.

Value and overhead

A key concept in the Lean school of thought is customer-defined value. Time spent in activities that directly add customer-defined value to a product is deemed “value add time.” All other time is deemed “non-value add time.”

The distinction is often misunderstood, as it differs from conventional thinking about value. Conventionally, we consider anything that helps us deliver value to customers to be useful and possibly necessary. Things that are useful and/or necessary to get the job done surely are valuable, right? Sure, in the casual sense of the English word, “valuable.”

Consider a financial institution that offers services to customers. All services must comply with government regulations designed to protect consumers and the national economy from errors and unethical actions that might do harm. Conventional thinking tells us the things we do to assure compliance are valuable. We may well invest additional time and effort in compliance activities just to be really sure we’re doing it well.

When we look at the same situation through a Lean lens, we perceive that customers are willing to pay for certain services. They have a baseline expectation that their transactions will be accurate, ethical, and safe, but they don’t think about those things as part of what they’re paying for. They only intend to pay for the service they want. The time we spend in maximizing the direct value of those services is value add time, and the time we spend to support necessary overhead items such as compliance is non-value add time. We may well invest some effort in seeking ways to minimize compliance overhead.

Similarly, customers do not wish to pay us to fix our own bugs. If we create a bug, that’s our problem, not our customers’. Therefore, from a Lean perspective, bug-fixing, remediating technical debt, and production support—even testing—are non-value add activities. A Lean thinker will seeks ways to minimize the time spent on such activities. A conventional thinker might only think about improving how they do these things, rather than looking for ways to eliminate the need for them.

No doubt you can see how this minor shift in perspective helps us identify potential areas of improvement in our delivery processes. Every minute spent on non-value add activities is a minute lost to value add activities. But what does this have to do with Scrum, or with the supposed “cult” of Scrum?

From walking to running

As mentioned above, Scrum was created in an era when certain organizational and procedural problems were endemic to large-scale IT organizations. It was designed to address several of those problems directly. Its three roles—Product Owner, Scrum Master, and Development Team—represented a sharp change from the then-common manager-driven hierarchical organizational structure and “matrix” assignment of so-called “resources” (meaning humans) to multiple projects concurrently.

Many IT organizations needed something like Scrum to help them stand and walk. The Product Owner mitigated the generally poor communication between business stakeholders and the IT organization. The Scrum Master mitigated the generally poor understanding of effective delivery processes on the part of IT staff. The Delivery Team brought together individual specialists from various functional silos to create a cross-functional team, significantly reducing communication delay and misunderstandings.

But that was the 1980s, hanging over into the 1990s. There are still organizations operating as they did in the 1980s, but the industry as a whole has long since moved on. Does Scrum help an organization in which communication between business stakeholders and the IT organization is already good? How about an organization in which the staff understands and uses effective delivery methods? How about an organization in which staff routinely collaborate across individual specialties and are accustomed to transparency? How about an organization that already delivers small batches incrementally and on a short time scale?

In other words…what about an organization that has learned how to stand and walk, and is ready to run?

From a Lean perspective, every role, every artifact, and every event defined in Scrum is overhead. Scrum itself is not what customers buy. It isn’t what they want to buy. It’s a way of delivering what they want, but it isn’t The Thing they want. A conventional thinker will think of ways to “do Scrum better.” And maybe that’s exactly what they should be doing, based on where they are in the journey at the moment. A Lean thinker will seek ways to minimize the overhead of using Scrum, with the eventual goal of making Scrum unnecessary. That’s quite a different goal.

The rub

To outgrow the need for Scrum is a fine goal, but you have to earn it. To earn it, you have to understand the substance of what Scrum is helping you achieve; merely following the prescribed practices isn’t sufficient for that. A novice delivery team can’t arbitrarily discard Scrum, just because they recognize it as overhead. Teams must learn to achieve the same goals and deliver the same value without the overhead of Scrum. Then the braces can fall away.

Scrum cultists will chafe at the word “overhead” here, but the reality is that there’s always some form of overhead in any process. Lean thinkers prioritize “eliminating waste from the process” third, behind “focus on value” and “maintain continuous flow.” They know some overhead is inevitable, necessary, and ultimately all to the good. The trick is to minimize non-value add time while still fulfilling all necessary requirements.

In their book, Lean Thinking, Womack and Jones distinguish between two types of non-value add activity, or muda. (That’s Japanese for “non-value add activity.”) Type 1 muda comprises activities that don’t help in any way and are only performed out of habit. These activities can simply be stopped, with no downside impact.

Type 1 muda could be, for instance, preparing three different status reports about the same tasks in three different formats for three different managers, or entering the same information about hours worked into four different time tracking systems. (But those examples are absurd, of course. Who would do that?)

Type 2 muda comprises activities that are necessary to get the job done, but that don’t directly add customer-defined value to a product. The goal here is to minimize the overhead involved in carrying out these activities. This could include, for instance, governance review procedures to ensure information security standards were followed in developing an application, or functionality built into an application to track data for auditors. Bake the security standards into your development process, and you can dispense with the review step in the delivery pipeline. Build logging into your reference architectures, and you can dispense with any extra effort to satisfy auditors.

The process of the braces falling away piece by piece naturally involves the organization and the teams within it learning to satisfy all the ancillary requirements surrounding the product with a minimum of effort, time, and cost. As these requirements become ingrained in the delivery process, overhead activities to double-check them become less necessary.

Full circle

As an example, let’s home in on one of the factors that Scrum addresses: Predictable delivery. Business stakeholders in the 1980s and 1990s were constantly asking IT organizations “How long will it take to deliver X?” IT professionals came up with various ways to estimate the time they would need to deliver X. Some are formal and some informal, and may be based on experience, calculation, statistics, heuristics, empiricism, or a combination.

Customers won’t place an order for an estimate. They may want to know how long it will take you to deliver a solution, but they don’t expect to pay you just for the estimate. If customers aren’t intentionally buying estimates, then the time you spend preparing estimates is muda.

During the years when estimation was regarded as a core competency of software development rather than as an overhead activity, delivery performance continued to be unpredictable. Sure, some teams boasted that their estimates were always within 5% of actuals, but this was almost always gamed; they padded the estimates enough that they could make their numbers look the way management wanted the numbers to look.

Scrum as such doesn’t define an estimation method, but teams tend to use certain methods more than others with Scrum. A novice Scrum team may estimate User Stories in terms of clock time. This doesn’t do much to improve predictability, but it does help the team get into the habit of decomposing work into small pieces and thinking about what’s involved in delivering the pieces.

As they gain proficiency with Scrum, the team may estimate in terms of ideal time, applying a load factor to their planned capacity to account for interruptions such as meetings and production support issues. Usually, they begin to see some improvement in predictability.

As they progress, the team begins to understand what their Scrum coach meant all these past weeks or months when she told them to stop thinking about time and to think about relative size instead. They shift from time-based estimation to relative sizing of User Stories based on a scale of arbitrary points.

Initially they may peg points to time (e.g., “One point is half a day”), but sooner or later they drop that. Now they see significant improvement in predictability, because they are planning their work based on their own demonstrated delivery performance in the recent past. This is empiricism, consistent with the Scrum approach.

Throughout these early stages, the discussions surrounding estimation serve another purpose: They help build shared understanding about the problem space, the solution space, design considerations, and acceptance criteria. These are among the things a team must learn to do in other ways before they can dispense with story-level estimation.

Continuing to mature in Agile thinking and practice, the team gradually learns to decompose and structure User Stories into reasonably same-sized chunks. Eventually they discover most of their stories seem to be of the same size. They stop using relative points and just count stories instead. This reduces their planning overhead without sacrificing predictability. (They couldn’t have dispensed with estimation in the beginning; at that time, they didn’t know how to achieve predictable delivery without it.)

At this stage, everyone can see approximately how long each User Story takes to deliver. The team has gone full circle, and can now answer the question “How long will it take to deliver X?” directly, in terms of clock time, just the way stakeholders need it to be answered.

A piece of their braces—story sizing or estimation—can fall away naturally. In Lean terms, they have reduced the planning overhead necessary to deliver customer-defined value. Similarly, teams can learn to deliver effectively without other pieces of the braces, too. It may not be intuitively obvious how to achieve this, and that’s why it’s helpful to work with guides who have been there and done that.

The post Is There Life Beyond Scrum? appeared first on LeadingAgile.

Categories: Blogs

How the Product Manager and the Product Owner Role Are Different

Scrum Expert - Tue, 02/21/2017 - 19:28
The notion of product is important in Scrum. Many qualify it as a product development approach rather than a project management framework. The product owner role is responsible that the production of the Scrum team meets the requirements of the customers and deliver value for the organization. This role is often compared to the role of product manager. In his article “Mapping the Product Manager Role to the Product Owner Role”, Sriramasundararajan Rajagopalan discusses if a product manager is the same as a product owner. Sriramasundararajan Rajagopalan starts his article by presenting the responsibilities of the product manager in the product development activities based on the RACI (Responsible, Accountable, Consulted, Informed) approach. The same matrix is build for the product owner. The conclusion of these two analyses is that Scrum adds much more accountability to the product owner role compared to the product manager role. Sriramasundararajan Rajagopalan think that there is a conflict between the main focus of the product manager that is on market research and product strategies and the requirements of the product owner role that need to collaborate heavily with the Scrum team. How can the same person have enough time perform successfully these two activities, especially in organizations where the product manager not only manages one product but a suite of products within a product portfolio? The conclusion of the article is that “It is evident that the traditional product manager may be pressed to manage the expectations of the external client and address the questions [...]
Categories: Communities

Insights into Agile Transformation Success, Part 2

BigVisible Solutions :: An Agile Company - Tue, 02/21/2017 - 18:00
Agility at the Product, Delivery & Execution Levels

Contributors: Mike Dwyer and Richard Lowery

SolutionsIQ is passionate about helping enterprises successfully kick off and execute large-scale Agile Transformations. In our first blog article on this topic, we introduced our five-dimension model for setting up an Agile Transformation for success, and we looked into the first two dimensions: Leadership and Organization. In this continuation of that discussion, we’d like to iterate on this a bit further with the remaining three dimensions of a successful Agile Transformation: Product, Delivery and Execution.

Product

We have observed a direct correlation between the level of investment in the Product Owner role and the overall degree of success in achieving the desired outcome of an Agile Transformation. The correlation between Product Ownership and Agile Product Management, however, is not one-to-one, as traditional product and portfolio management roles change in an Agile enterprise. In our findings, enterprises

that invest heavily in product ownership and product management skillsets tend to have the most enduring and pervasive success with Agile Transformation. In particular, Product Owners champion the new Scrum roles of the teams they support, which includes embracing the responsibilities of their own role. Some POs also invest in training and coaching people to be successful in their new roles. A solid product ownership foundation is critical because only by getting the basics down can the enterprise unlock certain higher-order capabilities, including portfolio management, product vision and product roadmaps.

These product management best practices are crucial for many organizations because often the people fulfilling the Product Owner role have no formal training or background in classic product management. Focusing on creating a clear, effective working relationship between Product Owners and Product Managers is another indicator of success for Agile transformation.

Delivery

Delivery focuses on the practices and processes of teams and groups of teams delivering a project, program, or product. This includes how well individual teams and sets of teams are using Agile frameworks like Scrum and Kanban, how Lean is being applied to other aspects of value streams, and the enterprise’s success with Agile scaling patterns and frameworks like LeSS and SAFe.

In our findings, the enterprises succeeding in their Agile transformation pay much attention to getting the core Agile foundations right from the start. This is critical given that key success indicators such as release planning and scaling patterns are all built on top of solid foundations of Agile-Lean knowledge of Scrum, Kanban, and XP. Enterprises that have lasting success with Agile Transformation typically have a small army of highly effective ScrumMasters who are evangelizing both the core foundations of the frameworks as well as the overall goals for that enterprise’s Agile transformation.

It is critical to focus heavily on the Agile Foundations at the team level.  Many enterprises will first introduce Agile Coaching at the team level in a pilot program so they can first understand the sets of impediments that are likely to prevent team success. Then when that is understood clearly and the team starts to see change in the right direction, the organization can build upon this success with a much broader team coaching plan. Eventually the enterprise layers on top a scaling solution which will allow the organization to have delivery success on a large scale.

One company we recently worked with showed a lot of capability at the Delivery layer and can serve as a model for other organizations to emulate.  The company came to the realization that it was critical to invest heavily in foundational Agile training for teams. They decided to offer Agile coaching for teams and to creating a cadre of highly effective ScrumMasters.  In addition, they had dedicated teams with focus and little to no context switching.  These investments in laying down a firm Agile foundation and investing Agile teams allows them to execute multi-team release planning events today with a high degree of effectiveness and predictability.

Execution

For every company that has had success with the Delivery side of an Agile transformation, there are just as many who aren’t seeing that success because they haven’t made the commitment to transform into a modern Agile software development shop. This is why we put so much emphasis on technical execution in our Agile transformation strategy. Simply put, Execution is what enable the enterprise to see faster delivery cycles, higher quality with fewer (if any) defects, etc. Other benefits seen include a higher degree of innovation, higher collaboration and transparency, and more dependable delivery estimations. The technical practices that yield these results stem mainly from Extreme Programming (XP), including test-driven development with test automation, refactoring, code smells, technical debt remediation.

In our findings, the organizations investing heavily in test automation are having large-scale success with Agile. They also ensure that:

  • Software engineering best practices such as unit testing are being used all the time.
  • Technical debt is being tracked and time is set aside to remediate this debt.
  • Delivery progress is transparent and radiated to all stakeholders.

Clients seeing the most success have also have made investing in their software development and testing environments a priority. In the future, through such an investment, they will be able to use higher-order modern software engineering practices such as Unit Test Driven Development, Acceptance Test Driven Development (ATDD), pair programming, mob programming, and self-organized, cross-functional teams. These high-performance practices are made possible directly and indirectly from transformative changes at the organizational and leadership levels. A higher expectation of peer involvement, knowledge sharing, and collaboration within teams is a key element of Agile transformation, which gives rise to an improved sense of community that expands well beyond the development teams.

Summary

Looking back on 2016, SolutionsIQ continues to be thrilled by how many of our clients have achieved enduring and pervasive success with their Agile transformations. Very little of that success was pure luck.  In every example of success, there was a deliberate and focused strategy for how to establish and execute the transformation to Agile. To this end, we have identified five key dimensions in a successful Agile Transformation strategy: Leadership, Organization, Product, Delivery and Execution. Within each of these five dimensions there are a number of common patterns for success. Enterprises that are succeeding in their Agile transformation are putting emphasis on the following areas:

 

If your enterprise is about to start your own Agile Transformation in 2017, or you’re concerned that you have not been realizing the long-lasting success you had originally hoped for from your Agile Transformation, consider replicating some of these success patterns as part of your overall strategy and roadmap.

Be the first to get your hands on the white paper “Insights into Agile Transformation Success” — sign up for our AgileUp newsletter!

The post Insights into Agile Transformation Success, Part 2 appeared first on SolutionsIQ.

Categories: Companies

Cost of Implementing Continuous Integration

NetObjectives - Tue, 02/21/2017 - 15:25
Someone in your organization is telling you, "We really need to implement Continuous Integration." They have probably told you many reasons how and why your development organization will be much better, faster, higher quality, efficient, etc. once you have Continuous Integration in place. They are absolutely right - I also am convinced that if you implement Continuous Integration you will gain...

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]
Categories: Companies

Treasure Hunt Retrospective

Growing Agile - Tue, 02/21/2017 - 11:21
Just before our last month end retro, Sam needed to leave the office. I decided to surprise her by planning a treasure hunt retro for when she returned. I wanted to do something a little fun and different for our retrospective, so I decided to incorporate movement around our office between each step. I thought […]
Categories: Companies

Article 6 in SAFe Implementation Roadmap series: Create the Implementation Plan

Agile Product Owner - Tue, 02/21/2017 - 02:02
Click to enlarge.Click to enlarge.

In the sixth ‘critical move’ in the SAFe Implementation Roadmap series, we tackle how to Create the Implementation Plan. This is where the rubber meets the road in a SAFe implementation, as it sets in motion the first real and tangible changes to individual and organizational behavior.

While all steps in the Roadmap are critical, and you want to do your utmost to get them right from the start, creating the Implementation Plan is all about taking an incremental approach, and allowing yourself to ‘plan a bit, execute a bit, and learn a bit. Then repeat.’

In this article, we discuss:

  • Picking the first value stream
  • Selecting the first ART
  • Creating a preliminary plan for additional ARTs and value streams

You’ll also find a handy little tool, the Value Stream Canvas, that will help you capture how things work now, and how they’re intended to work in the future.

Read the full article here.

As always, we welcome your thoughts so if you’d like to provide some feedback on this new series of articles, you’re invited to leave your comments here.

Stay SAFe!
—Dean and the Framework team

Categories: Blogs

Groundhog Day at the Agile Transition Initiative

Agile Complexification Inverter - Mon, 02/20/2017 - 22:21
Now that everyone knows about Bill Murray's movie Groundhog Day - I love February 2nd.  It's my favorite, most enjoyable, beloved, cherished, esteemed day of the year.  And I don't need to tell you again how many LIKES I give this redundant day... so on to the story.

Bill & Groundhog
Well this happened about ten years ago, and about 6 years ago, or maybe it was 4 years past, and seems like we did this about 24 months ago...  or it could be today!

The Agile Transition Initiative at the company has come upon an inflection point (do ya' know what that is...  have you read Tipping Point?).  I'm not exactly sure of it's very precise date... but Feb. 2nd would be the perfect timing.   The inflection has to do with which direction your Agile Transition Initiative takes from this point into the future.   Will it continue on it's stated mission to "transform" the organization?  Or will it stall out and revert slowly to the status quo?

How do I recognize this perilous point in the agile trajectory?  Well there are several indications.  But first we must digress.



Punxsutawney Phil Says more Winter in 2017In this story we will use the germ theory as a metaphor.  Germ theory came about in about ... (wait - you guess - go ahead ...  I'll give you a hundred year window... guess...). That's right! "The germ theory was proposed by Girolamo Fracastoro in 1546, and expanded upon by Marcus von Plenciz in 1762."  Wow, we've know about these little buggers for a long time.  And we started washing our hands ... (when...  correct -again).  "The year was 1846, and our would-be hero was a Hungarian doctor named Ignaz Semmelweis."  So right away business (society) started using a new discovery - a better way to treat patients.... or well it took a while maybe a few months, or maybe  more than 300 years.

But back to the metaphor - in this metaphor the organization will be like a human body and the change initiative will take the roll of a germ.  The germ is a change introduced to the body by some mechanism we are not very concerned with - maybe the body rubbed up against another body.  I hear that's a good way to spread knowledge.

We are interested in the body's natural process when a new factor is introduced.  What does a body do?  Well at first it just ignores this new thing - heck it's only one or two little germs, can't hurt anything - (there are a shit load of germs in your body right now).  But the germs are there to make a home - they consume energy and reproduce (at this point lets call it a virus - meh - what the difference?).  So the virus reproduces rapidly and starts to cause ripples... the body notices this and starts to react.  It sends in the white-blood cells - with anti-bodies.  Now I don't understand the biological responses - but I could learn all about it... but this is a metaphor and the creator of a metaphor may have artistic license to bend the truth a bit to make the point.  Point - WHAT IS THE POINT?

The point is the body (or organization) will have a natural reaction to the virus (change initiative) and when the body recognizes this change it's reaction (natural - maybe call it subconscious - involuntary).  Well let's just say it's been observed multiple times - the body tries very hard to rid itself of the unwanted bug (change).  It may go to unbelievable acts to get rid of it - like tossing all it's cookies back up - or squirting all it's incoming energy into the waste pit.  It could even launch a complete shutdown of all communication to a limb and allow it to fester and die, hopefully to fall off and not kill the complete organism.  Regaining the status quo is in the fundamental wiring of the human body.  Anything that challenges that stasis requires great energy to overcome this fundamental defense mechanism.

[Pop the stack.]  So back to the indicators of the tipping point in agile transitions.  Let's see if our metaphor helps us to see these indications.  The tossing of cookies - check.  That could be new people hired to help with the change are just tossed back out of the organization.  The squirts - check.  That is tenured people that have gotten on board with the change being challenged by others to just water it down... make it look like the things we use to do.  Heck let's even re-brand some of those new terms with our meanings - customized for our unique situation - that only we have ever seen, and therefore only we can know the solutions.  Folks, this is called the Bull Shit Reaction.

Now imagine a limb of the organization that has adopted the new way - they have caught the virus.  There is a high likely hood that someone in the organization is looking at them a "special".  A bit jealous of their new status and will start hoarding information flow from that successful group.  Now true that group was special - they attempted early transition and have had (in this organizations realm)  success.  Yet there was some exception to normal business process that made that success possible.  How could we possibly reproduce that special circumstance across the whole org-chart?  Maybe we just spin them off and let them go it alone - good luck, now back to business.

What's a MIND to do with this virus ridden body and all these natural reactions?

Well we are at an inflection point... what will you do?
Which curve do you want to be on?  - by Trail Ridge Consulting
See Also:

The Fleas in the Jar Experiment. Who Kills Innovation? The Jar, The Fleas or Both? by WHATSTHEPONT


Categories: Blogs

Does SAFe apply to small teams?

Agile Product Owner - Mon, 02/20/2017 - 18:20

Recently, I heard from my colleague and long-time collaborator, Juha-Markus Aalto. Back when we were in the Agile working group trenches at Nokia, Juha-Markus was responsible for some of the initial, critical thinking behind what became SAFe. Specifically, he helped define the “requirements metamodel”, which arsm-med-largee the elements and relationships throughout the important system definition artifacts in the Framework. (Epics, Features, Stories, associations with tests and acceptance criteria, etc.) In turn, this helped unlock the ability to scale Agile from the team, to program to portfolio level. I have always appreciated his deep thinking, technologic competence, and humble manner.

Juha-Markus is now in a growth company Qentinel, and is applying his creative thinking as the leader of Product Development . His new team is still at the “S size” but if the company grows as planned, the team will likely grow as well. Even this small team faces the multi-project challenge as it delivers software to several customer specific projects, which requires common planning and portfolio prioritization. Juha-Markus is leveraging the concepts behind SAFe in his S-sized team. Of course, it works. But just how it works is proving to be an interesting topic, which Juha-Markus describes in his new blog post.

We would love to hear your comments on this article, as I think it could provide sufficient benefit to turn into a SAFe guidance article. For that, we require some additional opinions and peer review, so please ‘peer away.’

Stay SAFe!

-Dean and the Framework team

 

Categories: Blogs

Knowledge Sharing


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