Click here to close now.

Welcome!

@MicroservicesE Blog Authors: Elizabeth White, Pat Romanski, Lori MacVittie, Liz McMillan, Cloud Best Practices Network

Related Topics: @MicroservicesE Blog, Java IoT, Linux Containers, Open Source Cloud

@MicroservicesE Blog: Article

Agile 101: Product Owner - Improved Insight into Customer Needs

Scrum Agile Leadership and communication skills for Product Owner

In a Scrum-Agile project management environment, the product owner acts as a catalyst of change in the organization, enabling value creation through projects and products. Product owners create the required link between how the business would look like in the future and the current state. The product owner is a key facilitator within the organization in bridging the client and the business community with the Agile development team.

Most of what a product owner performs can be defined in the broader sense as: 1) Creating and increasing value for the business, and 2) Eliminating and reducing costs for the business.

The product owner is required to identify business needs and determine solutions to business challenges. We can characterize the role description of the product owner as related to the above tasks into several key responsibilities. The product owner needs to:

  1. Mine for and create epics that guide the business towards value creation and cost savings;
  2. Plan and maintain epics, themes and user stories;
  3. Elicit epics, themes and user stories;
  4. Reach consensus and understanding of epics themes and user stories between the business and the Agile development team;
  5. Focus on user stories according to specific guidelines such as INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable);
  6. Communicate and collaborate continuously.

As the product owner is the focal point for strategic and tactical product management, he or she collaborates with many stakeholders and must communicate with all of them. Specifically the product owner interacts with the business community and the Agile development teams on a regular basis. He or she should also communicate with management in making sure that business objectives are indeed captured in themes and epics.

On any single Agile development effort the product owner:

  1. Elicits user stories, making them INVESTabile;
  2. Analyzes them with the team;
  3. Provides feedback to the business community;
  4. Communicates continuously while prioritizing user stories;
  5. Monitors user stories to their respective epics and themes;
  6. Supports the Agile development teams throughout the Sprint - providing clarifications where needed;
  7. Approves and accepts the developed features at the end of the Sprint;
  8. Maintains a rudimentary or full-fledged traceability of user stories to business, to epics and themes, and to any other relevant criteria that he has defined.

Communication is a key differentiator in the product owner's effectiveness and most often an aspect in which product owners are lacking the necessary know how. This, in turn, impacts negatively the product owner's performance. Emphasis is given to the elicitation of user stories since product owners are usually gathering the stories instead of eliciting them.

The main difference between gathering and eliciting is: Elicitation is an analytical, free-flowing communication and collaboration effort which fits well with Agile development as described in the Agile Manifesto. Gathering is a passive activity with little invested analysis. When a product owner is a gatherer he is actually no more than an administrator.

To summarize the points above: it is vital that the product owner understands the context in which he is working, the tools that she can use while performing the work, and the essence of what it means to be a product owner in an effective Agile product development environment.

Improved Insight into Customer Needs

The product owner constantly communicates and collaborates both with the business community and with Agile development teams. Communicating is the basis for collaborating. Communicating has several goals:

  1. Letting others know of something;
  2. Asking for feedback from others;
  3. Convincing others;
  4. Proactively building relationships.

In the process of communication, personal, cultural, intercultural, and language barriers exist. The product owner should be cognizant of these barriers and understand that the same message can be perceived differently than anticipated as well as differently by various groups and teams of stakeholders. An effective product owner understands that messages are received, deciphered and perceived differently by others since they have individual and distinct perception filters. Examples of filter categories can be:

  1. Values-personal - values impact the way a message is perceived;
  2. Interests -  a specific team member interest in a certain user story can impact the way he estimates that story;
  3. Expectations -  different expectations result in different levels of collaboration;
  4. Past experience - past experience can alter how people accept a certain message and respond to it. This for example can result in different understanding of the same user story to be developed.

When communicating we are subjective, moving away from messages that conflict with our ideas and beliefs. We tend to hear just what we want to hear, and we usually pay more attention to things that interest us. Our past experience impact and biases us, emotions and psychological states impact how we perceive a message and how we communicate. Taking into account these obstacles to mutually effective communication, it is vital that the product owner spend time both when eliciting the user stories and also in conveying them to the team. During the Sprint planning meeting or for that matter any other Agile process which includes detailing the user stories to the development team, care should be given to feedback loops and the clear understanding of what is required to be developed.

When discussing the user story with the Agile development team, for example, it is not sufficient to read out loud the user story cards. The product owner should actively ask for feedback to assure understanding concerning the specific story.It is useful to add graphics, diagrams, illustrations and mind maps to emphasize the understanding.

I probably cannot emphasize enough how important this is in an Agile environments. Since Agile is scarce in formal documentation the clear and concise understanding of what is required to be developed during the collaborative process between product owner and the Agile development team, is key to the Agile development process. Without the clear understanding of what needs to be developed, the team might be investing efforts in the wrong direction. Thus, it can be a very efficient Sprint - speedy and producing the stated results; however it will also be an ineffective Sprint - the results received are not the ones that were required.

This constant feedback and communication loop between the product owner and the business community, and between the product owner and the development team, is key to successful product development in Agile environment. It is also a key element in any product development environment; however, as mentioned before, the typical lack of formal documents in Agile necessitates the constant communication and collaboration, clarifying expectations and interests during Agile development.

