Dogfooding

By

min read

Everytime you plan on cooking something, before serving along with presentation you make sure that the dish is well cooked and tastes upto the mark!
Now, you would be wondering, the title says ‘Dogfooding’ and the author talks about tasting food – What is this got to relate with technology/software/product? Don’t get puzzled by all this ! In reality, this is a concept used by majority of the companies to ensure their products yield more value to the end users.

hunger, hungry, eating-413685.jpg
Understanding the concept

At its core, software dogfooding is about more than just using your own created products; it’s a strategy to test, validate, and improve the product or service before it reaches the customer. By experiencing firsthand what your users will encounter, you gain invaluable insights into its functionality, usability, and overall user experience.

Why is it important and what are the benefits?
  1. Capturing flaws/bugs or limitations
    Often when we test a product feature by feature, we tend to uncover scenarios that may not appear in traditional testing. When engaging with the end to end solution, it is easier to identify issues and resolve them quicker.
  2. Capturing feedback from different personas
    When you open your product to end users of different business units, you are bound to receive variety of feedback and perspective from end users. These insights can fine-tune your products or features prior to making it to the market.
  3. Promoting Innovation
    If the built product is something that can be used by your internal users (Technology and Business teams) within their day to day activities, it encourages them to provide enhancement ideas to make your product stand out from your competitors.

Understanding the path by Product Owner

Issac and team worked on creating a feature ‘Smart Insurance Comparison Tool’ that provides customers capability to find a suitable and cost-effective auto insurance policy tailered to their preferences.

What are the feature capabilities –

  • User authentication and profile creation to capture area/address, driving history, vehicle details and coverage preferences
  • Integration with Insurance Provider APIs to fetch real-time data on policies, rates and coverage options
  • Machine Learning algorithms to analyze user, vehicle and coverage preferences to provide recommendations of different auto insurance companies
  • Visual comparison interface to compare insuances and highlight differences
  • Navigation to Insurance provider website for quote generation with retrieved information from our platform
  • Customer Support chat function
  • Complying with data protection regulations and having robust security measures to encrypt sensitive information
Facilitating Dogfooding
  1. Lead by Example
    • As the feature is developed, Issac actively indulges himself in using it within his daily workflow
  2. Team participation
    • He identifies Business Verticles who’s feedback could be benefitial to improve the feature. Such as,
      • Customer Service team to validate customer queries are captured appropriately at the CRM
      • Marketing teams to validate website content, marketing messages or promotions are accurate
      • Legal teams to validate compliance for data, privacy and insurance industry standards are met
    • Along with business, he ensures Technology teams are also involved in testing. Such as,
      • Engineering teams to conduct unit testing, ensuring individual components function as intended and to verify API is pulling right information and limits are not being exhausted. Also test machine learning algorithms used for insurance comparison
      • Quality Analyst to conduct end to end functional and regression testing to ensure new features are not impacting existing functionality
      • User Experience Designers to evaluate tool’s user interface for design consistency and usability
      • Data and Analytics team to capture data for tracking KPI and other metrics

        Overall these teams would also perform testing as an end user to help identify improvements in user experience
      • He organizes weekly sessions to learn on every team member experience, challenges and suggestions related to using the feature
  3. Project Management Tools & Documentation
    • He prepares a list of team members from business and technology who are willing to participate in contributing to feedback of the feature
    • Creates a shared document or feedback system where the team members can document their feedback
      • These can be in the form of a user story or acceptance criterian that will hemp the user navigate through steps
    • Additionally, he documents appropriate stepsm, activity diagrams and workflow diagrams depicting how the feature functions

      He allots a period of one sprint for the team members to perform beta test.
  4. Arranging Regular Feedback Sessions
    • He organizes weekly sessions with team member to understand their experiences, challenges and expand on the suggestions related to the feature
    • He defines an improvement epic and ties to the required objective
    • He further breaks down the suggestions and challenges into smaller user stories such as shown in the cards below –
    • Starts building a healthy backlog

As a Customer Service Agent, I need cases to flow to an available agent so that they are addressed as quick as possible.

As a customer, I need a portal to create a profile so that I can add my general information and vehicle information.

As a customer, as I enter required insurance choices, I need to see rates offered by other insurance agencies so that I can select right policy for my vehicle

  1. Incrementing Based on Feedback
    • He prioritizes the challenges and suggestions based impact and objectives
    • Incorporates these feedbacks into regular sprints and delivers the improvements

Don’ts !
  1. Don’t overdo it !
    • If all critical issue/challenges are addressed, it may be a good indicator to release the feature
  2. Don’t overlook the objectives
    • If the issue/challenges are identified and are aligning with business or product objectives, prioritize the development and release the feature
  3. Don’t keep interating on a same element/scenario
    • If the acceptance critetian is met and team is satistied, it is an indicator to release the feature
  4. Don’t rely testing the Latest Version only
    • Ensure that backward compatibility is intact and user experience is not impacted if the feature is utilized on older feature versions or windows versions
  5. Don’t just concentrate on testing the latest version
    • Ensure backward compatibility is still intact and provides a smooth user experience for existing users or user utilizing the feature on a lower windows version
  6. Don’t overlook Accessibility
    • Ensure that your feature is usable by individuals with disabilities, following accessibility standards and guidelines

Through regular feedback sessions and an iterative approach a team can continuously enhance the software based on both internal and external user experience . This approach fosters a collaborative and user-centric development within the team

Happy Dogfooding !