Friday, 31 August 2018

What is Agile Software Development from the Perspective of Product Owner?

      Agile Software Development acknowledges the importance of communication between the business and technical team. Agile is a set of values and principles. It is the collection of beliefs that teams can use to make decisions about how to do the work in developing software. The agile process is dynamic, encourage flexible and respond to the change. It forces a different way of thinking about developing and improving the product. It relies on team effort with varied level of expertise and the process can complete more efficiently and smoothly.

Empower the Right Agile Product Owner:  For every entrepreneur and startup, the challenge to the product owner is to build a compelling product design in time. Here are the crucial challenges while implementing and managing the projects.

            * Time Management

            * Short-term Vs Long Term Goals

            * Direction and Delivery of the project

            * Analysis of Customer Needs

            * Command & Control Vs Adapt & Inspect

      Agile Product Owner is responsible for maximizing the business value delivered by the team.  The ideal product owner is the person with experience, authority, and bandwidth to make all decisions regarding the features and the priority to add the product. Product Owner has the ultimate accountability of health and well being of your product. He owns the product vision and understanding customer needs and making continual decisions on what to build and when. He manages the stakeholders and sponsors expectations. Here are the things to know as an agile product owner,

1. Develop the holistic view of market segments, customer needs, and value: Agile focus on value, and delivering the highest value features as soon as possible. So, everyone from c-suite to engineering team needs to have their eyes fixed on the prize and built collaborative product visions and objectives with representatives from cross-functional disciplines.

2. Build an Empathy with your Customer: Share the experience from your customer visits and interactions with team members. It is good to bring your engineers, testers, business analyst, user experience and the members of the delivery team to the customer to observe.

3. Answer all the questions about Work in Progress: Be available for the clarification of acceptance criteria, prototypes review, completed stories and demos. Until you see it, the team can't consider it done. Always attend your team demos and market the demo.

4. Be Part of Team Retrospective Meeting: Be ready to give and receive feedback. Also, Be engaged and expect retrospective to be well facilitated, and transparent. Each retrospective should conclude with one or more specific actions for improvement.

5. Leverage Agile Strategically to shape the Product to Market Need: Capture the feedback from the customer and use it to reshape the vision, requirements, and priorities.  Delegate the decision making authority to business analyst, tester, or Scrum Master and whoever has the right skills.

6. Develop the Product inch by inch: Think small tests or slices with clearly defined desired outcomes. Teams need clear, measurable acceptance criteria so they can create tests necessary and deliver what you need.

7. Sketch out the View of Product: On the agile product, you don't try to understand or predict the product requirements up front. However, you need to sketch out the long view of the product to establish a common focus and organisational resources of people, money, space, and governance. From the tipping point, you need to define what to build in each release and each iteration.

        There are 3 levels - Product, Release, and Iteration corresponds to 3 views(Big views, Pre View and Now View) of the product. The Big view is an overall understanding of the product and the sequence of the delivery. The Preview outlines what product functionality to deliver in given release and obtain the agreement on product backlog items to deliver in the first few iterations. The Now view defines the item deliver in an iteration. So, the Product Owner should keep the big view in mind, when they progress through Pre-view and Now View.

8. Use Product Roadmap for the Guidance: Agile projects need a planning and analysis tool called product roadmap. It is an evolving plan of product releases with a brief description of themes, features, and anticipated outcomes. The product roadmap is the product vision over time and satisfies goals and objectives. There are 2 things to remember: Evolving and Over time. When the product is developed, the roadmap must be revised to include technologies, opportunities, marketing condition, customer feedback and new learning.

9. Develop KPI's and use to drive Priorities:  Product Owners need to ensure their development team is data-driven in decision making. Their role is to define key KPI's on product performance in the areas such as customer satisfaction, financial, risk and other criteria to help drive priorities.

10. Develop Brands, Platforms, and Ecosystem: Product Owners need to recognise that product do not survive in silos. They need to consider how their offering become a platform or interface into an appropriate ecosystem. They must also partner with marketing to build brands, prospects and develop the relationships. Product Owner should know how and when to thank the team for accomplishment on small and big wins.

       Product Owner has the vision and passionate about the product. He knows why we built the product, the Problem to Solve and for whom to deliver the product. These individuals maximise the value of the product and built according to Scrumguides. Stakeholders are the people to use the product, and they are affected by the system being developed. He needs and expresses ideas as user stories.

        For instance, In the Hotel Reservation System, stakeholder needs to book the hotel and can describe as one user story. The development team has to build the system. This agile team has the capacity to release user stories 4-6 per week. But, the bunch of stakeholders has the number of ideas and visions. Suppose, they ask for 10 user stories per week to develop the system. The development team gets overloaded by user stories. The product owner takes the responsibility to limit the work(ex, WIP limit =5) without causing overloading. The side effect of WIP Limit is the formation of the queue in front of the development team. It is called the product backlog.

     There is a tradeoff between different types of values. It includes short term and long term thinking. Earlier on the project, There is a need to analyse the following factors,

       * Scope - It is to define the total quantity and functionality planned to develop

       * Business Risk - It is to analyse what we are building is the right thing?

       * Technical Risk -  Which platform to work on the scale?

       * Resources - Number of people working on the projects

       * Social Risk - Can these people build on?

       * Cost & Schedule Risk - Can we finish the product at the reasonable amount of time?

The Challenges can be solved, once you have the answers to these questions,

     * What is the right thing to build?

     * How do we build up the right thing?

     * How can we do it most effectively?

     * How to coordinate with the team to do it effectively and in time?

        Designing the valuable products, ensuring priorities and productivity of the organisation is a chief role of the Product Owner. If the PO fails in channelising above roles and responsibility, the project gets doomed. So, it is essential for any product owner to recognise the process in which roles and team work together for the success of a project.

       When the uncertainty is high, it is necessary to focus on knowledge acquisition like user interface, prototypes and technical information and experiments. The product owner can decide what should be in the queue, the sequence, the value of the story and the size. The biggest value can discuss with the stakeholders. Every time the team delivers the product to real users, the team gets the idea of value and size. Product Ownership is all about the communication about the prioritisation, value, and size that are called backlog grouping.

    From the Customer Value perspective, When the uncertainty is reduced, we can focus more and more on customer value. By doing the highest stories first, you can get the steep customer value, and the value curve gradually flattens out. So, build the important stuff and add the noticed features first. At any point, the customer feels met the value, trim the tail and move on to another or whole new feature on the same product. It is called business agility. So, the value can define as,

                      Value($) =  Knowledge Value(?) + Customer Value(😊)

The Product Backlog - Ultimate To-Do List: A product backlog is a prioritised list of work for the development team that derives from the roadmap and its requirements. The important items are at the top of the product backlog. So, the team knows what to deliver first. The development team pulls the work from product backlog either continually from kanban or by the iteration scrum.

             The roadmap can be broken down into epics(here green, blue, teal) and user stories for each of those epics. The product owner organises the user stories into the single list for the development team. Product Owner Prioritize user stories based on,

 * Customer Requirement

 * Urgency of getting the feedback

 * Relative Implementation difficulty

  * Symbiotic relationship between work items (e.g. B is easier if we do A first)

Effective Product Owner seeks input and feedback to optimise everyone's workload and the product delivery.

No comments:

Post a Comment