Tuesday, December 27, 2022

Third-Party Products - Who Owns Them?


A lot goes into production of complex products, and not just cars. Complex software products commonly incorporate and interact with hundreds of other, third-party software and non-software products.

So what does this mean for Product Managers?

Usually, there is no need for Product Managers to get involved with the third-party products used to build their products. Except for special circumstances, this is left to Architects (technology strategy), Engineering (quality and security), and Legal (the IP rights).


PM does however need to direct and provide recommendations and guidance on the third-party products that interact with and enable the operation of their products.


Allow me to use the automobile industry to illustrate this concept.



Let’s look at the role of the third-party components through the eyes of car manufacturers and car users.


When Toyota is producing its cars, it inevitably embeds the output of other companies in its products. For example, the door panels are formed from metal coming from companies specializing in smelting ore into sheet metal. Toyota evaluates what’s available on the market and elects to use the product it believes is best for its cars. In this example, sheet metal is a third-party product that once chosen by the product vendor is permanently embedded into the product and can’t be swapped out. Let’s call this a Class C third-party product.


Next, the Jeep designers equip their cars with Bosch spark plugs. While these spark plugs can be replaced by the product user (e.g. once they are worn out) the car cannot operate without them. Let’s call this a Class B third-party product.


Finally, the car manufacturer recommends certain conditions, care and the use of some third-party products for its car's optimal performance, safety, and longevity. For example, it may recommend the use of high-octane gasoline/petrol, oil change interval or certain load limits. All these criteria are outside of the car manufacturer’s direct control (they are the responsibility of the user), and yet they are expected to impact the product. Let’s call the third-party product in this category a Class A.


Now, to draw a parallel with Software Products, 

  • Class A is the expected environment, such as hardware configuration, network connectivity, Operating System, web browsers, Java, and .NET that are expected to be provided and maintained by the product user.
  • Class B is the stuff that may be included with the product. The end-user has control over it. The vendor should explain the recommended steps to maintain this stuff in optimal and safe working order, compatible with continued eligibility for the overall product support and maintenance services.
  • Class C is the stuff that gets embedded or compiled into the product. The end-user has no control over it.


Product Management owns support and compatibility strategy, and communication about Class A and Class B third-party products as explained above.


Please let me know your thoughts or experience with this.

Wednesday, October 20, 2021

Team Calls during COVID-19

These days especially, with most of us working remotely, I often find myself on calls with a large number of participants who don't actively participate in the discussion. Their cameras are turned off and their microphones are muted.

Am I alone in this observation?



I am not referring to presentations or town hall type of meetings where information is shared with large groups. These are team calls where active collaboration and decision making are meant to take place.

In the past, when we could meet in person, I could see every participant's body language. I could see when people who did not say a word during the meeting were actually actively listening, leaning forward, or showed signs of disengagement, slumped in their chairs, crossed their hands, checked their phones or computers... I have no such feedback with everyone joining remotely these days. Furthermore, I have a sense our calls on average include more people these days, and I wonder if there is data to confirm or deny this hypothesis.

So, why do I care?

For once, these calls cost companies a lot of money. Usually they include attendees who are smart and well paid, and their time is valuable for the company.

Equally important, but less obvious, I think this practice is obscuring another important set of issues.

While attending these large calls creates a sense of collaboration, signals cultural conformance and seems to foster improved information exchange, in reality most attendees are simply multi-tasking. On the outside this looks like our productivity goes up. We attend more calls, while answering more emails and developing more documents, presentations, reports, quotes, code, etc. In practice, we get overworked, stressed and the quality of our work suffers.

I want to go back in time and only attend calls where everyone pays 100% attention and decisions are made. Everything else I would rather read subject to my time availability, and if I don't have capacity to process more information, I will not pretend I can handle this by attending the call with muted mic and webcam off.

What do you think?

Friday, March 8, 2019

Engaging your online audience

I was wondering recently why no one responded to one of our Architect's community posts seeking for customers' feedback on our product improvement idea, and so I took a closer look: The title is catchy and stands out in the list of posts, so that’s good. 

