Skip to content


Partnerships & Possibilities, Episode 4, Season 6: Virtual Teams, Real Challenges

Partnership & Possibilities - Diana Larsen - Fri, 12/19/2014 - 14:05

Partnerships & Possibilities: A Podcast on Leadership in Organizations

Photo Credit: martinhoward via Compfight cc

[Introduction] FutureWorks is a virtual team.

[01:00] In HBR’s newest issue, “Getting Virtual Teams Right” by Keith Ferrazzi.

[03:00] You can model three tiers of team members – core, operational, and outer.

[05:45] Calculate your team’s virtual distance – factors that exacerbate the challenges for a given team.

[09:00] Operational distance as opposed to Physical distance.

[10:00] Affinity distance.

[13:00] How many managers stop to think: “How I recruit, assemble, and construct this team will have a big impact on the outcomes I will get from them”?

[16:30] The moment “us” and “them” begins to form on a team, trust and therefore performance, erodes.

[18:40] When management begins to consider putting together cross-functional teams, it is worthwhile to pass out copies of Ferrazi’s article to everyone, and ask – “Have we considered all these factors?”

Harvard Business Review: Getting Virtual Teams Right

Agile Software Development With Distributed Teams by Jutta Eckstein
The Year Without Pants by Scott Berkun

Categories: Blogs

The Sweet Spot of Customer Demand Meets Microsoft Supply

J.D. Meier's Blog - Thu, 12/18/2014 - 19:10

Here’s a simple visual that I whiteboard when I lead workshops for business transformation.


The Sweet Spot is where customer “demand” meets Microsoft “supply.”

I’m not a fan of product pushers or product pushing.  I’m a fan of creating “pull.”

In order for customers to pull-through any product, platform, or service, you need to know the customer’s pains, needs, and desired outcomes.  Without customer empathy, you’re not relevant.

This is a simple visual, but a powerful one.  

When you have good representation of the voice of the customer, you can really identity problems worth solving.   It always comes down to pains, needs, opportunities, and desired outcomes.  In short, I always just say pains, needs, and desired outcomes so that people can remember it easily.

To make it real, we use scenarios to tell a simple story of a customer’s pain, needs, and desired outcomes.   We use our friends in the field working with customers to give us real stories of real pain.  

Here is an example Scenario Narrative where a company is struggling in creating products that its customers care about …


As you can see, the Current State is a pretty good story of pain, that a lot of business leaders and product owners can identify with.  For some, it’s all too real, because it is their story and they can see themselves in it.

In the Desired Future State, it’s a pretty good story of what success would look like.   It paints a pretty simple picture of what would be an ideal scenario …. a future possibility.

Here is an example of a Solution Storyboard, where we paint a simple picture of that Desired Future State, or more precisely, a Future Capability Vision.     It’s this Future Capability Vision that shows how, with the right capabilities, the customer can address their pains, needs, and desired outcomes.


The beauty of this approach is that it’s product and technology agnostic.   It’s all about building capabilities.

From there, with a  good understanding of the pains, needs, and desired outcomes, it’s super easy to overlay relevant products, technologies, consulting services, etc.

And then, rather than trying to do a product “push”, it becomes a product “pull” because it connects with customers in a very deep, very real, very relevant way.

Think “pull” not “push.”

You Might Also Like

Drive Business Transformation by Reenvisioning Operations

Drive Business Transformation by Reenvisioning Your Customer Experience

Dual-Speed IT Drives Business Transformation and Improves IT-Business Relationships

How Business Leaders are Building Digital Skills

How To Build a Roadmap for Your Digital Transformation

Categories: Blogs

Manage Your Project Portfolio is Featured in Colombia’s Largest Business Newspaper

Johanna Rothman - Thu, 12/18/2014 - 17:11

Andy Hunt, the Pragmatic Bookshelf publisher, just sent me an email telling me that Manage Your Project Portfolio is featured in La República, Columbia’s “first and most important business newspaper.” That’s because getabstract liked it!  

