Ninth in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the ninth in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 9: Socialize Generic Agile Concepts & Practices Prior to Full Rollout
The term “socialization” refers to the process of internalizing the norms and ideologies of a social group. This internalization, or learning process, is done by every member of the group, typically over a short period of time. Socializing a concept requires memorization, practice, and discussion of the required actions that must be taken. In a business setting, it is not uncommon for a team to require two (2) or more weeks to adequately socialize and accept a new work practice. Every group and team situation will be slightly different. Therefore, the time period required for a team to socialize concepts will differ. As team size and process complexity grows, so does the time required to socialize the concepts.
There are two (2) practices that you must introduce and socialize amongst personnel involved in the organization’s agile transformation. These are daily planning and retrospectives. These practices are widely regarded to be low impact, highly effective, and the starting point of a company’s iterative transformation. At this point, you will have identified the agile sponsor or champion, executives, stakeholders, supporters, and the agile team. All of these personnel must socialize the practices. The agile team will carry out the practices, but everyone must be on-board with the concepts. After the agile team is identified but before the agile pilot project is underway, agile team members should attempt to implement these practices in their day-to-day activities. These practices immediately illustrate agile’s core tenets of transparency of work, open and honest communication, and a willingness to improve over time. By embracing these practices, the organization can gently adapt to the organizational change required. The successes and efficiencies gained by implementing these practices will build the momentum you will need for organizational commitment.
Agile’s daily planning practice is known as the “standup meeting”. The standup meeting gets its name because no one should be sitting during the meeting. A standup meeting is no longer than fifteen (15) minutes. The standup meeting should be held at the beginning of the work day, and the team should decide on the date, time, and location. Every team member must attend and every team member must speak. In a roundtable format, each team member must answer three questions: (1) what did they do yesterday, (2) what do they plan to do today, and (3) what is preventing them from making progress. The Scrum Master must ensure that everyone gets to speak and answer the three questions without interruption. If there is time left over after everyone speaks, the team is free to openly discuss any topic. The Scrum Master must schedule the meeting and publish minutes afterwards. A common anti-pattern of a standup meeting is not everyone getting to speak. If you find that this is occurring, topics raised by speakers running over their allotted time must schedule separate meetings to further discuss the topics raised. The Scrum Master can act as a facilitator to schedule meetings or activities to impediments to progress.
Agile’s retrospective practice is a thirty-to sixty minute meeting held at the end of every development cycle. A typical agile development cycle is between two (2) and four (4) weeks. The purpose of the retrospective is for the team to review the work they just completed and identify opportunities for improvement in processes, designs, or any other work practice deemed by the team to be inefficient. The meeting agenda for the retrospective is as follows:
(1) What did the team do well? It is critical to recognize and celebrate successes. It builds the team’s confidence and validates the team’s value contribution to the organization. It is important to spend an adequate amount of time celebrating successes. Sometimes the team must look hard to find them, but going through the exercise validates the team’s learning and informs their improvement decisions.
(2) What did the team do not so well? Before team members will share failures, they must be assured that they are in a safe environment. It is imperative that every team member believes that they are all in it together. Over time, the team will get better at identifying opportunities for improvement. Don’t expect miracles overnight. Iterative evolution is the goal. Any team, especially at the beginning, will go through stages of development, and it is important to consider the developmental stage when asking team members to admit possible mistakes.
(3) What does the team want to improve? The team makes a commitment to improve items in the next development cycle. The chosen improvement items must be realistically achievable. This is not the time for lofty or overly ambitious goals. Incremental improvement over time is the goal. Have the team brainstorm and create a list of potential improvements, and then have them select an item, or items, from the list that they can realistically accomplish within the time constraint of the next development cycle. Open communication and team commitment is the goal. The Scrum Master should maintain the master list and track progress made on the improvement opportunities. The list should be revisited at each retrospective meeting.
Eighth in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the eighth in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 8: Logistical Ground Rules & Assembling a Diverse Team
Ideally and if possible, you'll want to find a physical meeting space where team members can be co-located all the time. The team requires a space where they can all sit in close proximity to one another, and have room for collaboration. This is typically a large conference room, capable of supporting eight to twelve people, depending on the size of the team.
In today’s ever increasing virtual workforce environment, and the IT industry’s inherent predisposition for work to be completed remotely, many IT organizations have embraced the work-from-home model. There are now many effective collaboration tools on the market that eliminate the need for team members to physically sit in the same geographic location. While it can be highly effective for an initial agile team to be physically co-located while they are executing agile fundamentals for the first time, physical co-location of team members has proven to be not a “hard and fast” requirement. Many agile teams in industry today function as virtual teams only. Agile’s inherent frequent inspect and adapt cadence coupled with the evolution of online collaboration tools ensures the proper amount of management oversight is applied.
Probably the most difficult concept for any non-agile organization to embrace is the idea that agile team members are dedicated to the agile project 100% of their work day. In non-agile organizations, internal IT employees are typically spread very thin across many projects. Additionally, team members may have both development and production support responsibilities. This can lead to a culture in which projects are completed in a resource’s “spare time”, and project delivery work can suffer seemingly endless delays as resource labor is consumed by production support activities. There are countless studies illustrating knowledge worker productivity losses due to context switching. Furthermore, the reliability and predictability of agile performance metrics is compromised if resources are not dedicated full-time. You’ll need concrete metrics if you’re going to prove the success of your upcoming pilot project and effectively navigate the cultural and political headwinds you could face in the future. The bottom line is that if you want success both in your upcoming agile pilot project and the larger agile transformation initiative, the organization must make the human resource capital investment required for success. For an agile project and transformation program, this means that resources on the team perform only the team’s work. Outside influences and external demands on team member output drastically impact your team’s ability to make and deliver on commitments.
The agile team makes the magic happen. They deliver value to the organization. Strength is found in the diversity of your team. Just as you engaged stakeholders and supporters, you must engage team members in the same way. You’ll need input from many different perspectives and you’ll need to win-over certain key influencers in the organization. It is important to realize that your selected team members may be currently delivering value using a different methodology. Inclusion of these team members, for example, will provide valuable insight into current operations and help you successfully navigate internal cultural resistance.
Your selected team members should be a representative sample of your organization. If you only select team members who are already 100% on-board with the agile transformation, you’ll deny yourself the opportunity to win-over the nay-sayers. When you win-over someone who was skeptical and / or opposed to the agile transformation, they can become powerful allies who evangelize the concepts to their colleagues.
Your selected team members should also be a representative sample of the general attitudes found in any workplace setting. Including a representative sample of these attitudes will gain you advocates and accelerate the transformation. In an agile transformation initiative, you’ll typically encounter the following attitudes, listed in order of most difficult, to least difficult, to win-over:
Last but not least, and most importantly, you must select team members who have the technical skills to deliver business value. In a typical software development delivery process, you’ll typically find the high-level disciplines of software developers, database administrators, testers, and infrastructure personnel. Within specific disciplines, you’ll find specializations. For example, software developers may be skilled in some languages, but not others. Similarly, database administrators may be familiar with some relational database management systems, but not others. At this point, you’ll need to put in some forethought on your “pilot” project, which will be further discussed in Lesson 11.
You’ll benefit by creating a matrix of the above mentioned skills, attitudes, and backgrounds needed for your team. As you select team members, ensure you’re including adequate representation from every area in the matrix. Effectively mixing these variables ensures you win the influence you’ll need to realize your transformation goal.
Seventh in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the seventh in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 7: Engage Stakeholders & Supporters
Once you have executive buy-in, you’re now ready to engage your supporters. It’s imperative to get the right people on-board early on. The Agile Champion requires a group of people around them that are dissatisfied with how work is currently performed and are willing to make a change. Stakeholders and supporters fall into three (3) broad categories:
Executives: Executives will approve and / or sponsor the agile project. You'll want support from an executive that has a vested interest in the success of new projects. If possible, try to find an influential executive, one that is seen as a leader amongst their peers, someone they trust to bring great vision and planning to the organization, and try to get him or her to sponsor your agile project.
Individual Contributors: Your Individual Contributors are the folks that will actually be carrying out the agile project. These are the guys who will need the agile training to execute the agile work processes. You’ll want good representation with this group of people. If your organization has certain disciplines (application development, database, project management, etc.) or product lines, you’ll want though leaders representing these groups.
Middle Management: Every Individual Contributor on your team reports to someone. You’ll want to figure out who those people are and talk to them. After all, these people write the performance reviews of your Individual Contributors. Even the strongest Individual Contributor still must do what their manager asks; that's how they retain their position. It’s extremely important to gain middle management buy-in because very often, middle management is directly responsible for executing the operation of the IT department and are unlikely to pose future, unforeseen process barriers if they are engaged early.
Once you’ve identified your stakeholders and supporters, schedule meetings to discuss the agile transformation initiative. Educate them on what you’ve learned about agile and how it can meet their objectives. Discuss your plan and key milestones in the agile transformation initiative. These meetings are not the “one-and-done” type. Expect to have multiple conversations as people learn more. You must give people time to learn, to think through agile concepts and how they will impact their day-to-day. Everyone learns at different speeds, so be prepared to be patient. You will be doing ongoing research in order to answer everyone’s questions. If you’re able to answer everyone’s questions and sell them on the benefits, they will follow your lead during the changes ahead.
Sixth in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the sixth in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 6: Gain Executive Buy-In
Executives have motivations and you must work to understand their nuanced agendas and how they are measured while getting them to agree on a specific course of action. You’re going to need a coalition of aligned executives if you wish to get your agile transformation effort off the ground. Discuss the problems that you are attempting to solve, help them understand why a change is required, and educate them on how you came to explore agile as a solution.
The first step of executive alignment is gaining consensus on the problem statement. If executives have differing opinions on what the problem is, they will naturally have differing opinions on the solution. Conversely, executive consensus on a problem statement makes it much easier to gain concurrence on the problem’s solution. You should be able to articulate the problem using actual results from previously completed projects. Empirical evidence such as budget, schedule, and quality data can be examined and used to justify the problem statement. If existing project intake and / or request management processes cannot keep up with demand, this can be further used as justification for change. Many of today’s software products are subscription based with regular updates included as part of the service. A traditional waterfall approach may not support the quick release cadence demanded by your customers. Whatever your justification may be, it’s important to not only cite the problem statement, but to also provide concrete, salient examples of the problem; incidents that everyone can point to and agree that they are actual examples of the problem statement.
Once you have executive alignment on the problem statement, next you must help executives understand how agile solves the problem. Reiterate the benefits of agile from lesson #3 as you map them to the problem statement. Solving the problem statement also involves addressing the, “what’s in it for me?” question. When having this discussion with executives, frame it in terms of cost, risk, and rewards.
The agile transformation can expect hard costs for training of the pilot team, and an agile coach, if you choose to use one. You can expect to encounter soft costs for staff transitioning to a new methodology and tools as their productivity temporarily slows until the new processes are institutionalized. You must do your homework to ensure these costs are accurate, complete, understood, and accepted.
In my opinion, there is more perceived risk than actual risk in an agile transformation. Fundamentally, we’re not changing the way software is written, we’re simply changing the way we organize the work of software development. Sure, if you don’t have a plan for how to get from point A to point B, you’re going to get lost, but if a plan (like the one outlined in these lessons) is followed, risks only materialize in a few areas. Risks should be logged and managed with a mitigation plan for each that is regularly reviewed with the executive team. Doing this builds trust that risks are being managed and confidence that the effort will succeed. The most common risk is insufficient buy-in from executives or team members. This can clearly be managed before an agile transformation initiative is undertaken by additional training and education. Healthy skepticism of a new process is welcome, but active sabotage will be detrimental to the effort so it’s important that the right people are on-board and all pulling in the same direction. Risk of business impact can be mitigated by executing a pilot agile project first, and then using the results of the pilot to further refine the rollout.
Everyone likes to look good to their boss and executives are no different. You’ll want to figure out each executive’s performance drivers, but like everyone else, executives want to be valuable and promotable. Like all leaders, they want to demonstrate their leadership skills, achieve faster product delivery, lower operating costs, and in increase profits. You’ll want to again re-emphasize the speed of product delivery reward expected from an agile transformation and highlight how their sponsorship and / or support of a major organizational shift, such as this one, will demonstrate their leadership abilities and increase the bottom line.
Fifth in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the fifth in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 5: Be Prepared to Address Difficult Questions & Refute Key Concerns
Moving to a completely new way of doing things can be scary, especially when the folks that will be carrying out the work have no advanced knowledge of how they will be carrying out the work. To the uninformed, Agile can be synonymous with little or no process, tools, documentation, commitments, or planning. The truth, however, is quite the contrary. These concerns and misconceptions must be met head-on if they are to be overcome. Below I discuss a few common questions & concerns that you’ll most likely encounter on your journey.
Question #1: Will we be trained in Agile? Anyone who is unfamiliar with agile concepts but is asked to carry them out will immediately ask when they will receive the training required to execute the concepts. There's nothing more intimidating than being asked to complete a project with a methodology that you don't understand, and on which you've received no training. Further, an organization’s commitment to change can be measured in its willingness to invest in the education necessary for their employees to successfully carry out the change. As a leader in an organization’s agile transformation, you’ll need to immediately understand funding constraints relative to the agile training required for the team. You’ll need to be able to explain to each and every team member, as quickly as possible, when and how they’ll be trained. Open communication in this area will go a long way in allaying fears that arise from an uncertain path forward.
Question #2: Is the company hiring an agile coach to help us? It’s important to understand advantages and disadvantages of using an agile coach before you decide to use one. A coach will undoubtedly provide value to the initial teams tasked with carrying out an agile project. Keep in mind that an agile coach is a temporary role, typically hired from outside the company, and is generally no longer required once a few agile teams are up and running and the organization has built some internal agile expertise. Despite the temporary nature, you’ll still want someone who can establish rapport, build relationships, and motivate both agile team members and executive-level stakeholders to follow their lead. Experience matters. Be aware that due to the temporary nature of the role, some internal stakeholders may resist the coach’s direction based on their conclusion that the coach lacks standing to implement lasting change. Conversely, a coach can be unencumbered by internal organization politics allowing them to deliver an honest assessment of the actions required to launch the agile initiative. Whatever your reasons for or against a coach, be ready to explain them to the team.
Question #3: How is this different from our past attempts at change? Most organizations have tried to implement a quality improvement program. In many cases, there are employees in an organization who have been involved in a failed process improvement attempt. It’s important to understand your organization’s past successes and failures and be able to compare and contrast them to the agile transformation at hand. Be prepared to discuss the roadmap you’re following and the champions that you have on-board. Ask for feedback to the plan. Keep a list of the questions received and answers delivered. This list will continue to grow as the transformation unfolds and keeping a readily distributable log of questions and answers will be a valuable time-saving resource as more persons become involved.
Concern #1: Agile teams don’t use any process or tools. While the first tenet of the Agile Manifesto is to value individuals and interactions over processes and tools, anyone with a cursory understanding of the methodology knows that Agile, in and of itself, is a process, and there are many tools on the market today to assist with facilitating and automating the agile processes. The bottom line is that Agile does contain processes and does promote the use of tools, however, the interactions amongst team members and the customer is more important than the use of any specific tool or process.
Concern #2: Agile teams do not produce documentation as the project progresses. The reality here is that a documentation-heavy, waterfall approach to writing software has been proven time and time again to be fraught with waste and rework. In today’s software development environment, it is much more valuable to begin with a high-level design approach and then refine this design as development unfolds. Agile teams will not spend hours attempting to document and control every single variable that they will encounter with on their development journey. Lightweight design tools will be employed including whiteboards and diagrams to produce just the right amount of design at just the right time such that development can begin and the design can be iterated. Agile teams will spend more time documenting the design of what’s been built versus attempting to fit development into a pre-engineered design. The effect is that design, development, and documentation happen at the same time.
Concern #3: Agile teams do not make customer commitments. In the old paradigm, the customer would deliver their requirements to the development team, the development team would provide an estimate, the customer would approve the estimate, and then the development team would commit to a release or implementation date. The customer would largely be absent throughout the design and development process, only to be re-engaged for user acceptance testing and release. In this process, the commitment is clearly visible and is part of the development methodology. The issue, however, is that a vast number of the commitments made by the development team were missed. Agile attempts to solve for this issue in a couple of different ways. First, Agile teams ask the customer to remain engaged throughout the design, development, and testing processes to ensure that constant feedback and collaboration occurs. This collaboration has the effect of ensuring that what is built actually solves the business problem and delivers the value requested. Second, Agile discards the big commitment made up-front in the old paradigm for a series of smaller commitments made incrementally towards the larger goal. The same rules still apply in that the overall project end-date cannot be determined until all customer requirements are defined and delivered upon. However, Agile realizes that in today’s software development environment, requirements evolve over time and are more conducive to a product development lifecycle versus a project lifecycle. Requirements don’t stop coming in once a software development project completes. Agile recognizes this and accounts for it via continuously updating roadmaps and release plans, which drive the lower, sprint-level commitments that are hallmark of the methodology.
Concern #4: Agile teams do not plan. As mentioned in Concern #3 above, you can clearly start to discern the tenets of Agile planning. The key difference between traditional Waterfall planning and Agile planning is that Agile embraces what is known as “horizon planning”. Horizon planning means that you can only plan, with any degree of accuracy, as far you can see. In other words, if you look at the horizon, you can make a plan for how to get to where you can see on that horizon, but you can’t plan with any degree of certainty for how to travel beyond that horizon. With each passing day, the horizon changes, and as such, your plans for how to get to the horizon should also change. Agile embraces the planning horizon and anticipates changing requirements by placing a top-down structure around the uncertainty. At the top level, a more high-level approach to planning is employed whereas at the bottom level a more realistic and time-bound commitment is made. The five levels are as follows:
In this lesson I’ve discussed some common concerns and how each of these is refuted. While it can take some time to persuade everyone to get on board, it’s clear that planning & process is not absent in Agile, simply better tailored to today’s software development environment.
Fourth in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the fourth in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 4: Understand Common Environmental Constraints
There are some common organizational environmental constraints that you will encounter when moving to an Agile delivery model. Each of these must be considered and addressed for your Agile transformation effort to take root and flourish. Each of these should be considered “difficult” to address and requires ongoing effort to engage key players in the organization and change their perspectives to align with transformation goals.
The first and most common constraint is simply the one of management “style”. Management style can either be a hindrance or an enabler to the transformation. If your organization is an older one, especially one that has been around since before the Agile manifesto was published in the early 2000’s, the management “style” is most likely a top-down, “command-and-control” model. In this model, the methods by which lower-level employees carry out work are dictated by higher-level management personnel. “Command-and-control” is also frequently used in smaller organizations that may have no knowledge of Agile principles or practices. Agile requires collaboration. Collaboration necessitates that decision-making occur at the level where the work is taking place. Agile believes that the resources performing the work are best equipped to guide their own work and successfully navigate obstacles when they present themselves. In simple terms, the folks doing the work must be empowered to make decisions about the work. Since collaboration is a bed-rock principle of the Agile manifesto and “command-and-control” does not foster collaboration, the “command-and-control” management style must be regarded as detrimental to an agile transformation in that it stifles collaboration. Shifting from a “command-and-control” model can be difficult, especially if the next three constraints are not adequately addressed.
The second constraint to overcome is your organization’s willingness to accept change. In a “command-and-control” environment, the notion of, “we’ve always done it that way” may be prevalent. Clearly this won’t work when attempting to institutionalize a culture shift. In this type of environment, you’ll need to confront unwillingness to change head-on. You’ll want to tout expected Agile benefits (Lesson 3) and reasons for moving to Agile (Lesson 2) and ensure they are well understood by key leaders, stakeholders, and resources. You should be looking for the, “let’s give it a try” response to your transformation proposal. When you lay out the case for Agile and start small, you will be able to build confidence on your successes and get more folks on-board with your vision as your experiment progresses.
A major environmental constraint that exists in many organizations is a “process-heavy” culture. Process-heavy organizations are those with rigid activities that must be completed in order to progress an effort. This typically manifests itself with paperwork, and lots of it. Agile requires lightweight processes. This means that unnecessary or “non-value add” steps are skipped. Agile is focused on just enough process to get people what they need to complete the work at exactly the right time. If you’re in a process-heavy culture, you’ll need to reset management’s expectations relative to the process rigor that will be employed. It’s not that no process will be used; it’s simply that required process will be employed. For example, if there’s a process that must be followed to introduce new changes to the production environment, you’ll most likely want to follow it. However, if the traditional waterfall process dictates that a full-blown detailed technical design be completed before any actual coding begins, this can be problematic and antithetical to Agile’s tenets. You’ll want to thoughtfully analyze existing process and have a meaningful, collaborative discussion with oversight bodies to gain agreement on exactly which processes will be followed and which will not. When having these discussions, stress the benefits of “speed-to-market” and reduced costs associated with an Agile effort. You may also find yourself in the position of re-writing the “rules of the road”, specifically for Agile initiatives.
The last key environmental constraint that you must address is trust. Trust is an absolutely essential component to Agile. A key item to keep in mind is that trust is earned over time. When trust does not exist, management tends to micro-manage the engaged resources. When trust exists, management will get out of the way and let the workers carry out the work. Trust is required to start an Agile pilot project, and management, including the Scrum Master, must trust the folks carrying out the Agile project to get the job done with quality. By starting small and demonstrating value delivery, trust will be gained and increased over time.
Third in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the third in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 3: Understand Expected Agile Benefits
Agile implementations produce benefits for both the team members executing agile and the managers of agile teams. These benefits, however, can only be realized when company management commits to making the changes necessary to realize them. Further lessons will expand upon the changes and buy-in required, but for now, understand that teams that adopt agile practices must move away from traditional “command-and-control” and “wishful-thinking” (a.k.a. “predictive”) management philosophies. Agile can appear to be simple, but key concepts such as self-organization and continual inspection and adaptation have subtle implications that require a change to management's status-quo approach.
Industry studies show that approximately half of software features developed are never used. These studies indicate that required features can be developed in half the time by avoiding unnecessary work and waste. Via continuous prioritization of development requests, agile teams avoid building features that will never be used and focus only on delivering those with the highest business value. Prioritization is further extended to impediments (a.k.a. “roadblocks”) that surface during daily meetings. Discovered roadblocks are prioritized and removed resulting in a further increase in quality and productivity.
Agile is known to improve the quality of life for the team members executing it through elimination of the pressures inflicted on the team by management personnel. A sense of autonomy is instilled when teams are allowed to select their own work and then self-organize around the best way to complete the work. This fosters the development of innovation within the team, produces higher team productivity, and delivers higher customer and team satisfaction levels. Allowing the team to deliver a functional and effective product that achieves the market and financial goals of the company produces team spirit, ownership, and results in increased employee retention.
Finally, agile is known to improve the profitability of the company by affecting components of the profit margin. These include customer retention, innovation, timely and accurate delivery, and workforce motivation. Customers are retained when they are cared for and provide critical referrals necessary to grow the business. Accurate and timely delivery of exactly what customers need, when they need it, enhances customer satisfaction and revenue streams. Innovation ensures synchronization with market trends and anticipation of future customer requirements. A motivated workforce is a productive workforce and one that provides an edge over the competition.
Second in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the second in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 2: Understand Common Reasons for Moving to Agile
I believe there are three (3) common reasons for moving to an agile delivery methodology. These reasons have nothing to do with IT specifically, but rather align themselves more generally with the common goals of product delivery. These are timely delivery, resolving quality deficiencies, and speed to market.
In the traditional waterfall model, an IT project could have a duration of several months or years and not produce anything of value for the business, if it produces anything at all. A common stakeholder complaint is that they rarely, if ever, know when anything will be delivered. Sponsors and stakeholders become reluctant to allow the project to continue when there is no end date or discernible deliverables in sight. An obvious and common risk is that a new opportunity or project will present itself resulting in the original project being cancelled, ending the work before anything of value is delivered. An agile delivery methodology alleviates concerns related to timely delivery by producing incremental product units on a pre-defined timescale.
Today’s business environment is constantly changing. Whether it’s new products being developed, old products being retired, competitors being acquired, divestitures, market expansions, new legislation or regulations, the only constant is change. This has an overwhelming and obvious effect on the information needs of the organization required to make accurate business decisions. Furthermore, a business is often willing to invest in building a solution to meet these information needs before all of the needs are fully known or understood. The traditional waterfall model is not conducive to the ebbs and flows of today’s business environment. It creates a situation in which a project team attempts to collect all requirements at the beginning of the software development effort, even though they may be unknown at the time of collection. The project team then takes the requirements as defined (or undefined) and attempts to build the solution over the course of months or years while discouraging changes to the requirements during the development process. This invariably breeds an environment in which the product delivered not only fails to meet the initial requirements, but also fails to address the changes in business conditions that occurred since the original requirements were collected. Stakeholders regard these as quality deficiencies even though the system may be coded exactly as the requirements specified. An agile delivery methodology alleviates quality concerns by continuously engaging the consumers of the information system throughout the development lifecycle and embracing the inherent changing requirements of today’s business environment.
A key theme of a successful business is continuous innovation. A common complaint from an executive whose business is failing to innovate could be, “our competitors are consistently beating us to market with new products or features.” An agile delivery methodology keeps the organization focused on product release milestones via the inherent cadence that accompanies the methodology. It also seeks to discontinue the use of non-value add activities such as unnecessary documentation or process which further refines the focus of the product delivery team.
First in a Fifteen Part Series
By Chad Greenslade
I have often been asked about my lessons learned in delivering Agile transformations. Below is the first in a fifteen part series examining my lessons learned while instituting Agile concepts & practices. I hope that these lessons help you on your journey to Agile nirvana.
Lesson 1: Identify the Agile Sponsor & Champion
Before you start your Agile journey, you must identify a Sponsor or a “champion” from the ranks of the executive team. The Sponsor will be similar to the captain of a ship. You will work with this person to define the destination and ensure the “ship” (the Agile transformation effort) is on the right course. The sponsor will keep the larger executive team up-to-date on a regular basis.
In order to identify a Sponsor, you’ll want to find someone that is involved in several high-profile, important initiatives within the company. You’ll want someone who is approachable and understands the importance of relationship building. You’ll also want someone who is familiar with, and has influence over, gaining the funding you need to make the transformation. Finally, you’ll want someone who identifies the fact that the transformation you seek won’t happen without training the folks involved in the transformation and is willing to throw his / her support behind an Agile education initiative. Your Sponsor will be tasked with selling the need for proper training for both the teams executing the Agile practice and the executives consuming the Agile product.
Your Sponsor will be the organization’s representative for the transformation effort. You’ll want to work with this person to establish tenets of the transformation vision and clearly articulate why the organization is undertaking the initiative. The development of “talking points” and “elevator speeches” will be critical to effectively allay concerns of folks involved with, and affected by, the initiative.
The Sponsor will be the person that removes the “roadblocks” encountered during your journey. For this reason, it’s important to select a person who is comfortable with people at all levels of the organization. The Agile transformation team must be comfortable with sharing honest and open feedback with the Sponsor and requesting his or her assistance in accomplishing their objectives. Like any good leader, your Sponsor must possess active listening and follow-through skills in order for team members to feel heard. The Sponsor does not have to be a “technical” person but they should have a firm grasp of the delivery process. The Sponsor should be universally regarded as a leader throughout the organization and someone who has the influence, not necessarily the power, to get things done.
Lastly, it’s critical that the Sponsor have a firm grasp of the “big picture” and understand the cultural mindset shift that must occur. Prior organizational rewards mechanisms may need to be changed in order to properly incentivize people to make the changes necessary. It will be important to measure the transformation effort against established success criteria and publish successes, or setbacks, as required via development of necessary publication materials. Open recognition and publication of successes is critical to boosting team morale and enforcing the change that you need in order of the transformation effort to be successful.
Gaining the Buy-In You Need to be Successful
By Chad Greenslade
I have often been asked how I have been able to drive adoption of project management methodologies, tools, and templates. Below is a high-level strategy that you may find useful.
How were you able to drive adoption of a project / program methodology templates & standards?
This is the whole stick and carrot analogy of getting folks to change behaviors. In general, I have found that most folks buy into the concept of a uniform delivery methodology for projects and programs. The key items that drive folks away from following a uniform delivery methodology is if they perceive or witness the methodology either (1) not being followed by their peers, or (2) not adding value, or not being valued by management, when followed.
When presenting the case for following the methodology, for the carrot portion of the analogy, I have started with the top-down view and began the discussion with, “this is what will give ‘Executive Smith’ the most insight into the project investments being made across the organization.” I start with a high level dashboard, and explain to the project leaders how the various reporting elements are changed as the project progresses through the methodology lifecycle. The next item that I stress is the tailoring options for the project. No two projects are 100% identical and the ability of the project leaders to tailor the methodology based on project complexity places the rigor decision squarely with the team executing the project. Tailoring allows the skipping of templates that provide no value (given appropriate justification) while allowing the overall project to remain compliant to the methodology.
Finally, related to the “stick” aspect of the analogy, I emphasize the audit aspects of the methodology. Ideally, you will have either an internal or external auditor conduct an audit of completed projects. I have wrapped incentive items (recognition awards, small prizes, etc.) around successful completion of each of the items above, especially when initially getting the process started and institutionalized. I have also incorporated completion of these items into project manager performance evaluations.
Chad Greenslade studied Information Systems at the University of Texas at Arlington and graduated Magna Cum Laude.