Thursday, March 14, 2024

What does the 4th Agile Principles (Business and Development Work Together) look like in Action?

Many want to go Agile or claim to be Agile. The question is, are you and will you align with the Agile values and principles? In this article, I expand on the fourth principle to better understand what it means and attempt to identify what evidence looks like to determine if a culture change may be occurring. What is this principle?  

Business people and developers must work together daily throughout the project. Agile attempts to bring an understanding of business value to the development team and the technical choices and challenges to the business side. To do this, it attempts to integrate business and development as one team. In traditional approaches, there is often little interaction between the business (e.g., product management, sales, and marketing) and development (aka, cross-functional technical team). On the business side, this may be the Product Manager or Business Owner. Scrum introduces the Product Owner (PO) role and XP introduces the Customer role as the bridge between the customer and the development team. These roles allow for a closer embodiment of the business and development team spirit and avoid fiefdoms and throwing work “over the wall” from one group to another with little interaction. 

The intent is to make a sincere effort to build a collaborative and amicable yet productive relationship between business and development. Development benefits from a better understanding of what the customer finds valuable. The business side benefits because development will ask for details that the business may not have thought about. In both cases, the result is a product that more closely aligns with what the customer finds valuable. What actions and evidence exhibit business people and developers working together?

  • An established and productive relationship between business/customers and development
  • A dedicated business owner who works continuously with the development team. 
  • Development comprises a cross-functional team with developers, testers, technical writers, designers, and so on. 
  • The business owner with the development team work together during iterative planning to build a mutual understanding of the requirements of what to build. 
  • The development team demos the working product to the business owner and customers to gain feedback to better align with customer value. 
  • The development team can reach out to the business owner whenever needed throughout the project lifecycle.   

It is up to you to determine what supporting evidence will highlight that continuous integration, build, test, and frequent delivery is occurring. It is worth experimenting with this as it will help you better understand and embrace the Agile principles. The ultimate question is, do you believe that business and development should work continuously together as a team?

-------------------------------------------------------------------------------------------------

To learn more about what the Agile Principles look like in Action, consider reading:


Monday, February 19, 2024

What does the 3rd Agile Principle (Frequent Delivery) look like in Action?

Many want to go Agile or claim to be Agile. The question is, are you and will you align with the Agile values and principles? In this article, I expand on the third principle to better understand what it means and attempt to identify what evidence looks like to determine if a culture change may be occurring. What is this principle?  

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale is the third Agile principle. This principle promotes the ability that when customers believe there is value in what is built, it can be immediately delivered. Identifying the elusive customer value means you can release it when the customer wants it. If it is delivered too early, the customer may not be ready for it; if it is too late, the market opportunity is missed. 

Agile thinking includes a fluid world, where changes are continuous welcome, and teams have the capability of releasing frequently. This ability to frequently release, highlights the importance of having processes and infrastructure to help with continuous integration, build, and test. This ability assumes a level of automation that needs to be in place. Automated testing increases the possibility of testing the functionality as is reasonable, including the capability of performing non-functional testing such as performance testing, load testing, and more. 

What actions exhibit frequent delivery?  
  • An established and positive relationship with customers
  • Iterative framework with Sprint Reviews to incorporate feedback quickly 
  • A release capability to incrementally and rapidly deploy software 
  • Continuous integration supported by a merging process and configuration management system 
  • A continuous build process supported by an automated build management system 
  • Test automation infrastructure that can support continuous testing  
It is up to you to determine what supporting evidence will highlight that continuous integration, build, test, and frequent delivery is occurring. It is worth experimenting with this as it will help you better understand and embrace the Agile principles. The ultimate question, do you really believe in the principle that focuses on frequent delivery?

-------------------------------------------------------------------------------------------------

To learn more about what the Agile Principles look like in Action, consider reading:

Tuesday, January 16, 2024

What does the 2nd Agile Principle (Welcome Change to Requirements) look like in Action?

Many want to go Agile or claim to be Agile. The question is, are you and will you really align with the Agile values and principles?  To better understand what this means, I dissected the Principles to better discover the intentions behind them and what behaviors they entail. In this article, I expand on the second Principle to better understand what it means and to attempt to model how to marshal supporting evidence that a culture change may be occurring.  

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage is the second Agile principle. From an Agile perspective, you embrace change to increase the chances of delivering value to the customer. You embrace change because you understand that change is necessary as customer needs, market conditions, and general demand change over time. 