la_república_20141204Okay, my book is below the fold. It’s in smaller print.

And, I have to say, I’m still pretty excited.

If your organization can’t decide which projects come first, second, third, whatever, or which features come first, second, third, whatever, you should get Manage Your Project Portfolio.

Categories: Blogs

Soft Skills

Bobtuse Bobservations - Bob MacNeal - Thu, 12/18/2014 - 16:39
Making software is a profoundly human activity. Successfully produced software is made: by teams.for people to use.Interpersonal communication and mindset are increasingly important for...

Bobtuse can be wildly informative
Categories: Blogs

Mathematics cannot prove the absence of bugs

Matteo Vaccari - Thu, 12/18/2014 - 16:08

Everyone is familiar with Edsger W. Dijkstra’s famous observation that “Program testing can be used to show the presence of bugs, but never to show their absence!” It seems to me that mathematics cannot prove the absence of bugs either.

Consider this simple line of code, that appears in some form in *every* business application:


This is a line of software. It’s an assignment of a value to a variable. And there is no mathematical way to prove that this line is correct. This line is correct only IF the given IP address is really the address of the database server that we require.

Not even TDD and unit testing can help to prove that it’s correct. What would a unit test look like?


This test is just repeating the contents of the configuration file. It will pass even if the address is wrong.

So what is the *only* way to prove that this line of code is correct? You guessed it. You must run the application and see if it works. This test can be manual or automated, but still we need a *test* of the live system to make sure that that line of code is correct.

Categories: Blogs

Trust me… Agile just won’t work here…

Leading Agile - Mike Cottmeyer - Thu, 12/18/2014 - 15:18

I usually smile when I hear a statement like this: “Our culture is way too …” fill in the blank “Agile just won’t work here!”

Why do I smile?  I find that people are typically referring to a common belief that in order to be “agile” an organization’s culture needs to be one of “trust”.  The belief is that an organization should trust its people to:

(1) make the right decisions, and
(2) do their best to deliver products and services that will make the business succeed.

All good stuff, very good in fact. But, good or not, its a really steep hill to climb for an organization’s culture to go from (a) low-trust: managing projects for performance against their time, cost and scope commitments while focusing on departmental efficiencies to (b) high-trust: self-managed delivery systems that act responsibly within the available time and budget.

As we see in HBR’s article on organizational culture “Culture is powerfully shaped by incentives”. As a result, we need to figure out how to (a) build trust, and (b) change the incentives. Doing this is actually fairly straight-forward if you are working with your business’ leadership and solving for their issues. What are their issues?  In most organizations, their issues are how to make and meet commitments in a way that is within their defined budget.

Finding Better Ways to Meet Needs

Becoming agile isn’t about using this method or that method. It’s not even about trust. Its about creating a system that can respond to change in a way that creates safety for the business’ leadership by respecting their immediate needs.  So, instead of trying to just go out and be agile, I think we need to start with a business need and find ways to meet it while creating safety for the individuals involved. We need to create a roadmap to go from point a to b.

Most business leaders are desperate for better ways to deliver against their commitments while having the ability to adapt their plans along the way when things change. Most leaders are absolutely thrilled to trust their people; but, remember, to establish the trust we have to be willing to first make and meet commitments in a way that shows them we can be trusted.


The post Trust me… Agile just won’t work here… appeared first on LeadingAgile.

Categories: Blogs

Agile Testing

Scrum Log Jeff Sutherland - Thu, 12/18/2014 - 07:57

Testing is critical to release products. Yet the stories of catastrophic project failures due to inadequate testing are legendary. Obamacare comes to mind as just one very public example. Traditionally, testing has been seen as separate from development, something that is done after the work is complete. Scrum highlights the sometimes painful reality that nothing is done unless it is tested and potentially shippable. An Agile Testing environment requires a shift in mindset by managers, developers, and testers themselves.

