Early Adopter

Agile Principle #1: Satisfy the Customer

Value

Agile Principle #1 states “Our highest priority is to satisfy the customer through early and continuous delivery of valuable solutions.”

Principle #1 is #1 for a reason!  Every team, group or organization has a customer, whether it’s an internal customer, an external customer or both.  The utmost concern for our team must be that we are providing value and satisfying our customer, for without that nothing else really matters.  In almost all cases, satisfying the customer is economically driven and teams have limited people and resources in doing so.  We relatively rank our items to address our most important and valuable items first.  This may be easy and quick for a simple “to do” list or we may have to spend more time for a list of more complex initiatives, always with a watchful eye on expending just enough effort to do so and no more.

Peter Drucker stated “There is nothing so useless as doing efficiently that which should not be done at all”.  Working on the right thing is important and we can increase our success by adhering to best practice relative ranking exercises.  Even in doing so, we can still fall prey to failure. Failure is not necessarily a bad thing.  Much is learned by failure, but if we are going to fail we want to expend the least amount of effort to do so – in other words, “fail fast”.  By failing fast, we can quickly pivot or pick up something new that will provide customer value.

“Through early and continuous delivery” is a phrase in principle #1 that amplifies two significant points which are “leveraging feedback loops” and “maximizing value”.  Feedback is the cornerstone of Agile. Feedback loops are akin to a sailboat tacking to its final destination.  The tighter the feedback loop the better we can adjust and stay on line, but also the more effort we expend on the checking process.  Determine how long you want to sail along before checking your course.  Early and frequent feedback loops with the customer enable us to adapt, pivot and fail fast.

Releasing early and continuously allows us to also maximize value.  If we have 20 things prioritized, we then identify the smallest number of those things that will be of acceptable use to the customer and provide maximum value.  As an example, if we were building the first Automated Teller Machine (ATM) and we wanted the machine to “Withdraw Cash”, “Deposit Funds” and “Inquire on Balance” would it be wise to wait until all three features were available before delivering it to the customer?  Would it be wise to wait for the ATM to be able to remember what your most common withdrawal amounts were and proactively offer those choices?  Or would it be wiser to deliver the ATM as soon as possible without certain features?  These are decisions that you need to make, but the point is that the longer you wait to deliver value to the customer the longer you wait to receive the economic rewards which in turn is losing you money, along with depriving you of essential customer feedback as they use the solution.  So why not deliver the smallest number of features that provides the most economic value and then adhere to Principle #1’s phrase of “through early and continuous delivery of valuable solutions” by then delivering subsequent prioritized features continuously throughout the life of the effort.

Through some of the outlined and other practices we can deliver value to our customers continuously.  Continuously Providing Value = Happy Customer!  🙂

Advertisements

Daily Scrum Personas

Daily Scrum Team

The Scrum Guide defines the Daily Scrum as a “15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours”.

Each person answers 3 questions:

  • What did I do yesterday that helped the Development Team meet the Sprint Goal?
  • What will I do today to help the development Team meet the Sprint Goal?
  • Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?

The Development Team leverages these 3 questions to inspect, self-organize and empirically adapt to deliver the Sprint Goal.

The above information is straight out of the Scrum Guide, but as we practice our Daily Scrum we just might meet up with some of these people, listed below, that will provide us some coaching opportunities.

I hope these examples are helpful for the person just starting to implement Scrum at their organization and a review for other experienced Scrum practitioners.  Anyone who has any additional examples, please feel free to add them as a comment and we can build on the list!

Larry

Larry “Looking for a Leader

Larry is 45 years-old and has been in IT for nearly 25 years.  All of those years have been working in a strong command and control environment. He’s a very structured individual and a compartmental eater.

Larry looks directly at the Scrum Master while answering the 3 questions.  This is a tell-tale sign that Larry is looking to provide a status report to a person in charge.  He has not yet embraced the philosophy of a self-organizing and empowered empirical team.  He should be speaking to the team and not any one person. Explain and reinforce the empowered empirical team through coaching, games and exercises.

Penelope

Penelope “Problem Solver

Penelope went to well-respected university and was a double-major in Computer Science and Philosophy.  She doesn’t have much patience for useless formality or rules that get in her way.  She loves to dive into the detail and solve problems.  Her mantra is “Patience is a waste of time!”