I suggest that all product owners participate in communication skills training, learn strategies in developing their skills and enhance their facilitation techniques. A practical approach to handle the communication barriers is to make sure that:

  1. One knows the communication objective ahead of time;
  2. Remains cognizant during a communication interaction and analyze the specific situation from both the communicator and the receiver perspectives.
  3. Remains aware of the restrictions imposed by the environment.
  4. Establishes and promotes a multi-way feedback loop;
  5. Is able to communicate in more than one method: i.e. pictures, drawing, diagrams and prototypes. These are great tools to enhance communication.

The product owner's core competencies are facilitation, communication and leadership skills. Effective product owners are able to:

  1. Listen
  2. Emphasize
  3. Facilitate meetings
  4. Handle tough communication and conflict management situations
  5. Be effective presenters
  6. Lead product related business decisions and openly discuss them with the Agile development team
  7. Negotiate, mediate and influence between the Agile development teams and the business community.

Agile Product Owner Michael Amazon

This article is excerpted from the author’s new e-book Agile Product Owner Secrets. A print version of the book is found here

More Stories By Michael Nir

Michael Nir - President of Sapir Consulting - (M.Sc. Engineering) has been providing operational, organizational and management consulting and training for over 15 years. He is passionate about Gestalt theory and practice, which complements his engineering background and contributes to his understanding of individual and team dynamics in business. Michael authored 8 Bestsellers in the fields of Influencing, Agile, Teams, Leadership and others. Michael's experience includes significant expertise in the telecoms, hi-tech, software development, R&D environments and petrochemical & infrastructure industries. He develops creative and innovative solutions in project and product management, process improvement, leadership, and team building programs. Michael's professional background is analytical and technical; however, he has a keen interest in human interactions and behaviors. He holds two engineering degrees from the prestigious Technion Institute of Technology: a Bachelor of civil engineering and Masters of Industrial engineering. He has balanced his technical side with the extensive study and practice of Gestalt Therapy and "Instrumental Enrichment," a philosophy of mediated learning. In his consulting and training engagements, Michael combines both the analytical and technical world with his focus on people, delivering unique and meaningful solutions, and addressing whole systems.

@MicroservicesExpo Stories
Containers are changing the security landscape for software development and deployment. As with any security solutions, security approaches that work for developers, operations personnel and security professionals is a requirement. In his session at DevOps Summit, Kevin Gilpin, CTO and Co-Founder of Conjur, will discuss various security considerations for container-based infrastructure and related DevOps workflows.
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction. ...
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of...
The cloud has transformed how we think about software quality. Instead of preventing failures, we must focus on automatic recovery from failure. In other words, resilience trumps traditional quality measures. Continuous delivery models further squeeze traditional notions of quality. Remember the venerable project management Iron Triangle? Among time, scope, and cost, you can only fix two or quality will suffer. Only in today's DevOps world, continuous testing, integration, and deployment upend...
Conferences agendas. Event navigation. Specific tasks, like buying a house or getting a car loan. If you've installed an app for any of these things you've installed what's known as a "disposable mobile app" or DMA. Apps designed for a single use-case and with the expectation they'll be "thrown away" like brochures. Deleted until needed again. These apps are necessarily small, agile and highly volatile. Sometimes existing only for a short time - say to support an event like an election, the Wor...
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Cloud Migration Management (CMM) refers to the best practices for planning and managing migration of IT systems from a legacy platform to a Cloud Provider through a combination professional services consulting and software tools. A Cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or busine...
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Data center models are changing. A variety of technical trends and business demands are forcing that change, most of them centered on the explosive growth of applications. That means, in turn, that the requirements for application delivery are changing. Certainly application delivery needs to be agile, not waterfall. It needs to deliver services in hours, not weeks or months. It needs to be more cost efficient. And more than anything else, it needs to be really, dc infra axisreally, super focus...
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
Many people recognize DevOps as an enormous benefit – faster application deployment, automated toolchains, support of more granular updates, better cooperation across groups. However, less appreciated is the journey enterprise IT groups need to make to achieve this outcome. The plain fact is that established IT processes reflect a very different set of goals: stability, infrequent change, hands-on administration, and alignment with ITIL. So how does an enterprise IT organization implement change...
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations migh...
At DevOps Summit NY there’s been a whole lot of talk about not just DevOps, but containers, IoT, and microservices. Sessions focused not just on the cultural shift needed to grow at scale with a DevOps approach, but also made sure to include the network ”plumbing” needed to ensure success as applications decompose into the microservice architectures enabling rapid growth and support for the Internet of (Every)Things.
Mashape is bringing real-time analytics to microservices with the release of Mashape Analytics. First built internally to analyze the performance of more than 13,000 APIs served by the mashape.com marketplace, this new tool provides developers with robust visibility into their APIs and how they function within microservices. A purpose-built, open analytics platform designed specifically for APIs and microservices architectures, Mashape Analytics also lets developers and DevOps teams understand w...
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists peeled away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud envir...
Sumo Logic has announced comprehensive analytics capabilities for organizations embracing DevOps practices, microservices architectures and containers to build applications. As application architectures evolve toward microservices, containers continue to gain traction for providing the ideal environment to build, deploy and operate these applications across distributed systems. The volume and complexity of data generated by these environments make monitoring and troubleshooting an enormous chall...
Containers and Docker are all the rage these days. In fact, containers — with Docker as the leading container implementation — have changed how we deploy systems, especially those comprised of microservices. Despite all the buzz, however, Docker and other containers are still relatively new and not yet mainstream. That being said, even early Docker adopters need a good monitoring tool, so last month we added Docker monitoring to SPM. We built it on top of spm-agent – the extensible framework f...
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.