This online course will cover the rigorous development and test practices used by the fastest Scrum teams. Using real world examples gathered from years of research, Scrum Inc.’s Joe Justice and  Agile42's Dave Sharrock explain how to implement the most practical, and the most powerful, Agile testing practices in use today. The course covers:
  • Best practices for Test Driven Development, Test First Development, and DevTest
  • The latest thinking on Unit Testing, Integration Testing, Regression Testing, and User Acceptance Testing.
  • Gated Check-in and Rapid Role Back in hardware and software.
  • Tooling to implement these new practices smoothly and quickly.
  • How to implement and manage Agile testing.

All of Scrum Inc.'s online courses are eligible for Project Management Institute PDUs and Scrum Alliance SEUs. For more on how to claim your PDUs and SEUs, visit our FAQ page.


Slide01 Slide01 Slide02 Slide02 Slide03 Slide03 Slide04 Slide04 Slide05 Slide05 Slide06 Slide06 Slide07 Slide07 Slide08 Slide08 Slide09 Slide09 Slide10 Slide10 Slide11 Slide11 Slide12 Slide12 Slide13 Slide13 Slide14 Slide14 Slide15 Slide15 Slide16 Slide16 Slide17 Slide17 Slide18 Slide18 Slide19 Slide19 Slide20 Slide20 Slide21 Slide21 Slide22 Slide22 Slide23 Slide23 Slide24 Slide24 Slide25 Slide25 Slide26 Slide26 Slide27 Slide27 Slide28 Slide28 Slide29 Slide29 Slide30 Slide30 Slide31 Slide31

Download Agile Testing Slides

The post Agile Testing appeared first on Scrum Inc..

Categories: Blogs

Beyond Coding

Agile Coaching - Rachel Davies - Wed, 12/17/2014 - 17:29

Software development on anything more than a pet projects is a collaborative activity. To enable a group of developers to make any headway, some details inevitably need to be hammered out together. However, you probably find that getting agreement within a group of opinionated developers can be difficult at the best of times. Most software developers haven't had training in "soft skills" and you may find it hard to know where to start when a difficult question needs to be thrashed out.

Here are some pointers to areas that you might want to explore beyond the realm of programming languages, methods and frameworks.

Facilitation is all about making conversations easier but even with a clear meeting purpose and agenda, you may find meetings can go around in circles without reaching consensus. To understand some approaches to making group decisions I recommend "Facilitator's Guide to Participatory Decision-Making" which introduces decision making rules. You can also get affordable hands-on training in facilitation from non-profit ICA-UK on Group Facilitation Methods.

Another thing you can do to help meeting participants is to create visible agendas and capture points being discussed concisely. If you want to build more confidence with writing neatly on flipcharts and whiteboards, seek out a course in graphic facilitation where you can pick up tips and practice with other budding facilitators. To improve how you illustrate system dynamics in group discussions, start to practice drawing Diagrams of Effects. Peter Senge's book "The Fifth Discipline" has a an excellent introduction to Systems Thinking and an handy set of system archetypes that you can use in different situations.

There's an old joke: What is the difference between a Methodologist and a Terrorist? You can negotiate with a terrorist! When discussions get heated, it's  handy to know a little bit about negotiation techniques. The Harvard Negotiation Project have put out a few paperbacks and I recommend "Getting Past No: Negotiating With Difficult People" by Fisher and Ury. Another easy read around building trust is "The Trusted Advisor" by Maister, Green and Galford.

Lastly remember that we can improve communication in our teams by starting with ourselves and how we express our own opinions. A good place to start is "Nonviolent Communication" by Marshall Rosenberg. An older book that's worth getting hold of to get a different perspective on the way you share feedback is "The Art of Giving Feedback" by Charles Seashore and Gerald Weinberg.

I hope these resources help you in situations where you need to go outside your comfort zone. Please do let me know if you have other recommended reading to share that goes beyond coding.

Categories: Blogs

MediatR hits 1.0

