Sunday, September 13, 2015

Divergent Thinking is Great for Innovation and Agile

Divergence is a concept that implies that something is different or develops in a different direction.  Divergent thinking takes this concept and applies it to help you gain new insights and solutions.  This concept can be extremely important in achieving an innovation mindset.  This can benefit your focus on innovation and agility leading to better business results.  

For a company, divergent thinking can be used as a technique that provides an opportunity to create an internal market place of ideas.  These ideas can then be discussed, refined, and evolved into multiple solution options. 
Divergent thinking provides individuals, teams, and companies with the ability to consider lots of possible ways to satisfy a business need. Once divergent thinking occurs, there is a need to pair this with convergent thinking so that one solution is decided upon and experimented with. 

Unfortunately Divergent thinking isn’t encouraged in many of work cultures.  While most companies will say they want new and innovative ideas, there is an angst to move quickly to an answer which typically negates the possibility of sufficient divergent thinking.  Converging too soon reduces options and opportunity. 

If you are looking to infuse a mindset where innovation can thrive, then explicitly introduce divergent thinking into your organization.  Innovation is often introduced in the form of hack days.  This is periodic and event driven.  A more effective approach may be to apply continuous divergent thinking throughout many of the steps of your idea to delivery (aka, end-to-end) process. 

Some may ask, “What is to keep divergent thinking from distracting or slowing down our work?  The simple answer is to apply a time-box technique for divergent thinking.  A brief example is if you have a business opportunity (aka, idea), allow for a period of time to silently identify all possible solutions.  Place the ideas onto large post-ids and post them up.   

The key is to conduct the divergent thinking silently since this ensures no negative or anchored prejudice interferes.  Divergent thinking works best when ideas can flow freely without opposing opinions.  Once the time-boxed divergent period is concluded and all of the ideas are collected, then convergence may commence.

Divergent thinking is a great way to gain new insights and ideas for solutions to business problems and products.  If you are looking for ways to infuse innovative thinking into your organization, consider applying divergent thinking.  Divergent thinking may allow you to come up with the next generation idea or the 10x gain which can lead to better business results. 

Monday, August 24, 2015

Virtual Teams – Agile or Bust

A collaboration by David Grabel and Mario Moreira

You’ve just been given a plum assignment, heading up a major new application development project. Congratulations! Your boss just got off the phone with a large off-shore contracting firm.  At the labor prices they are quoting, we’ll save a fortune and come in under budget. He knows that you’ve been experimenting with virtual teams; it’s time to kick this into high gear and really cut our labor costs. DON’T DO IT! By the time you factor in the extra costs for travel, the high costs of the locally based support personnel (project managers, architects, etc.), the increased systems and telecommunications cost, the miscommunication caused by lack of face-to-face conversations, and the rewrites this will require, the cost savings will evaporate. They will never complete it on time and the missed revenue alone will eat up all of your savings.

There are good reasons to rely on virtual teams. Cost savings is not one of them. Real world constraints can make virtual teams unavoidable. Your company might have a liberal “work from home” policy. Your development centers could be scattered about a large campus, across the country or around the world. You may have a strong relationship with an off-shore development company that has delivered high quality software on time in the past. You might be partnering with a company from another state. All virtual teams are distributed, whether it’s a single member working from home or dozens of teams scattered around the world. Co-located teams will almost always be more efficient and effective than virtual or distributed teams. When virtual teams are unavoidable, the key to success is to Be Agile. If you follow the agile values and principles you can successfully deliver valuable working software, quickly, with high quality, even with virtual teams.  Let us explore how the Agile values and principles can be put into action to help with virtual teams.
  • Value people and interactions over processes and tools by enabling virtual and physical face-to-face conversations. If team members are in different time zones, encourage flexible hours and provide high quality video conferences for stand-ups and other ceremonies. Supplement the teams with collaboration tools. Bring the teams together periodically to learn each other’s business contexts, cultures, and individual needs. Virtual teams necessarily need to rely more on electronic tools like agile project managers and collaboration software. These tools help, but virtual teams need to nurture the interpersonal relationships that allow trust to develop. Trust within and across teams is vital to agile success.
  • Value working software over comprehensive documentation by writing stories about the users experience and by delivering small increments quickly based on those stories. The traditional wisdom has been that virtual teams require very detailed requirements and design documents. These heavyweight artifacts don’t exist on agile projects. Very detailed requirements create the illusion of completeness and accuracy. All those details about what they system shall do obscure the problems we are trying to solve
  • Value customer collaboration over contract negotiations by scheduling regular demos with customers to get their feedback and deepen the understanding of the business problems to be solved. This is more important than checking the boxes on a requirements document. This is a case where virtual meeting tools can bring remote teams and customers together even when they are physically apart.

The agile values and principles are the best guiding lights available today to make virtual teams work. If you have to use virtual teams, please consider using agile practices and staying true to the values and principles. 

Sunday, July 26, 2015

Story Telling with Story Mapping