Welcoming change implies several qualities. The first is that there is a positive attitude toward change from the team and management. The second is that while change ideas are admitted, they are methodically prioritized based on customer value along with existing requirements. The third is that there is a process that allows prioritized changes to flow without obstruction.

What actions may exhibit “welcoming change to requirements”? Some evidence includes:  

  • The PO continually engages with the customer to identify new requirements or changes to existing requirements. 
  • A methodical review of the change idea occurs to determine the priority amongst the existing requirements.
  • No person or process restricts incoming change ideas. 
  • The backlog is continually refined and reprioritized. 
  • Increment Planning and/or Sprint Planning is applied to introduce the newly prioritized requirements. 
  • Continuous customer engagement via customer visits and sprint reviews are applied. 

It is up to you to determine what supporting evidence will highlight that a culture change is occurring. It is worth experimenting with this as it will help you better understand and embrace the Agile principles. The ultimate question, if you really believe in this principle is, do you welcome change?

-------------------------------------------------------------------------------------------------

To learn about what evidence might look like to support the 1st Agile Principle (aka, Satisfying Customer with Valuable Software), consider reading: https://cmforagile.blogspot.com/2023/09/many-want-to-go-agile-or-claim-to-be.html

Saturday, September 30, 2023

What does the 1st Agile Principle (Satisfying Customer with Valuable Software) look like in Action?

Many want to go Agile or claim to be Agile. The question is, are you and will you really align with the Agile values and principles?  To better understand what this means, I dissected the Principles to better discover the intentions behind them and what behaviors they entail. In this article, I expand on the first Principle and attempt to model how to marshal supporting evidence that a culture change may be occurring.  

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software is the first Agile principle.  Satisfying the customer means delivering valuable software in a timely manner (that is, in the market window) for a reasonable cost. Continually striving to meet elusive customer value is important. Ultimately, the key measure of value for customers is an increase in sales and the continued loyalty of existing customers. 

How do you know that you are moving in the right direction of building value? It starts with understanding your customers: who they are and what motivates them. Their profiles include such information as their challenges, their vision for your product, and their buying trends. 

Delivering value continues with an effective sprint review process where the customer gains an opportunity to review and provide feedback on working software. If customers can sense that their input is valued during the demos, their satisfaction can increase. This is particularly true if the customers see that their feedback from the last demo has been incorporated in the working software of the current version. 

In addition, it is beneficial to use the Business Owner/Product Owner (PO) as the delegated voice of the customer to solicit acceptance criteria on what the customer would expect when they see a particular requirement or feature in action. You may also conduct periodic customer surveys to gauge their level of satisfaction with the product or solution. 

What actions exhibit “satisfying customer with valuable software”? 

  • The PO works to understand customer value, constantly prioritizes and refines the backlog, and discusses customer needs with the team. 
  • The PO creates customer profiles to recognize motivations. 
  • The backlog is your single source of requirements (aka, value). 
  • The Customer vision reflects how you wish to engage your customers. 
  • Business Strategy focuses on delighting the customer. 
  • Customers are an integral part of Reviews to provide feedback and validate value. 
  • Acceptance criteria are been captured and met for each user story. 
  • Customer satisfaction surveys are periodically conducted. 
  • Customer revenue metrics are captured and reviewed.  

It is up to you to determine what supporting evidence will highlight that a culture change is occurring. It is worth experimenting with as it will help you better understand and embrace the Agile principles. The final question, if you really believe in this principle, do you believe in continuous customer engagement, adapting requirements, and validation as a means of building valuable software to satisfy the customer? 

----------------------------------------------------------------------------------------------

To learn about what evidence might look like to support the 2nd Agile Principle (aka, Welcome Change to Requirements), consider reading: https://cmforagile.blogspot.com/2024/01/do-you-have-evidence-to-support-2nd.html

Thursday, August 31, 2023

Importance of Agile Readiness for a Transformation

To be a successful farmer, one must first know the nature of the soil.  —Xenophon, Oeconomicus 

Have you ever been in a daily stand-up where everyone was reporting status to the one person they thought was the leader or where most didn’t know why they were doing a stand-up every day or ever? This highlights a lack of readying the mind for what a daily stand-up is and why we are doing it.  A lack of readiness can stall or halt an Agile transformation because people aren’t in the right frame of mind for transitioning to Agile.