Jimmy Bogard - Wed, 12/17/2014 - 16:45

I’ve been using a project I wrote/borrowed/stole from a number of internal projects and existing libraries (thanks Matt) for well over a year now, and are releasing to 1.0. MediatR helps turn complex code into simplified request/response interactions, encapsulating queries, commands and notifications into a single, simple interface, collapsing complex controllers into simple pass-throughs to the real work being done:

public class ConferenceController : Controller
    private readonly IMediator _mediator;

    public ConferenceController(IMediator mediator)
        _mediator = mediator;

    public ActionResult Index(IndexQuery query)
        var model = _mediator.Send(query);

        return View(model);

    public ViewResult Show(ShowQuery query)
        var model = _mediator.Send(query);

        return View(model);

    public ActionResult Edit(EditQuery query)
        var model = _mediator.Send(query);

        return View(model);

    public ActionResult Edit(ConferenceEditModel form)
        var conf = _mediator.Send(form);

        return this.RedirectToActionJson(c => c.Show(new ShowQuery { EventName = conf.Name }), "Default");

MediatR lets you send a request to a single handler:

var request = new ApproveInvoiceRequest {
   InvoiceId = invoiceID
ApproveInvoiceResponse response = mediator.Send(request);

Or do it asynchronously:

var request = new ApproveInvoiceRequest {
   InvoiceId = invoiceID
ApproveInvoiceResponse response = await mediator.SendAsync(request);

Or send a notification to a number of handlers:

var notification = new InvoiceApprovedEvent {
    InvoiceId = invoiceId

I’ve talked about the advantages to this pattern many times, and we use this pattern on nearly every project we encounter these days. The goal of MediatR was to create a small, unambitious implementation of the Mediator pattern, tied only to the Common Service Locator library for instantiating handlers and portable, so it works on just about every platform checkbox I could check, including Xamarin.

The GitHub repo has examples for plugging in all the major containers, and the wiki has documentation. Although the library uses Common Service Locator, it’s completely DI friendly too. Ultimately, the compositional tool is your container, and MediatR merely provides the mediation from message A to handler of A. Enjoy!

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Categories: Blogs

The ROI of Multiple Small Releases

Agile Complexification Inverter - Wed, 12/17/2014 - 16:24
In a few minutes how do you explain the benefits of multiple incremental releases to someone new to this agile mindset?  I'm convinced that if I try to use words (which is typically the case when caught in a hallway conversation) or even words and a few quick sketches - I will not do justice to the complex concept.  Why?  Because this concept deals with multiple what if scenarios that play out in long timeframes with little feedback.

So needing to have this conversation today, I had the time to do a search for some help.  And I found this wonderful article and video with a voice over explanation.

Business Benefits of Software Release in Multiple Increments
And there is an interactive Wolfram graphic you can play with yourself.
Now with this link and the video explanation (done with a german accent I think, gives it real authority) - I can solve the problem of coming to that shared understanding.

Categories: Blogs

confessions of a video game addict

Derick Bailey - new ThoughtStream - Wed, 12/17/2014 - 13:00

I LOVE video games! Love them. I’ve been playing them since I was 6 or 8, I think… and I’m still playing them nearly 30 years later.

When the game Destiny was released a few months ago? Picked it up on release day and played WWWAAAAAaaaayyy too much of it. Call Of Duty, Advanced Warfare? Same.

Sometimes felt guilty about how much I played. Sure, I’m all for relaxing and taking a break to recharge. But maybe I was playing too much? I mean, I was still getting the important things done… so… I don’t know.

But then, recently, my friend Matt Kremer got on twitter and started ranting and raving about how it’s not ok to feel guilty about taking time to relax… and he specifically mentioned video games… and I just had to reach out and ask him to write to you, here on my list, to let you know…

So here here is – Matt Kremer, a normal guy who enjoys business, marketing and programming. He has sweet blog at and a podcast where he interviews budding and successful programmers gone entrepreneur. His side-project,, is a real-time collaborative code editor with built in video & voice chat.


[From Matt, to you]

I was going to send out an email to my followers with something along the lines of: “I’ve got something to admit to you guys,” “I feel bad about it, but…” or “I apologize that you haven’t heard from me in a while.” And then I stepped back and took a good hard look at myself.

And this is what I saw:


The truth of the matter is I haven’t worked on my side-project in a month. In fact, I spent a good hour trying to draw that awesome picture instead of working on my side project. I’m pretty confident I’m almost as good as Derick.

So here’s the real deal: I’ve got a full-time job, a wife, a 10 month old son, a blog, a podcast and a side-project with paying customers.

Normally you hear from “internetprenuers” when they are in “always on mode.” You know what I’m talking about. It’s that beastmode where they are writing blog posts every single day, launching new features for their app, marketing the bejesus out of their products and talking about how if you just work harder and do what they do you can be a bazillionaire. A bazillionaire I tell you!

That’s an absolute load of crap.

I’ll tell you what I’ve spent the past 30 days doing: playing video games, spending time with my kid and drinking beers with my wife while we watch Netflix. And I feel like I should feel bad about that. But the truth of the matter is, I just dont. And neither should you.

Above anything else, your mental health is the most important thing you can work on right now. Your mental health is above that next dollar, that next feature, that next marketing push.

Since I’ve been playing a lot of video games, I’m going to put a little bit of video game metaphor in here for you, cool? Cool.

You, as a human being, only have 100 magic points (MP). It costs 50MP to build a new product, 25MP to launch it, 10MP to manage bugs, etc. Before you know it, you only have 5MP left. You may not be “burnt out” but you are at least tired.

Most of those internetprenuers you follow, they’re going to tell you to push through it. “Keep going! You could be the next big thing!”

Not me, I’m an advocate of one remedy: relaxation. That new video game that just came out? Go buy it, then beat it, then “100% it.” I found my old PSP-1000 in a drawer, dusted it off and picked up a copy of Madden ‘12. Because let’s be real, I want to watch Netflix AND play video games AT THE SAME TIME. That’s what heaven is, right?

But there is something really strange about this remedy. After you’ve beat that video game, all of the sudden you’re back up to 100MP. You’ve found a magic potion! A FRIGGIN’ MAGIC POTION. Your drive or “work ethic” will come back full force, and you’ll be able to get even more awesome magic stuff done.

So if you’re tired, if you just don’t feel like working today (or for a month), I’m prescribing you one treatment: relaxation. Take a vacation, play some video games, spend some time with your kid, have a romantic dinner, watch Netflix, drink some beers or whiskey. I’m not holding you up to any standards of grandeur, and you shouldn’t hold yourself to one either.

I hope you enjoy Matt’s story and admonition of why it’s not ok to feel guilty about taking a break. It certainly helped me get rid of the “I hope no one finds out” kind of sneaking around that I’ve been doing recently. And it’s also nice to know that I’m not the only one who does this, too!

So relax. Take a break. It’s ok. I promise.

– Derick


P.S. If you enjoy Matt’s writing as much as I do, and you’re not yet ready to take a break, we’ve got something special for you. Matt recently wrote an eBook on Building Software Products in a Weekend. I read it, and I was blown away! Matt has managed to reduced dozens of books that I have previously read, and experiences that I have had, in to a tremendously valuable book on starting a project or side project – and he’s making this treasure trove available to you at no charge! Just head over to and get your copy. It is well worth it.


Categories: Blogs

ZFS on Linux ‘insufficient replicas’ panic

Chris Read - Wed, 12/17/2014 - 06:55

I run a lovely little HP N54L MicroServer at home to keep all my important bits. It’s been a faithful companion for many years across two continents. I’m running Ubuntu LTS on it, booting off a small SSD but keeping years worth of backups across two ZFS mirrors.

I discovered this evening that the little PCIe card I was using for my boot drive had failed. There’s a spare SATA port on the motherboard I never bothered using (it’s only SATA II, the SSD is SATA III), so I just pulled out the old card and booted off the onboard controller. Imagine the horror when I got the following response to my zpool status after the first boot:

root@dumpy:~# zpool status
  pool: first
 state: UNAVAIL
status: One or more devices could not be used because the label is missing
	or invalid.  There are insufficient replicas for the pool to continue
action: Destroy and re-create the pool from
	a backup source.
  scan: none requested

	first       UNAVAIL      0     0     0  insufficient replicas
	  mirror-0  UNAVAIL      0     0     0  insufficient replicas
	    sda     UNAVAIL      0     0     0
	    sdb     FAULTED      0     0     0  corrupted data

  pool: second
 state: UNAVAIL
status: One or more devices could not be used because the label is missing
	or invalid.  There are insufficient replicas for the pool to continue
action: Destroy and re-create the pool from
	a backup source.
  scan: none requested

	second      UNAVAIL      0     0     0  insufficient replicas
	  mirror-0  UNAVAIL      0     0     0  insufficient replicas
	    sdc     FAULTED      0     0     0  corrupted data
	    sdd     FAULTED      0     0     0  corrupted data

The whole point of having two separate mirrors was so that bad things like this would need something more serious than an unconnected controller failure corrupting them!

After taking a deep breath I had a look at the data again, and at the rest of my system. /dev/sda was now my boot SSD, but ZFS thought it was part of an array. Looks like using the on board port had shuffled drive names around. This data is stored in /etc/zfs/zpool.cache to speed up mounting on boot. Moving drives around had invalidated this information.

So, I did the following:

  • rm /etc/zfs/zpool.cache
  • Rebooted the machine (unloading the ZFS modules should also theoretically work)
  • zpool import <my pools>

And all my bits were back in the correct order!

root@dumpy:~# zpool status
  pool: first
 state: ONLINE
  scan: scrub repaired 0 in 3h27m with 0 errors on Sun Dec 14 03:27:14 2014

	NAME                                          STATE     READ WRITE CKSUM
	first                                         ONLINE       0     0     0
	  mirror-0                                    ONLINE       0     0     0
	    ata-WDC_WD20EARX-00PASB0_WD-WMAZA6447754  ONLINE       0     0     0
	    ata-WDC_WD20EARX-00PASB0_WD-WMAZA6448154  ONLINE       0     0     0

errors: No known data errors

  pool: second
 state: ONLINE
  scan: scrub repaired 0 in 9h42m with 0 errors on Sun Dec 14 09:42:32 2014

	NAME                                          STATE     READ WRITE CKSUM
	second                                        ONLINE       0     0     0
	  mirror-0                                    ONLINE       0     0     0
	    ata-WDC_WD20EARS-00J2GB0_WD-WCAYY0231617  ONLINE       0     0     0
	    ata-WDC_WD20EARS-00J2GB0_WD-WCAYY0221030  ONLINE       0     0     0

errors: No known data errors

I initially created the system with an early 0.6.0 release candidate of ZFS on Linux, which is why it was doing something as silly as identifying drives by /dev/sd? in the first place. Now I’m running on the 0.6.3 release I’m happy to see it using drive serial numbers instead.

Hopefully this information will save someone from blowing away a valid mirror and having to restore from backups…

Categories: Blogs

Comparison of the ScrumMaster, Product Owner, Project Manager and Team Lead Roles

Learn more about our Scrum and Agile training sessions on

Often in my classes, I’m asked for a clear comparison between the various traditional roles and the new roles in Scrum.  Here is a high level summary of some of the key responsibilities and activities that help highlight some important differences between these four roles:

ScrumMaster Product Owner Project Manager Team Lead NEVER NEVER Assign Tasks YES NO PARTICIPATES Create Schedule NO NO YES Manage Budget NO Remove Obstacles PARTICIPATES YES YES NO Define Business Requirements PARTICIPATES NO NO YES (Deliveries) Define Milestones NO Facilitate Meetings NO YES YES YES (process and people) YES (business) Risk Management PARTICIPATES Organizational Change Agent NO NO NO NO Accountable for Business Results RARELY (just costs) NO

Of course, there are many other ways we could compare these four roles.  What would you like me to add to this list?  Add a comment with a question or a suggestion and I will update the table appropriately!

Try out our Virtual Scrum Coach with the Scrum Team Assessment tool - just $500 for a team to get targeted advice and great how-to informationPlease share!
Categories: Blogs

Choose Your Own Adventure in Kanban

TV Agile - Tue, 12/16/2014 - 20:08
Kanban gives you the means to understand work systemically and take individual responsibility to act on it. Methods such as limiting WIP, minimising batch sizes, visualising work, shaping demand and creating options are universally applicable, yet no two applications are the same. This audience-led session uses examples from the world of work and beyond to […]
Categories: Blogs

Version One Webinar: Getting to Done

Scrum Log Jeff Sutherland - Tue, 12/16/2014 - 18:50

In conjunction with the release of Scrum: The Art of Doing Twice the Work in Half the Time, Jeff paid a visit to Version One in Atlanta. During multiple sessions, the same question kept surfacing: What is the biggest impediment to running a successful Scrum? The answer: getting to done. The second value of the Agile Manifesto is working software over comprehensive documentation. Teams struggle to get fully functional and tested software at the end of a sprint.

Version One asked Jeff if he could share this insight with the Agile community. Below is the webinar that Version One sponsored. In it, Jeff goes into great detail on how to get to done.


Download Getting to Done Slides

The post Version One Webinar: Getting to Done appeared first on Scrum Inc..

Categories: Blogs

January 15th in Portland, Oregon: Agile Smack-Down (Debate)

James Shore - Tue, 12/16/2014 - 10:01
16 Dec 2014 James Shore/Calendar

The Technology Association of Oregon (TAO) is hosting a debate about Agile between me and Frank D'Andrea in January. Adam Light is hosting. It's going to be a fun, lively event with plenty of thought-provoking moments. Here's the blurb:

Join us for the TAO Agile Smack-Down, a thought-provoking discussion and debate of the good, bad, and ugly ways to implement Agile methodologies. Adam Light will moderate a rousing dialog between Frank D'Andrea, VP Software Development at Tater Tot Designs, and James Shore, author of The Art of Agile Development.

Our panel will discuss real-world lessons from applying and misapplying Agile to application development, with time set aside for Q&A from the audience.

The event is 5:30-8:30 on Thursday, January 15th at Urban Airship in downtown Portland. It's $25 for TAO members and $45 for non-members. Registration and details here.

Categories: Blogs

Team Competition is Not Friendly

Johanna Rothman - Mon, 12/15/2014 - 18:06

I once worked in an organization where the senior managers thought they should motivate us, the team members. They decided to have a team competition, complete with prizes.

I was working on a difficult software problem with a colleague on another team. We both needed to jointly design our pieces of the product to make the entire product work.

After management announced the competition, he didn’t want to work with me. Why? There was prize money, worth hundreds of dollars to each person. He had a mortgage and three kids. That money made a big difference to him. I was still single. I would have stuck that money into either my savings or retirement fund, after buying something nice for myself.

Management motivated us, alright. But not to collaborate. They motivated us to stop working together. They motivated us to compete.

Our progress stopped.

My boss wanted to know what happened. I explained. I couldn’t fault my colleague. He wanted the money. It made a big difference for him. I would have appreciated the money, but not nearly as much as he would have. (Later, when I was paying for childcare, I understood how much of a difference that money made.)

I then had this conversation with my boss, ranting and raving the entire time:

“Look, do you want the best product or the best competition?”


“You can’t have both. You can have a great product or you can have a great competition. Choose. Because once you put money on the table, where only one team gets the money, we won’t collaborate anymore.”

My boss got that “aha” look on his face. “Hold that thought,” he said.

The next day, management changed the competition. Now, it was about the teams who worked together to create the best product, not the one team who had the best idea. Still not so good, because all the teams on the program needed to collaborate. But better.

When I had my one-on-one with my boss, I explained that all the teams needed to collaborate. Were they really going to pay everyone a bonus?

My boss paled. They had not thought this through. “I’d better make sure we have the funds, right?”

People don’t work just for money. You need to pay people a reasonable salary. Remember what Dan Pink says in Drive: The Surprising Truth About What Motivates Us. People work for autonomy, mastery, and purpose. If you exchange the social contract of working for autonomy, mastery, and purpose for money, you’d better pay enough money. You also better repeat that money the next time. And, the next time. And, the next time.

That’s the topic of this month’s management myth: Management Myth 35: Friendly Competition Is Constructive.

Software product development is a team activity, full of learning. As soon as you make it a competition, you lose on the teamwork. You lose the learning. Nobody wins. There is no such thing as “friendly” competition.

Instead, if you go for collaboration, you can win.

Read Management Myth 35: Friendly Competition Is Constructive.

Categories: Blogs

Agile Retrospective – the Gift that keeps on Giving

As we approach the holiday season and the new year, it may be a good time to celebrate our past success, understand where we may need to improve, and commit to where we want to go in the future.  Applying a “Year-in-Review Retrospective” can be a good way to do this.  This type of Retrospective asks you to reflect on the year (e.g., 2014), embrace what you are thankful for, and help you build meaningful and realistic resolutions for the new year. 
Borrowing a page from an Agile retrospective, here is a personal way to conduct a "Year-in-Review Retrospective".  It can be done individually, with your family, or any size cohort of people.   The 12th Agile Principle asks us “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”  This can be adapted to read “At regular intervals, we celebrate our successes, reflect on areas for improvement, and commit to resolutions to improve. “
Let’s begin by establishing a framework for applying the retrospective.  Let’s call this the Retrospective Starter Kit.   We start with creating a reflection (or retrospective) board.  This board should have a place to indicate “What I am Thankful for” (or “What we are Thankful for”), “What can be Improved”, and “Actions for Improvement”. 
Start with reflecting on what went well over the past year.  Document the successes and events and then put them in an order of significances or importance.  Then take a moment and celebrate what went well (maybe over a drink and with some music in the background).
Next, reflect on what was problematic over the past year.  Write each statement as a problem.  Avoid jumping to solutions (that will come next).  Once all problems are listed, prioritize which problems may be the most significant or challenging. 
Lastly, take the top 2 or 3 problems and consider actions for improvement.  You want to identify the root cause for each problem so that you establish a solution that addresses the cause behind the problem.  For example, if the problem is that “I am out of shape”, suggesting a solution of “I need to work out” may not be the only action.  Instead, applying root case techniques may uncover that you need to create time in your schedule first.  Otherwise simply saying that you should “work out” will be unrealistic.  Once you have identified actions, then you must commit to your resolutions (or actions that you identified).   
Over time, if you find the retrospective valuable, you may want to conduct this practice in an increasingly timely manner, possibly every month.  Within an Agile context, this occurs at the end of each iterative of work which could be weekly, bi-weekly, every three weeks, or four weeks.
Finally, in the spirit of giving, may I gift you with the following items:
  • Agile Adoption Roadmap – this blog offers many helpful ways to implement and practice Agile to achieve an Agile mindset and receive the business benefits of being Agile. 
  • Being Agile: Your Roadmap to a Successful Adoption of Agile – in 24 concise chapters, this book focuses on the business benefits of Agile and then introduces you to the Ready, Implement, Coach, and Hone (RICH) deployment model as a pathway to help you in your Agile transformation.     
Happy Holiday and Celebrate, Reflect, and Improve!
Categories: Blogs