As is often the case with technical writing, I found the writing style to be the main detractor. Below I am sharing some pointers that would help.

  1. The post is overly verbose. Half (or more) of the content could be chopped without hurting the post objective. By shortening this post more busy people would take a plunge and read it.

  1. Formatting techniques can be employed to improve the readability.

    • Paragraphs would help. Without them everything looks like one big blob of black on white characters. It’s hard to "park" the look on any particular part of the post. Nothing jumps out.
    • Questions could be grouped into concise bullet lists.
    • Headers can be used to break down the post into 2-3 sections, e.g. Background; Challenge; Our  Questions.
    • Bold or underline font could be used to highlight key concepts (just don’t overdo this so it does not look like a glittery Christmas tree).

  1. A picture could help to spice up a post and attract attention.


All of the above pointers are also applicable to writing emails and blogging.

Wednesday, February 20, 2019

Listening to Customers


What’s important in interactions with customers is how we interpret what we hear. As Product Managers//Owners (PO/PM) our challenge is to listen actively and always seek for the underlying pain points.

Customers may be telling us how they want to change our product, but we always need to dig deeper to understand why. Never be afraid to follow one “Why?” with another, with another, and yet with another. Sometimes it takes several attempts to get to the bottom of why the customer really wants us to change the product. If we understand the real need, the real pain point, then we can present the challenge to our engineers and architects in a way that leaves room for them to address the root of the issue in a most creative and effective manner, potentially much better than what the customer had in mind.

Other times, the customer may not even mention the pain point, not realizing they have it. Here again a PO/PM using effective interviewing skills can pick up on potential opportunity to create value for the customer, to alleviate a pain point, to offer them something they would be willing to pay for.

Last, but not least, PO/PMs are managing products, not tailored solutions. We therefore need to look for common needs, ways to improve our products for all (or many) customers not just one. This requires ability co connect the dots, draw parallels, and recognize patterns when interviewing customers. Often times customers describe their needs, issues, challenges using different words and propose different solutions. No one is in a better position than a PO/PM to help translate this stream of data into actionable product roadmap and backlog.

Thursday, February 14, 2019

Stretch Objectives

What do I think about them?


ox·y·mo·ron

Dictionary result for oxymoron

/ˌäksəˈmôrˌän/
noun
a figure of speech in which apparently contradictory terms appear in conjunction (e.g. faith unfaithful kept him falsely true ).


Way too often Stretch Objectives are understood and used by teams in a way that make them a classic case of oxymoron. And no wonder. After all “Stretch” implies uncertainty and hope. “Objectives” on the other hand imply exactly the opposite - certainty and commitment.

Teams may find it more self-fulfilling to present longer lists of objectives at the end of Program Increment (PI) planning by including along with PI Objectives also Stretch Objectives.

The reality however is that the product organization can only count on committed PI Objectives, not on hopeful Stretch Objectives. Stretch Objectives are merely work items that the organization wanted teams to take on but in the end admitted/realized they cannot be committed to in a given timeframe, due to some constraints.

Furthermore, the understanding of relative importance (priority/ranking) to deliver on Stretch Objectives is a snapshot in time, valid only at the time of PI Planning. As teams move through the Program Increment and receive new inputs, the product needs and priorities may change, potentially invalidating or changing priority of the original Stretch Objectives. For this very reason as a good practice teams should re-confirm with Product Management later during PI before work on any Stretch Objective starts.

Here is how SAFE defines Stretch Objectives:
Stretch objectives help improve the predictability of delivering business value since they are not included in the team’s commitment or counted against teams in the program predictable measure.
Unfortunately, way to often teams forget the difference and keep Stretch Objectives on the list just like PI Objectives. Over time I found it best to simply move out all PI Planning candidates back to the parking lot for consideration in future Program Increments.

What's your experience with Stretch Objectives?

Saturday, April 30, 2016

Agile Transformation (Part 1) - Understanding Your Investors

In this miniseries I want to share my observations about the organizational challenges with Agile Transformation. The information I use originates from my personal experience as well as from anecdotes and stories I collect from my friends and colleagues working in the software industry.

Any Agile Transformation is soner or later bound by the organizational capacity to accept change, and this includes executive leadership. At the end of the day, no matter how far the product development team is capable of going in becoming lean and Agile, they need full support and understanding of their investors, including customers and executives.

To illustrate, I want to use the unrelated at first glance story about the Japanese/American cultural differences. I drafted and never published this post more than a year ago, finding it interesting from the cultural perspective point of view. As I re-read it now I was somewhat surprised at how natural the story read if I were to replace the "American Vendor" below with a software development organisation striving to adopt Agile and similarly the "Japanese Customer" with their corresponding corporate level executives.