Once upon a time, a customer had a great buying experience on a website.  The customer loved how from the moment the customer was on the site to the moment they checked out a product, the process was intuitive and easy to use.   The process and design of the customer experience was not by accident.  In fact, it was done very methodically using story mapping. 
What is Story Mapping
Story Mapping is a practice that provides framework for grouping user stories based on how a customer or user would use the system as a whole.   Established by Jeff Patton, it helps the team understand the customer experience by imaging what the customer process might be.  This promotes the team to think through elements of what the customer finds as valuable. 
Benefits of Story Mapping
Story Mapping is a way to bridge the gap between an idea and the incremental work ahead.  It's a great way to decompose an idea to a number of unique user stories.  What are some additional benefits of story mapping?
  • It moves away from thinking of functionality first and toward the customer experience first. 
  • It provides the big picture and end-to-end view of the work ahead
  • It's a decomposition tool from idea to multiple user stories. 
  • It asks the team to identify the highest value work from a customer perspective and where you may want the most customer feedback.
  • It advocates cutting only one increment of work at a time instead realizing that feedback from the current increment will help shape subsequent increments. 
Getting started with Story Mapping
How might you get started in establishing a story map?  It starts by having wall space available to place the customer experience upon.  Next you educate the team on the story mapping process (see below).  Its best to keep to a Scrum team size (e.g., 7 +/-2), where everyone participates in the process.  Then as a team, follow these high-level steps:
  • Create the “backbone” of the story map.  These are the big tasks that the users engage with. Capture the end-to-end customer experience.  Start by asking “what do users do?”  You may use a quiet brainstorming approach to get a number of thoughts on the wall quickly
  • Then start adding steps that happen within each backbone.  
  • From there explore activities or options within each step.  Ask, what are the specific things a customer would do here?  Are there alternative things they could do?  These activities may be epics and even user stories. 
  • Create the “walking skeleton”.  This is where you slice a set of activities or options that can give you the minimum end-to end value of customer experience.  Only cut enough work that can be completed within one to three sprints that represents customer value. 
As you view the wall, the horizontal access defines the flow of which you place the backbone and steps.  The vertical access under each contains the activities or options represented by epics and user stories for that particular area. Use short verb/noun phrases to capture the backbones, steps, and activities (e.g. capture my address, view my order status, receive invoice). 

Next time your work appears to represent a customer experience, consider the story mapping tool as a way to embrace the customer perspective.  Story mapping provides a valuable tool for the team to understand the big picture, while decomposing the experience to more bite size work that allows for optionality for cutting an increment of work.  Its another tool in your requirements decomposition toolkit.  

Monday, July 6, 2015

Mario Moreira is the keynote at Scrumday Portugal 2015!

Mario Moreira is the Keynote speaker at Scrumday Portugal this week (ThursdayOctober 1st) in Lisbon, Portugal.  It is a sold-out event!   Mario will speak on  spoke on "How can Portugal be a Technology and Business Leader on IT thru Agile practices?"  

Note: if you are on twitter, follow Mario (@AgileMario) and get updates on Scrumday Portugal activities.    

Mario's past Speaking Engagement include:

Agile2015 (August 2015) - "Customer Vision for better Feedback and more Product Success!" - "" - Washington, DC USA

Agile New England (July 2015) - "Customer Feedback Vision - Persona to Requirements to Demonstration to Product Success!" - "" - Boston, MA USA

- MassBay PMI Professional Development Day (June 2015) - "Vistaprint's Agile Transformation and the Education that helped with their Journey" - "" - Boston, MA USA

- Software Quality Group New England/SQGNE (May 2015) - "Agile - Bringing Testing to the Forefront" - - Boston, MA, USA

Agile New England (November 2013) - "The Importance of Agile Readiness - Success Factors for a Transformation to Agile" - ""- Boston, MA USA

Agile Development Practices East (November 2013) – “Getting Ready for your Agile Journey” - - Boston, MA, USA

Boston SPIN (January 2013) – “Writing Effective User Stories for Agile or Waterfall” – - Boston, MA, USA

 Give Thanks for Scrum (November 2012) with Ken Schwaber and Jeff Sutherland – “Getting the Most from the Sprint Review” - - Boston, MA, USA

Grace Hopper Celebration of Women in Computing (October 2012) – “Go Lean, Go Agile: Are we there Yet?” – Panelist -  - Baltimore, MD, USA

Agile Development Practices East (November 2011) – “Minding the Gap: Project Governance vs. Agile Flexibility” -  - Orlando, FL, USA

- Nashua Scrum Club (March 2011 ) - "Starting your Project off right with Agile Release Planning" - – Nashua, NH, USA

Boston SPIN (Sept 2010) - "Agile - The Basic Roles and Beyond" - – Boston, MA, USA

- AccuRev & Book Launch (April 2010) – “Adapting Configuration Management for Agile Teams: Building Sustainability and Speed” -  – Boston, MA, USA

- Agile New England (April 2010) -  "Building the Right Product and Building the Product Right" - – Boston, MA, USA

- Enterprise Software Development Conference (ESDC) (March 2010) – “Adapting to Continuous Integration and Build: Considerations for Deployment  - San Mateo, CA, USA

- ALM Expo (Oct 2009) - Keynote speaker - "Agile and ALM" -  - Worldwide Webinar 

- Boston SPIN (May 2009) - "Modern Approaches to Infrastructure: On Premises or In the Clouds" - – Boston, MA, USA

- AccuRev Software Configuration Management Seminar (May 2004) “Systematic Process for Selecting a Valuable Configuration Management Product” - – Boston, MA, USA

- Swedish Configuration Management Summit (November 2001) – “Crawl, Walk, Run! - Challenges in Implementing Configuration Management in a Complex Environment” – Stockholm, Sweden

- System Configuration Management : 9th International Symposium (SCM-9)  (September 1999) – “The 3 Software Configuration Management Implementations Levels” Tutorial - - Toulouse, France