J.D. Meier's Blog

Software Engineering, Project Management, and Effectiveness

Customer-Connected Engineering (CCE)

Customer-Connected Engineering (CCE)

Rate This
  • Comments 0

I’ve originally shared this in other places and other ways, but I’m consolidating here to make it easier to share a link.  As more teams ask me about Customer-Connected Engineering (CCE), it’s easier to just point them here for a quick overview.

Customer Connected Engineering is a practice we’ve used across our patterns & practices teams for engaging customers throughout the life cycle. We involved customers during the planning, development, and release of our deliverables. Basically, it’s a way of baking customers into the product and project cycle.  This is a slide set that shares how we’ve done Customer Connected Engineering inside patterns & practices, including our key practices and guiding principles.

Download the PDF
You can download the slides (38 slides) as a PDF:

Key Activities
The following is a visual overlay of key Customer Connected Engineering practices on top of our existing product life cycle in patterns & practices: 

CustomerConnectedEngineering
 
Here’s a summary of the key activities in Customer Connected Engineering:

  • Customer Advisory Board. The Customer Advisory Board is a set of customers that act as a sounding board for the project.
  • Stories / Scenarios. Customers share stories and scenarios. Stories and scenarios are narratives that capture and share usage scenarios for your product. The scenarios help show requirements in context.
  • Prioritization. Customers help prioritize by providing input for the product backlog, the sprint backlogs and iteration planning sessions.
  • Feedback. Customers provide feedback during iterations and for release.
Guiding Principles
One of the ways to successfully adopt a practice is to focus on the principles. The principles help you avoid getting stuck on implementation details. Implementation will vary from project to project, but the core concepts will stay the same. Here are some principles we’ve found to improve Customer Connected Engineering:
  1. Set the frame. A frame is how you look at things. You need to frame the discussion and create something that people can react to. The more thoughtful the frame, the higher the quality feedback you get. You create the frame by figuring out the customers, their needs, and the business goals. You use the frame to help focus feedback and dialogue. For example, one frame could be an architectural overview. Another frame can be your product backlog.
  2. Shared problems. The customers you select for the Customer Advisory Board need to have first-hand experience with the problem. They need to care and be involved in the solution.
  3. Have an opinion. Without an opinion, you’ll get randomized. Have an opinion so you can rationalize the feedback and priorities from various customers. Each customer will be coming from different perspectives. It’s your job to frame the feedback and understand the perspectives. You should also know your own assumptions. When people challenge your assumptions, you understand why you are changing your opinion. For example, you might have an idea on a user experience. Your customers then provide their reaction, which leads to you revising your design.
  4. Synthesize the feedback. Step back and look across the scenarios and requirements. Look for common denominators. Prioritize across your highest ROI items.
  5. Scenarios are King. Scenarios are the backbone of Customer Connected Engineering. The end-to-end scenarios are one of the most important outcomes. It’s one thing to look at a list of scenarios in a document. It’s another to walk through stories and scenarios with customers. Customers can share their goals and their stories in detail. We suggest having a set of straw man scenarios, before you engage with the advisory board.
  6. Transparency. Transparency is letting customers see inside your process to understand how things work. It’s sharing your decision making approach so that customers understand how trade-offs are made. It’s also about sharing design goals as you know them. It’s also about making customers aware of important changes along the way, instead of at the very end when you ship. It’s opening up the door to the workshop and letting customers watch and participate as you build your deliverables. When they understand why you made a decision / tradeoff, you are more likely to have a satisfied customer, even if they disagreed with a specific decision.
  7. Incremental value. Find a way to flow value. As the project progresses, customers should get a sense that you are delivering value along the way.
  8. Fail early, fail often. Share releases with your customers so they can share feedback. You don’t want to be surprised when you’re ready to ship. Share early and share often. Use the feedback to improve.
  9. Timely feedback. A big benefit of Customer Connected Engineering is timely feedback.
  10. Stay flexible. Be responsive to feedback. Acting on feedback will show customers you value their input and that it makes a difference. The more they see the impact, the more they’ll engage.
  11. Real world solutions. If you have a working implementation, you have a significant starting point. Where you can, find examples of specific customer solutions that solve some of the same scenarios and challenge you are facing. For example, to speed up your success, rather than chase your competition, you can look to working solutions.