Situation: An American Vendor working on addressing a Japanese Customer’s request. Part of the disconnect is due to some cultural peculiarities that need to be understood by the Vendor.
First, the Customer fully expects to be able to provide input into the Plan. Not only the bottom-line value to the Customer has to be clearly articulated, the Vendor needs to sell the Customer on each item in the Plan so they understand how it maps to their concerns.  
Second, from the Customer’s perspective, the target completion dates should be thoroughly vetted and accounted for all possible delays. While an American might think this is unrealistic or overly conservative, from a Japanese perspective this is normal. From that perspective, it can be seen why multiple revisions to the Plan dates become problematic – the Vendor loses credibility with regards to its forecasting ability. This also helps understand why the Japanese Customer sometimes finds it hard to believe Vendor's explanation of the reason for a delay. The Customer believes the Vendor should have predicted the outcome and mitigated the risk before the Plan was committed (unless the Vendor is hiding the real reason for the delay). Again, from an American perspective this is unfathomable, but it helps to see things from the Japanese Customer’s perspective. 
Third, Japanese companies need frequent updates and hand-holding. Even if no progress is made, they need to be updated by the Vendor, with explanations why what is being done matters to them. The level of updates that Japanese companies see as normal may be considered an overkill to an American. Depending on the situation it is advisable to provide a weekly or even daily status update that simply states what has been accomplished and what is planned for the coming period. This can go a long way towards maintaining good relations. 
Fourth, the phrase “TBD” is not acceptable to the Customer. Culturally, Japanese are not nearly as comfortable with uncertainty as Americans. We see TBD as a necessary component of planning, but the Customer sees it as a lack of focus, investigation, and drive. For this reason, it is best to use TBD sparingly, and only if accompanied with an explanation of why it is undetermined, and when/how it will be determined. 
Bottom line, when helping Japanese Customers we need to make sure it is crystal clear what problem we’re trying to solve and exactly why that particular action item has value to them. Also, if there is some uncertainty, or if something will take more than a week to complete, or if there were multiple revisions to the target date, we need to thoroughly explain why.
What's my point? To be successful every Agile Team needs to understand the psychology of their investors, or their executive management.

Wednesday, April 6, 2016

Do you respect the backlog?

We always strive to be more effective in how we build software for our customers, and today I was compelled to reach out with the following to my scrum teams:

The backlog ranking order is in place for a reason. Traditional waterfall software development projects have for years struggled to meet planned quality, schedule and content targets. The Agile software development recognizes the unique nature of uncertainty associated with software development, and gives us an approach to improve the governance and predictability for shipping quality software while building the content that target customers want. We do this by 
  • QA: building quality targets into our definition of done criteria and acceptance criteria. This way any work that fails to meet DOD or acceptance criteria is not accepted and is not shipped. 
  • Schedule: fixing the timeline. Sprint duration is fixed. Anything that is not accepted is not part of a sprint delivery and is not included in the shippable product (we can choose when we ship the release, but only after one of the sprints). 
  • Content: we use backlog ranking to control what gets built as part of the release. When we run out of time, ranking ensures that we had enough time to build what we wanted to include in the shippable product and that we didn’t instead use that time to do something less desirable.

Generally speaking you should not begin work on any defect or a user story if you are also the owner of another open defect or an unfinished user story that is/are ranked higher. If you want to work on this because you disagree with the backlog ranking order, this is material and it is important that other people working on the release know; so just bring it up in our daily standup meeting, or reach out to me or your scrum master (in person, Flowdock, Skype, email, call, SMS). We can quickly discuss this and come to a shared agreement which can then be communicated and logged (e.g. in the Rally Discussion tab of the affected work item).
This also applies to any new work items popping up in our backlogs in the middle of sprints, i.e. items that we have not explicitly planned for during Sprint Planning sessions. If you open a new defect during the sprint or move a story or a defect from future sprints, please communicate/log this (e.g. by adding the explanation in the corresponding work item’s Discussion tab in Rally). Again, in general, the work on these work items should only begin when all the items planned for the current sprint are either completed or the work on them is blocked. If the unplanned item is critical for the sprint progress, we should discuss and if deemed necessary rank it higher on the backlog and (again) communicate/log our decision.

Although we are dealing with high uncertainty associated with complex software development, our business needs us to be more predictable in our ability to ship the working product. This is really important for our company's ability to operate as a well-run successful enterprise. Improving the following will help us get better 
  • Transparency and communication
  • The discipline and consistency in how we allocate our time during the sprints