Readiness starts the moment when the question, “Is Agile right for me?” is asked. Readiness activities can help you better determine if Agile is right for you. Agile readiness is akin to conditioning and fertilizing the soil before growing the seeds. It is good to take a realistic look at the conditions of the fields, equipment, and people. Conditioning the mind with an understanding of Agile principles improves the ability to adopt Agile in a way that leads to truly being Agile. Strengthening the soil helps improve the physical qualities of the soil, especially in its ability to provide nutrition for plants. They can make poor soil more usable and rebuild soil that has been damaged by improper management.

This is exactly what readiness activities can do. Examine the condition of the environment where Agile is being considered. Understand and educate people on the Agile values and principles and the business benefits that can be gained. Gauge the buy-in from leaders and the willingness and capability of teams. Determine if openness or command-and-control behaviors are being exhibited (explicitly or implicitly). Understanding this context provides valuable insight into ways to adapt and move forward.  What we learn, can help shape the agile implementation according to the condition and context of an organization.

You do not need to complete all readiness activities to begin implementing, but I have learned that if you begin implementing Agile, you quickly realize that you will need to address these areas, so it is better to be proactive. With this in mind, an iterative approach may be used. Here are high-level readiness activities that you may consider. As always, feel free to adapt this list of activities if it benefits you.

  • Establish a common understanding of Agile.
  • Construct and share the drivers for an Agile organizational change.
  • Provide Agile mindset education based on Agile values and principles. Then determine subsequent educational needs.
  • Add “Customers and Employees Matter” to the company vision and share this with employees.
  • Gauge levels of executive and stakeholder buy-in.
  • Establish an overall strategy and backlog for the agile transformation.
  • Determine team willingness and capability.
  • Identify allies, champions, and subject matter experts (SMEs) and resources.
  • Identify and establish agile roles and organization.
  • Establish agile frameworks and practices that may be used. (This should not be a prescriptive model but a flexible framework, because each team is different.)
  • Establish done criteria, user story framework, and sizing techniques.
  • Craft measures of success and general metrics.

A benefit of readiness activities is that you can adapt the transformation approach based on what you learn. Another advantage is that if you find that there are challenges in an area, you can address and improve the situation. For example, you may find that there is not a clear driver for moving to Agile. This can initiate discussions on the business benefits of Agile, motivational factors behind the move, and what it takes to be Agile.

Consider Agile readiness activities as the first increment in your transformation. The outcome of Agile readiness and what you’ve learned can help you better plan the next iteration. Finally, I recommend that once you embark on these activities, you initiate periodic check-ins to gauge progress, mitigate roadblocks (such as risks and issues), and adapt along the way.

Wednesday, July 26, 2023

Are there Benefits for adding ChatGPT as a team member?

There is evidence that ChatGPT can be beneficial in helping you do your work. Involving ChatGPT today is already occurring in repetitious, creative, and diagnostic type work. Some say it’s inevitable and you should learn to work with many forms of AI. Current uses have shown that it can improve work efficiency, assist with tedious tasks, help you with creative tasks, and facilitate learning. We are also learning that because ChatGPT is based on a large language model, it can act as your assistant; providing personalized responses based on your inputs, helping you work smarter, and boosting your productivity.

As it can help an individual in their work, how about helping a team?  In this article, I explore how helpful ChatGPT can be for a team. In other words, I suggest making ChatGPT a member of your team. ChatGPT is an artificial intelligence chatbot capable of mimicking human-like conversations so why not be a member of your team? As mentioned, ChatGPT has been recognized to boost productivity so let’s consider the context of a software engineering team who are producing new features and correcting bug fixes to the code base.  To consider this, here are the potential positives, negatives, and limitations of incorporating ChatGPT as an engineering team member. Here are some considerations:

First, let’s start with some Positives:

  • Multi-tasking: ChatGPT can handle many questions, inquiries, and tasks simultaneously allowing certain work to be handled more efficiently and scaled to a higher volume of work.  
  • Quick feedback: ChatGPT provides quick feedback to questions and inquisitions allowing for more input for potential better options and decision-making.
  • Availability: ChatGPT is technically available 24/7 and can work while team members rest allowing for busy work to get completed and tasks to be ready for team review when they are back online.
  • Scalability: As an AI, ChatGPT can handle a high volume of inquiries without experiencing fatigue or requiring breaks.
  • Database of information: ChatGPT has access to a vast amount of information and can provide accurate and up-to-date answers to team members' queries.
  • Human Languages: ChatGPT can speak in multiple languages and can accommodate global teams across multiple boundaries and locations.  
  • Programming Language: ChaptGPT has the potential for programming capability across various language platforms.  