Penelope conducts an immediate deep-dive into details surrounding information voiced during the Daily Scrum.  When an issue comes up during Daily Scrum, she asks questions and begins to solve the problem on the spot.  We need to coach Penelope and the team to list topics for further discussion in a parking lot or discussion list.  When the Daily Scrum is done then you can identify who wants to participate in the discussions.  There is no reason to involve teammates who are not interested in that topic.  The conversations can be conducted right after the Daily Scrum or later as the team sees fit.

Nicholas

Nicholas “New Guy”

Nicholas is 22 years old. He just graduated college and joined the company about 3 months ago.  He’s a little overwhelmed with all the things he needs to learn at the new job.  He’s hardworking, but insecure about the amount of work he can get done in a day compared with his experienced teammates.

Nicholas talks about anything he can think about that he did in the day, so that his team will not think he is unproductive.  He mentions the meetings with his manager and other non-sprint related activities.  Nicholas and the team need to be reminded that they need not speak about non-sprint related activities during the Daily Scrum.  They should only be speaking about information that pertains or impacts the sprint.

Sammy

Sammy “Scrum Master”

Sammy was a project manager for 5 years until his company adopted Scrum and he transitioned to Scrum Master.  Sammy likes nice orderly meetings and ensuring that the team is on track for delivery.

Sammy sets rules for the team, such as punctuality, no interrupting, etc.  He sets the order in which people should speak to increase efficiency.  Although rules are not necessarily a bad thing, the team should create rules of engagement and determine the speaking order on their own.  We need to take every opportunity in having the team realize and practice that they are a self-organizing team.  Conduct activities and games to fortify this concept.  Try having the person currently speaking choose the next person to speak.

Priscilla

Priscilla “Product Owner”

Priscilla has worked for this company for 20 years.  She is very intelligent and understands the sales and advertising business very well.  She also loves technical work and is adept at pulling data and analyzing it.  She always wants the latest technology solution and, even though she works in sales herself, is an easy sell.

Priscilla listens to the Daily Scrum, but cannot help advising the team on how to order their work effort to be more efficient.  She questions remaining time on tasks and pushes the team regularly at the Daily Scrum. We need to counsel Priscilla that the Daily Scrum is for the Development Team to assess progress and figure out as a self-organizing team how to accomplish the Sprint Goal and deliver the agreed upon sprint backlog items by the end of the Sprint.  As the Product Owner, Priscilla should not be interjecting during the Daily Scrum.

Beginning an Agile Transformation at Your Organization: Shu-Ha-Ri?

I attended the Agile Open Florida event in St. Petersburg Florida and the attendees’ organizations there seemed to be split into three camps:

  1. Some teams within the organization practicing Agile and the other teams practicing Waterfall.
  2. Organization just announced or beginning transformation to Agile (2-6 months into it).
  3. Organization been practicing Agile for a year or more (at different levels of maturity).

My perception was that the majority of the attendees’ organizations fell into Group 2 and I would like to expose them and others interested to the teachings of Shu-Ha-Ri and the question of its adoption.

Shu-Ha-Ri is a Japanese martial art concept where the term translates roughly to “first learn, then detach and finally transcend”.  The definition pulled from Wikipedia follows:

It is known that, when we learn or train in something, we pass through the stages of shu, ha, and ri. These stages are explained as follows. In shu, we repeat the forms and discipline ourselves so that our bodies absorb the forms that our forebears created. We remain faithful to these forms with no deviation. Next, in the stage of ha, once we have disciplined ourselves to acquire the forms and movements, we make innovations. In this process the forms may be broken and discarded. Finally, in ri, we completely depart from the forms, open the door to creative technique, and arrive in a place where we act in accordance with what our heart/mind desires, unhindered while not overstepping laws.”

There are some Agilists that believe organizations should practice Shu-Ha-Ri during their Agile adoption and there are others that feel the practice places a damper on the self-organization and empowerment of the teams.  We could debate it theoretically (the scientist’s perspective), but given the audience I am addressing, I prefer to discuss the actions needed to implement Agile within their world (the engineer’s perspective).

If your organization is just beginning its Agile journey, it would behoove you to select established practice(s) and adhere to their guidelines, whether it be Scrum, Kanban, etc.  Teams should self-organize and be self-governing, but I have seen organizations fail because they do not have the sufficient knowledge to implement the practice.  They make too many changes to the established practice too early or are further handicapped because their organization dictates variations from the start.

The best action is to acquire an experienced coach or consultancy to lead you through your transformation. If you cannot do that then learn the Agile practice(s) you have chosen and try not to deviate unless you feel you have the Agile knowledge and process maturity to do so.  It’s important to follow the practice of Shu-Ha-Ri in inverse proportion to the level of Agile knowledge and experience your organization can draw from. In other words, the less coaching and knowledge available to you the more you should lean on the practice of Shu-Ha-Ri.

It is easy for an organization’s teams to fall prey to deviating from a practice too early.  In most instances, newly assembled teams lack the knowledge and maturity in Agile values (ex: transparency). The theoretical argument might be to let the team change what they want from the very beginning because they will ultimately learn and adapt.  The lessons they learn from the experience will make them a superior team and enable them to become a better empowered and self-governed team.  Theoretically, I would agree with this, but the real world can be harsh.  Your poor decisions have a cost and I do not find the world or many organizations to be overly patient.

So, if you want to succeed on your Agile journey, the best course of action is to have a coach that’s been there before.  If you can’t do that then I wouldn’t stray from the fundamental teachings too much, especially before your Agile acumen is grown. If you are forced with early decisions, then your first step should be to refer to the 12 Agile Principles.  I find more times than not that they set the right direction.

 

Challenges Ahead During Your Early Agile Transformation Days

As promised, I’ll now address two areas that I believe provide challenges for an organization in its early stage of Agile Transformation; even before an enterprise Agile framework is taken into consideration.  Listed below are two of the most challenging areas, symptoms and possible treatments for some of those symptoms.  Each one of these could become a discussion of their own, but my goal is to give the people in the early stages of Agile Transformation some items to look for and address.  I hope it achieves that purpose for you.

Challenge Area 1 – Mastering Scrum Roles, Artifacts and Activities

Symptoms:

  • Product Owner (PO) suggesting or assigning tasks to team members
  • PO anchoring and/or influencing team task estimates
  • PO working on other activities (probably related to previous job position duties) to the detriment of backlog completeness
  • Product backlog items (PBIs) are not ready for planning
  • Backlog Grooming/Refinement is not taking place
  • Scrum Master (SM) driving decisions instead of asking questions to lead the team to their own conclusions
  • Scrum Master allows stand up to have extensive conversations outside of the three questions
  • Team members speak directly to the Scrum Master as they answer their three questions during daily stand ups when they should be speaking to the whole team
  • Team members disengaged at Sprint Planning and Refinement (ex: open laptops, not contributing)
  • Retrospective is a “complain-fest”
  • Team members accepting work from someone other than the PO
  • None of the identified Retrospective improvement Items are actively worked and remediated in subsequent sprints
  • Sprints have too long of a time box eliminating urgency

Treatment:

In many organizations as they start their Agile Transformation the product owner and scrum master roles are filled by project managers and managers.  They sometimes can have minimal experience and education about their new role and fall back on previous command and control practices.  The team may also already be accustom to taking direction from them and everyone easily falls into the old command and control relationship.

If you have a Guiding Agile Partner (strongly recommended) then they should be providing education and direction to individuals and to the group as a whole in a “just in time” (JIT) fashion to correct these situations.  Scrum Masters/Agile Coaches can also provide this direction as they mature in their role.  You can also visibly display Agile definitions, statements, etc. on posters or signs related to your more stingy pain points.

Keeping the product backlog in the proper state is the most important activity for the PO.  The PBIs must be prioritized and in the “ready state” before planning or you greatly risk sprint success (see appendix below for definition of ready).  If the PO is too involved in carrying out work related to their previous role (ex: support or troubleshooting) then it will affect backlog quality.  A cross-training PBI to ramp up a team member and allow the PO to shed their old responsibilities is not out of the question.

It is important that the SM is a servant leader.  They should concentrate on creating a successful process and removing impediments.  They need to ask the right questions and foster participation from all team members.  If team members are only making eye contact with the SM during the daily scrum then this indicates that they feel the daily scrum is a status report for the SM.  The SM needs to remind the team that the daily scrum is not a status report and is meant to share and discover information across the team.  A trick to facilitate the correct mind set here is to let a different team member facilitate the daily scrum each day.  The SM cannot allow team members to enter into long discussions during stand up.  I recommend having a parking lot where you list any items needing longer discussions along with a list of the team members to be involved.  After your daily scrum you can choose to discuss them or schedule a separate time to address.  Your daily scrum should not be more than around 15 minutes.  A cute trick that I learned from a consultancy (AgileThought) and that I use to identify the end of the stand up is to announce “Daily Scrum Dot Done” (DailyScrum.done).  This provides a clear end point so the team clearly knows when they can leave or pick up larger discussions.

Everyone has been involved in a lessons learned, post postmortems or retrospectives.  How many of you have spent time collecting feedback only to never act on remediation?  At the end of your retrospective you can have the team “dot vote” and make sure to include prioritized remediation as part of the next or subsequent sprint.  The Retrospective is a waste of time if you don’t act on the identified items. The SM needs to develop techniques to gain full team participation and uncover important items that need improvement.  There is a lot of information out there on different ways to conduct retrospectives and keep them fresh.

Team members cannot accept work from anyone other than the PO.  Listen carefully as you conduct daily stand ups that no team member is working on a task outside of the sprint and the PO’s knowledge.  Nicely call them out if it is the case.

When it comes to the length of your sprint, I would always recommend that in the beginning you don’t go beyond 2 weeks.  This is purely subjective, but I feel that especially in the beginning of your Agile Transformation it will provide you with a heightened sense of urgency for delivery and provide ample time between retrospectives so you don’t move in the wrong direction too long before correction.  If 2 weeks doesn’t work for you then you can adapt and change it.

Challenge Area 2 – Dependencies Within and Across Teams

Symptoms:

  • Unable to start prioritized task within current sprint because limited knowledgeable resource is busy on another task
  • Unfinished Product Backlog Items (PBIs) at end of sprint
  • Time spent waiting on other teams in a current active sprint

Treatment:

In the beginning of your Agile Transformation you have done your best to assign individuals in to cohesive, empowered and self-organizing teams encompassing representation across all of your business areas.  An optimal scrum team has all the needed knowledge and skill sets available within each of their team members so that they may successfully complete their PBIs and provide value to the business every sprint.  This is referred to as being “T-Shaped”.  If all of your team members are “T-Shaped” then you have less likelihood of bottlenecks and wasted time.  If everyone is not “T-Shaped” you can estimate the effort to become “T-Shaped” and construct a plan towards this end while minimally sacrificing the delivery of value to the business.  Obviously, you always need to weigh the time burned to do so vs. the gains produced.

You can accomplish tasks and PBIs more quickly if you do not have to go outside of your individual scrum team.  You aspire to this model, however, it is improbable that you will never have to do so.  Before your Agile Transformation you most likely had some silo groups such as database, middleware integration, etc. You have an issue to address if you don’t have enough people to include at least one of those individuals on each team or if the code is not loosely coupled enabling multiple people to easily work on it simultaneously.  Even though you are not yet ready to adopt an Agile enterprise framework, you may be forced to create a separate team that will field all the other scrum teams’ requests for this skill set area.  I recommend you only do this when absolutely necessary because you can very easily abuse this action and end up right back where you started with silo skillset groups.

In some cases, you require dependencies on other teams.  Since you haven’t scaled yet, you will need to have a Product Owner collaboration session on a regular basis so communications are open and prioritization across teams can initially occur until you adopt an enterprise agile framework (some may say a Scrum of Scrums, SAFe, LeSS, Nexus, Program Team, etc. – but again we are not scaling yet).  My recommendation is to create your PBIs such that they never depend on another team in order to complete the PBI.  If you have a PBI that depends on another team for completion then separate each set of tasks out into their own PBI with the dependency falling in the middle of the two PBIs.  This is not a published practice and other Agilists may have theoretical objections, but it works for me, resulting in less unfinished PBIs and a cleaner more transparent demarcation of dependencies.

In conclusion, I hope this discussion will alert you towards earlier recognition and remediation of some of the more common challenges during the early period of your Agile Transformation.

“Discussion Dot Done” (Discussion.done)!  🙂

Appendix:  PBI “definition of ready” from the book Essential Scrum by Ken Rubin.

PBI Definition of Ready

Agile Transformation: First Step

Let’s face it – there is no specific step by step map to follow for your organization’s agile transformation. Every organization is a unique and complex configuration of people, culture and practices.  As IT professionals we seek an orderly set of specific rules to follow, but I’m telling you based on my experience there is no exact plan that you can follow.  The Rational Unified Process (RUP) which I consider to be one of the first popular iterative methodologies in the late 1990s had difficulty getting initial traction because a majority of early adopters took the published process and tried to implement every single step it described.  Only those who recognized that the process needed to be configured and that they needed to pick and choose the actions for their specific organization and initiatives were able to have success.

So in order to successfully transform our organization we must first start the loop of receiving/eliciting FEEDBACK and ADAPTATION.  As in a sports game, there are many factors that are going to be constantly changing.  You receive feedback, assess the situation and adapt to win.

So where there may not be a step by step guide on how you can transform your organization, the good news is we can provide guidance from our experienced situations, challenges and successful adaptations.  My hope here is that I can share some of my experiences and provide you with somewhere to begin to assemble or supplement your Agile Organizational Transformation.  Please take them as they are, tweak them, add to them, pivot and hopefully share your successful implementations and/or adaptations.

Grass Roots Transformation:  “Influence your leaders to speak to other leaders who have adopted Agile at their organizations.”

My personal experience has taught me that it is difficult to implement an organizational Agile transformation as a grass roots IT initiative without the support of senior leadership.  I have been a part of development teams that have implemented Scrum and were successful in product delivery only to have later projects dictated to follow a different methodology because of educational, political or a list of other reasons.  Consulting companies I speak with say that they will not undertake Agile transformations for companies where senior leadership is not driving or at least in support of the transformation.  If developers are pursuing a “grass roots” attempt to adopting Agile they should introduce their senior leadership to other company success stories and senior leaders that their leaders can speak with about Agile.  The good news is that there are more and more companies, CIOs and CEOs that are embracing Agile.  More early adopters of Agile are now making their way into influential positions within their organizations.  My current organization senior leaders spoke to several other company leaders and were impressed enough to move in the Agile direction.  I can remember the era when all the CIOs were influencing each other to implement an enterprise financial system package.  I am now seeing the same buzz around Agile.  Do whatever you can do to fan the flame.

Supportive Leadership Transformation: “Organize your teams and focus on delivering customer value.”

Some experts advise to transform everything at once.  What’s worked in my experience has been to create your agile teams at the product level first.  Leave your program and portfolio personnel operating in the same manner until you’ve got your lower level product team structure and process working efficiently.   Once you’ve got the product level working then it will be time to address the program and portfolio levels.  The strategy in the way you embark on your agile journey will be strongly driven by the experienced individual or entity guiding your organization.

In the beginning, how you assemble your organization on a managerial and reporting level is something your organization will have to decide and will probably be determined or at least influenced by existing cultural and political conditions.  No matter how you initially decide to organize on an HR and managerial level you must form Agile Teams horizontally across your traditional IT organization. Your HR and managerial structure will be responsible for the career progression and performance of their people.  Each Agile Team will be responsible as a team to deliver the agreed upon value to the business.  When creating your Agile Teams do your best to put the correct people together on the team that can get the job done and limit dependencies on other teams as much as possible.

To do this first identify the business groups you need to support and then identify the corresponding product owners and/or executive sponsors that will represent these groups.  Select the proper people across the skill sets to be on the teams necessary to support each business group.  The product owner and/or executive sponsor now become the entity prioritizing the work to be done for this business group.

If you are currently in a traditional IT organization then you probably have requests coming in from all directions.  Business people roll their eyes and blame IT for the long waiting period to address their request.  Perception that you don’t accomplish much abounds.  The truth is that IT has limited people and resources for all the requests and realistically some will never be completed.  The best way to get out of this situation is to have the product owner and/or the business sponsor receive and prioritize the requests.  If the AP Administrator wants a new report then they request prioritization from their own business organization and not IT.  IT should do the work, but the business will prioritize their own work.  This means no longer are IT the “NO people” and I can tell you that this alone will make a big difference in how you are viewed as an IT organization.

As you begin your Agile transformation, your organization should secure a strong Agile Coach.  This person or guiding entity needs to have the ear and work with your highest executive level.  They will need to work with all of leadership and the Agile Teams and provide guidance and education on a “Just In Time” (JIT) basis.  In my mind it is crucial to have the right guidance as you begin your Agile journey.  With their experience, they will recognize your organization’s pain points and challenges to becoming successful and will address these in priority order as you start to adopt the practice of continuous improvement.

So we have now come full circle – FEEDBACK and ADAPTATION.  As you continue your Agile journey you will recognize things that you want to change from your initial structure, process, etc.  My current company has adapted organizational structure improvements three times in the past year.  You don’t need to get things perfect from the beginning.  Again, feedback and adaptation.

Below is a summary bullet list of considerations for guidance:

  • Gain Support and Involvement from Senior Leadership
  • Enlist Agile Coach Expertise Working Directly With Senior Leadership
  • Create Agile Team Structure Within Your IT Organization
    • Pay particular attention to delivering value at the product level first
    • Define structure best you can – you may have to change it again – ADAPT!
  • Concentrate on delivering business value

Remember:  Feedback and Adaptation to continually improve your transformation!

In the next post I would like to examine some of the challenges you may run into during your initial Agile transformation period.