Amanda Conway, Senior Project Manager, Commerce, at Perficient, recently presented at an Agile Camp in Milwaukee. For her presentation, she focused on a few key topics regarding working with Agile Methodologies while working with a globalized team and external clients. The topics included:
Compromising Consciously – the act of making strategic concessions in order to accommodate new objectives which will ultimately lead to success
Communicate Deliberately – how to navigate the tricky environment of communicating with a global team
Trust your Team – why it is important to relinquish control and trust your team and the process
This blog post will focus on Compromising Consciously. Often times when a new idea, initiative, process, system, tool, etc. comes up there is an initial response of “That is great, but it won’t work for us” or “We’ve always done it this way.” These can become challenging situations whether you are dealing with an internal team or a client. The purpose of this post is to provide some tips on how to guide the team to understand the art of compromising consciously. The essence of compromising consciously is to work with your team, client or even yourself to understand the new change that is looming and make compromising to this change only after considerable thought has been given. Compromise is tough! In this post, I’ll be touching on two different areas where consciously compromising is needed: Internally when working with an agile process and externally when working with a client on an eCommerce project.
Scrum.org describes ScrumButs as “Reasons why teams can’t take full advantage of Scrum to solve their problems and realize the full benefits of product development using Scrum.” In other words, we are customizing Scrum (an Agile Framework) to fit our needs even though it may be less than ideal Scrum. This post isn’t intended to be an analysis of how Scrum works or should work. Instead, we are going to look at this principle and how we can use it to better operate with our teams and our clients.
In the context of managing a global delivery team, there needs to be careful considerations on how to best work together to achieve a positive result. Let’s consider that we are using an agile process as a delivery team. This process includes daily stand-ups, sprint planning sessions, sprint kickoffs, sprint retrospectives, backlog grooming sessions and training. When obstacles come up that could threaten the existing process, we need to be cautious on how we proceed. How these deviations are identified and understood will directly impact the overall success of the change to our process. Challenges arise when a team makes decisions solely based on what they are comfortable with, what they’ve done in the past or simply to make things easier without considering the consequences. As leaders of delivery teams, it is important that we work with teams to understand the impact of making decisions. To help guide your teams when you’ve identified a “ScrumBut” in your processes, it is important to dig deeper on the change. Guide the team to understand what they are sacrificing or gaining by making a change. Consider asking some probing questions to get a deeper understanding:
- What are we gaining by making this change?
- What are we sacrificing by making this change?
- Do our gains at a minimum neutralize what we have sacrificed? (If the gains are much higher than the sacrifice – maybe this change should be considered a permanent change in process!)
- Can we go back to the established process in the future?
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
Get the Guide
Many times after understanding the impact, the team may come to the realization that maybe it isn’t in our best interest to proceed. However, if you have a good handle on these answers and feel comfortable moving forward with the change, then the team should proceed with the compromise and revisit during the next review to determine if this was the right decision. Everything should always be open to further inspection, adaptation, and improvement.
This concept isn’t only applicable to internal delivery teams. It also has a very real impact when consulting on projects with clients. At Perficient, we are regularly faced with client’s looking to us to help them migrate their existing set of systems/tools/processes. For the purposes of this post, the focus will be on eCommerce. Many of our clients come to us looking for a migration to Magento or InsiteCommerce, maybe they are even looking to expand into a Product Information Management tool like inRiver.
One of the first steps when taking on a roadmap with a client is to have an eCommerce-focused elaboration session where we understand their business requirements, data, existing tools, and where they see their future state. In an ideal world, the platform would fit every need that our client has. The reality is, each business is unique. While Magento and Insite do a wonderful job with a vast majority of requirements, there still may be items that need to be custom built. In this way, a customization is a ScrumBut or a compromise to the original platform so we will be looking at ways to compromise consciously. During elaboration discussions, we’ll walk through the features and functionalities that are built into Magento or InsiteCommerce and how can we best leverage what is out-of-the-box or possibly use one of many pre-built extensions. Frequently, we’ll hear “That is great, but it won’t work for us”. At times, this where we start to see our clients make a decision solely based on what they are comfortable with or have done in the past. Our job as eCommerce consultants is to help our clients understand how they decide to proceed will impact the user experience, implementation, budget, future training and future development. In some cases a customization may be necessary to get the desired functionality, in other cases, the client may instead want to modify their internal process to fit the standardized platform they are moving to. I want to call out, that customizations are not a negative thing, but they should be used thoughtfully.
We will want to guide our clients through these conversations by asking similar questions as before:
- What are we gaining by customizing this feature?
- What are we sacrificing by customizing this feature instead of using out-of-the-box functionality?
- Does this gain outweigh the sacrifices we will have to make?
- Is there a plan to move to out-of-the-box functionality in the future?
Asking these types of questions will help our clients dig deeper and understand the short and long-term impacts of these decisions. In many cases after this analysis, a customization is identified to be beneficial and necessary to their business. The key is to understand where you are compromising and why you are compromising – this will ultimately lead to a higher degree of success for you, your team and your projects. Happy compromising.