Next, let’s move to the Negatives:

  • Time from Team Members: Working ChatGPT will take time from some team members. A buddy for ChatGPT will need to be designated to help provide context for ChatGPT, line up tasks, reduce ambiguity of the requests, verify and validate the work done by ChatGPT, and more.
  • Lack of emotional intelligence: ChatGPT lacks emotional understanding and empathy, which may limit its ability to provide refined and empathetic output to team members.
  • Limited contextual understanding: ChatGPT will struggle to understand the context in which you are working including the complexity of the work, potentially leading to misunderstandings or incorrect responses.
  • Bias and completeness fn training data: the database from which ChatGPT pulls has already shown some bias based on patterns and data provided which means it may generate reasonable responses but may be incorrect or biased if not carefully reviewed.
  • Lack of creativity: Because ChatGPT pulls from existing data and patterns, this limits its ability to generate genuinely innovative or creative ideas.

Finally, several considerations should be factored in. The first is ethical considerations as ChatGPT may inadvertently generate or reinforce biased or discriminatory responses due to its training data (which includes such biases). Careful monitoring and bias mitigation strategies will be necessary. The second consideration is legal and compliance challenges.  Incorporating ChapGPT into a product team may raise legal and compliance concerns, particularly in regulated industries that require human input, oversight, and/or accountability.

It's essential to consider these factors and strike a balance when integrating ChatGPT or any AI model into a product team. Human supervision, ethical guidelines, and continuous evaluation can help mitigate the limitations and ensure optimal utilization of AI technologies like ChatGPT. Now it is time for you to wrestle with this question: Are there Benefits of adding ChatGPT as a team member? Hopefully the overview, positives, negatives, and considerations can help you with your answer. 

----------

If you are interested in learning more about ChatGPT in relation Agile, Teamwork, or experimentation, consider reading these additional articles:



Friday, June 30, 2023

How to Experiment with ChatGPT

As ChatGPT continues to make waves, is it time to learn more about it? One way to approach this is begin experimenting with ChatGPT within your context.  Learn where ChatGPT can help and where it can benefit you. In other words, what do you want to get out of ChatGPT? This allows you to test your hypothesis and the surrounding assumptions to provide knowledge and insight into whether (in this case) ChatGPT can help you or not. Here is an example.

Start with the question: Can ChatGPT help my team improve? Validate this question. Conduct preliminary research to gauge if this is relevant for your team. Start by finding out if team members are interested in using ChatGPT. This can also help you identify assumptions and if there are any other variables in play that can impact the direction of the experiment. It can also help you narrow down an area that you think ChatGPT can help.  After discussion with the team, team members believe that ChatGPT can help in retrospectives

Craft a hypothesis in a clear sentence on what you expect to find: Include ChatGPT in the retrospective can lead to better root cause analysis.  Some team members had an assumption that ChatGPT could provide root cause analysis capabilities. A hypothesis can help you validate whether ChatGPT can provide better root cause information. You can also use the “if… then” form: if we use ChatGPT during our retrospective, it will provide better root-cause analysis results, leading to more effective actions for improvement.    

Craft the experiment. Now that you have a sturdy hypothesis, it is time to craft your experiment. Describe the steps through your experiment. To do this, consider how long the experiment will run and who will be involved.  In this case, you decide to include ChatGPT in the next three retrospectives in order to get a more meaningful set of results and to have time to determine if the actions are leading to more effective results. Determine who will use ChatGPT during the retrospective and how the questions and statements will be written. Also consider the metric you will use to validate your result and what success criteria you will use to determine if the hypothesis was true (or not).  At this point, it is time to run the experiment. 

Run the experiment. An experiment should be considered as recognized effort and categorized as real work to track in your backlog.  Enact the steps listed in your experiment. Capture observations along the way and results upon the conclusion of the experiment. Get together with those who are involved in the experiment and determine what you’ve learned. Ask the question, did what we learn validate the hypothesis (or not)?  Then determine what decisions you will make as a result of this experiment. In this case, should you to continue using ChatGPT for retrospectives (or not)? Determine if there are any next steps. 

In conclusion, if you are thinking about ChatGPT, the key is to experiment. ChatGPT is a tool like other tools that may benefit you. Brainstorm where ChatGPT can help you in your context. Use the experiment to see if it does. Consider multiple experiments so that you build working knowledge of ChatGPT in your environment and working context.

---------

If you are interested in learning more about ChatGPT in relation Agile, Teamwork, or experimentation, consider reading the following articles: