Search

Agile Adoption Strategies

Many software companies are adopting Agile methods - whether the adopting company is a software service or a product development firm or whether the work is on retail domain or avionics. A few of our KnowledgeHut experts cover the challenges that software organizations face and recommend possible solutions that help in successfully adopting Agile.  Introducing Agile in an OrganizationA typical software services company can be viewed to be made of three layers of people with a varying degree of authority.Our experts have conducted numerous training programs about Agile. Developers and project managers form the majority of attendees. These are the people who: Subscribe to Agile blogs;Actively pore through many popular Agile mailing lists; and Have the most passion in implementing Agile.These people are eager to learn Agile and look forward to implementing it in their projects. This kind of “bottom up” Agile adoption is a strategy that may work in the short run but is a non-sustainable model of Agile implementation. Not that the developers do a lousy job in implementation - it is simply that they lack active support from the sponsors. In a “top-down” Agile adoption strategy, the sponsors take the initiative and encourage (not push) the teams to adopt Agile methods. Some of the Agile practices need investment for procuring tools, changing the physical environment, organizing training for the developers, having a coach, etc. Such decisions are typically taken by the sponsors. Some of the advantages of top-down adoption include: Higher visibility - everybody observes the changes happening in the work place and culture. Confidence - teams can experiment with new practices and tools since they have the firm backing of the sponsors. Transparency - teams can correct mistakes during initial stages. Consistency - the practices have a higher chance of being consistent with the company vision. Agile is all about people, trust, communication, flexibility, and feedback. These values need a lot of nurturing at all levels in the organization. First and foremost, the sponsors must believe in these values for effective Agile adoption.In a bottom-up Agile adoption strategy, many of these values cannot bubble up easily when compared to the top-down strategy. The challenges are: Lack of buy-in when ideas come internally (versus given by an external neutral party). Generally, more difficult and time consuming to convince sponsors by the developers. Requires lots of sponsor time and good communication skills by the developer passionate about implementing Agile. Changes needed during Agile adoption. Each type of change is discussed in detail below.Changes neededRequirement from sponsorsChange in thinking patterns and culture  Encouragement, motivationInvestment in new toolsCapitalSustained support for AgilityEncouragement, motivation and commitmentChange in thinking patterns and culture This is one of the most difficult things to achieve. We, as human beings, resist change and hold on to our old beliefs and thoughts that are close to our heart.The following thinking/culture changes are necessary for Agile adoption: Building trust Getting rid of command and control Improving communication and collaboration Building Trust In an Agile training program, a team was discussing about the usage of Post-Its to display project information, a project manager asked - “What should I do if my team members remove post-its without my knowledge?”. This is a clear sign of lack of trust within the project team.  In this case, the manager was sent to attend Agile training and implement his experiences on project. But, such managers who lack trust—a fundamental value of Agile—will be ineffective in implementing Agile practices. Management should keep observing the teams, identify issues that crop up (they will!), and coach them accordingly. In fact, it is healthy to see lots of issues in this stage - this implies that the system is gearing up for the new philosophy.The sponsors should encourage an environment for learning for continued Agile adoption.  Here is the "Prime Directive which is commonly used during retrospective sessions”: Regardless of what we discover, we must understand and truly believe that everyone did the best job he or she could, given what was known at the time his or her skills and abilities, the resources available, and the situation at hand.The Prime Directive just redefines what trust is all about.A team practicing Agile methods might work collaboratively, trusting each other, but if the customer or sponsors don't trust the development team or vice versa, the foundation of Agile becomes weak. Getting Rid of a Command and Control Culture A command and control system is created due to fear and lack of trust. Employees in the traditional organizations are controlled through a set of processes. For example, a developer working in a service organization is expected to gather all requirements upfront. The stakeholders create a plan and the developers are expected to stick with the plan and deliver the product as per the deadline. The developers' lives are controlled through a predefined plan written on Gantt charts.Traditional organizations also create and track various types of metrics. Even though many metrics may be useful, some of them are misused for controlling individuals and teams. Some metrics are also used as a weapon during performance appraisals. (Does this ring a bell to you?)In a command and control environment: The Project manager creates all estimates and assigns tasks to the development team. An Architect handing off his plans to designers and developers. Developers are restricted from communicating directly with the customers. Agile organizations, on the other hand, discourage usage of such metrics and encourage only those metrics that adds value to the customers. These include burn down charts and velocity metrics.In an Agile environment, self-organizing teams make the necessary decisions on a project, as opposed to one person making all decisions (as in traditional projects). A single person in control leads to lot of subjectivity and personal bias.The culture of one person in charge and making decisions for project needs to be dismantled. This can be done only with the support from the sponsors- otherwise self-organizing teams cannot emerge.Improving Communication and Collaboration In traditional systems, the customer's role begins by validating and signing off on the requirements. Later, the customer may participate in periodic reviews done during milestones and monitor project progress. We can equate this behavior to a fire and forget culture, and one that leads to inadequate communication and collaboration.Software development is inherently a complex process which requires frequent inspect and adapt cycles. This demands strong communication and collaboration -between the customer and the development team and within the team itself.Developers and customers working together with a commitment to achieve common goals is real collaboration.The Agile principle, "Business people and developers must work together daily throughout the project" brings out the importance of collaboration.Some practices in an Agile method like Scrum that exemplify this principle are: Release Planning Requirement workshops during each iteration Iteration planning meetings Retrospective session Iteration Review, etcSome of the changes to improve communication amongst the team members can include: Removing cubicle boundaries, thus allowing the team to sit together. Encouraging the Project Managers to sit with the team. Using of simple tools. Conclusion After considering the various challenges and solutions during Agile adoption, our experts have found that Agile adoption is much smoother with continued support from sponsors. Organizations will succeed in Agile adoption with the right mixture of both top-down and bottom-up strategies.
Rated 4.0/5 based on 45 customer reviews

Agile Adoption Strategies

17K
Agile Adoption Strategies

Many software companies are adopting Agile methods - whether the adopting company is a software service or a product development firm or whether the work is on retail domain or avionics. A few of our KnowledgeHut experts cover the challenges that software organizations face and recommend possible solutions that help in successfully adopting Agile.  

Introducing Agile in an Organization

A typical software services company can be viewed to be made of three layers of people with a varying degree of authority.

Our experts have conducted numerous training programs about Agile. Developers and project managers form the majority of attendees. These are the people who: 

  • Subscribe to Agile blogs;
  • Actively pore through many popular Agile mailing lists; and 
  • Have the most passion in implementing Agile.

These people are eager to learn Agile and look forward to implementing it in their projects. This kind of “bottom up” Agile adoption is a strategy that may work in the short run but is a non-sustainable model of Agile implementation. Not that the developers do a lousy job in implementation - it is simply that they lack active support from the sponsors. 

In a “top-down” Agile adoption strategy, the sponsors take the initiative and encourage (not push) the teams to adopt Agile methods. Some of the Agile practices need investment for procuring tools, changing the physical environment, organizing training for the developers, having a coach, etc. Such decisions are typically taken by the sponsors. 

Some of the advantages of top-down adoption include: 

  1. Higher visibility - everybody observes the changes happening in the work place and culture. 
  2. Confidence - teams can experiment with new practices and tools since they have the firm backing of the sponsors. 
  3. Transparency - teams can correct mistakes during initial stages. 
  4. Consistency - the practices have a higher chance of being consistent with the company vision. 

Agile is all about people, trust, communication, flexibility, and feedback. These values need a lot of nurturing at all levels in the organization. First and foremost, the sponsors must believe in these values for effective Agile adoption.

In a bottom-up Agile adoption strategy, many of these values cannot bubble up easily when compared to the top-down strategy. The challenges are: 

  • Lack of buy-in when ideas come internally (versus given by an external neutral party). 
  • Generally, more difficult and time consuming to convince sponsors by the developers. 
  • Requires lots of sponsor time and good communication skills by the developer passionate about implementing Agile. 

Changes needed during Agile adoption. Each type of change is discussed in detail below.

Changes neededRequirement from sponsors
Change in thinking patterns and culture  Encouragement, motivation
Investment in new toolsCapital
Sustained support for AgilityEncouragement, motivation and commitment

Change in thinking patterns and culture 

This is one of the most difficult things to achieve. We, as human beings, resist change and hold on to our old beliefs and thoughts that are close to our heart.

The following thinking/culture changes are necessary for Agile adoption: 

  • Building trust 
  • Getting rid of command and control 
  • Improving communication and collaboration 

Building Trust 

In an Agile training program, a team was discussing about the usage of Post-Its to display project information, a project manager asked - “What should I do if my team members remove post-its without my knowledge?”. This is a clear sign of lack of trust within the project team.  

In this case, the manager was sent to attend Agile training and implement his experiences on project. But, such managers who lack trust—a fundamental value of Agile—will be ineffective in implementing Agile practices. Management should keep observing the teams, identify issues that crop up (they will!), and coach them accordingly. In fact, it is healthy to see lots of issues in this stage - this implies that the system is gearing up for the new philosophy.

The sponsors should encourage an environment for learning for continued Agile adoption.  

Here is the "Prime Directive which is commonly used during retrospective sessions”: 

Regardless of what we discover, we must understand and truly believe that everyone did the best job he or she could, given what was known at the time his or her skills and abilities, the resources available, and the situation at hand.

The Prime Directive just redefines what trust is all about.A team practicing Agile methods might work collaboratively, trusting each other, but if the customer or sponsors don't trust the development team or vice versa, the foundation of Agile becomes weak. 

Getting Rid of a Command and Control Culture 

A command and control system is created due to fear and lack of trust. Employees in the traditional organizations are controlled through a set of processes. For example, a developer working in a service organization is expected to gather all requirements upfront. The stakeholders create a plan and the developers are expected to stick with the plan and deliver the product as per the deadline. The developers' lives are controlled through a predefined plan written on Gantt charts.

Traditional organizations also create and track various types of metrics. Even though many metrics may be useful, some of them are misused for controlling individuals and teams. Some metrics are also used as a weapon during performance appraisals. (Does this ring a bell to you?)

In a command and control environment: 

  • The Project manager creates all estimates and assigns tasks to the development team. 
  • An Architect handing off his plans to designers and developers. 
  • Developers are restricted from communicating directly with the customers. 

Agile organizations, on the other hand, discourage usage of such metrics and encourage only those metrics that adds value to the customers. These include burn down charts and velocity metrics.

In an Agile environment, self-organizing teams make the necessary decisions on a project, as opposed to one person making all decisions (as in traditional projects). A single person in control leads to lot of subjectivity and personal bias.

The culture of one person in charge and making decisions for project needs to be dismantled. This can be done only with the support from the sponsors- otherwise self-organizing teams cannot emerge.

Improving Communication and Collaboration 

In traditional systems, the customer's role begins by validating and signing off on the requirements. Later, the customer may participate in periodic reviews done during milestones and monitor project progress. We can equate this behavior to a fire and forget culture, and one that leads to inadequate communication and collaboration.

Software development is inherently a complex process which requires frequent inspect and adapt cycles. This demands strong communication and collaboration -between the customer and the development team and within the team itself.

Developers and customers working together with a commitment to achieve common goals is real collaboration.

The Agile principle, "Business people and developers must work together daily throughout the project" brings out the importance of collaboration.

Some practices in an Agile method like Scrum that exemplify this principle are: 

  • Release Planning 
  • Requirement workshops during each iteration 
  • Iteration planning meetings 
  • Retrospective session 
  • Iteration Review, etc

Some of the changes to improve communication amongst the team members can include: 

  • Removing cubicle boundaries, thus allowing the team to sit together. 
  • Encouraging the Project Managers to sit with the team. 
  • Using of simple tools. 

Conclusion 

After considering the various challenges and solutions during Agile adoption, our experts have found that Agile adoption is much smoother with continued support from sponsors. Organizations will succeed in Agile adoption with the right mixture of both top-down and bottom-up strategies.

KnowledgeHut

KnowledgeHut

Author

KnowledgeHut is an outcome-focused global ed-tech company. We help organizations and professionals unlock excellence through skills development. We offer training solutions under the people and process, data science, full-stack development, cybersecurity, future technologies and digital transformation verticals.
Website : https://www.knowledgehut.com

Join the Discussion

Your email address will not be published. Required fields are marked *

Suggested Blogs

Top Agile Methods for Better Productivity

When a Scrum development team works on the productivity of a team using the Agile methodology, the first thing that comes to attention is the metric used to measure how much work the team does in an iteration: velocity. On the contrary, using velocity helps a Scrum development team to determine a team’s average capability on a normal sprint followed by how much they will agree to achieve in the next sprint iteration. The velocity is not preferred to determine the team’s productivity as it is just a simple indicator based on past sprints.The thing that matters at the end is the result and what the team has produced. A team is not recommended to be pushed to fasten its velocity. In the end, the outcome might be unpredictable as the team might economize on acceptance testing, avoid fixing bugs, or minimize restructuring to reach the target velocity. The key to increasing the velocity of the team is to resort to focusing on optimal velocity over time instead of maximized velocity. This also determines the overall quality of the finished product. Here are the top Agile methods involved in Scrum to allow the team to be more productive over time. 1. Eradicating obstaclesOne of the most important duties of a Scrum Master is to get rid of obstacles early and throughout the development process. This begins with asking appropriate questions while User Stories are being written. This gives developers space and time to do their work. While they are working, a Scrum Master also protects the development team from any disturbances from the stakeholders.In situations when the team does get interrupted, it is recommended for the team members to contact the Scrum Master to get their queries and issues resolved. Having a clear and focused mind is the key to operating at the highest level.The most obvious step is to avoid distractions as they are the primary reason for decreasing a team’s productivity. The team is unable to focus when they are asked to clarify why their productivity went down.2. Daily scrum meetings An efficient team always has a small group of professionals, the numbers can go to a maximum of 9. Anything more than that leads to communication issues and more consumption of time in meetings or huddles. A bigger team, in cases, can be split into two or more. A big team leads to more complications and misunderstandings and hence, is not a good idea. A larger team means more loss in information while exchanging thoughts and ideas and that will result in everybody in the team spending more time and effort to get any message or data across. 3. Team Capacity It is a known fact that all the team members must attend the daily scrum every day. The meeting can last for not more than 15 minutes every day to get an overview of the proceedings and the advancement of the undertaken work. All the concerns and ideas put across and need solutions during the meetings can be parked so that all of them can be addressed together. Any topic not related to the purpose of the meeting can be talked about at a fixed but separate time of the day.Furthermore, communicating with each other during the meeting will help in exchanging more information.4. Product backlog The backlog is the key to knowing where a product goes and what needs to be created on priority. So, everything in a project must be kept and properly maintained via a backlog. User Stories should have enough details and can be reordered in case of a change in priority. More accurate User Stories lead to less time consumption for the development team to understand them.An up to date and well-maintained backlog during an Agile project should have enough User Stories for at least one or two sprints.5. Constantly improving mindsetScrum is a continuous method that involves development because the whole method can be changed, not just the software. The point is to find something that requires alterations and to achieve it in the next sprint. This allows the team to tackle one issue at a time and move forward.Finding a clear move in the sprint retrospective to support the team is necessary. Someone must take ownership to act and make things work. This can be achieved by initiating small, easy actions that are less time-consuming first. During a sprint retrospective, it is recommended to take suggestions from each attendee and go for the most appropriate one. After that, a plan will be laid out to realize the chosen idea.6. Interruption bufferWhile running an application in production, it is necessary to keep maintaining and providing new features. However, there can be interruptions, like a bug that needs to be reported urgently or another team needing a developer for assistance. The point is, Sprints will be prone to interruptions, and provisions must be made to deal with these problems. A capable Scrum Master will log all these interruptions noting the number of interruptions, the time consumed in dealing with them and then add them to the next sprint.7. Have a vision of the task at handThe team works more efficiently in getting the deliverables when the Scrum Master already has laid out a blueprint to work on. This also includes having metrics and other relevant charts displayed, doing which will also let stakeholders and colleagues track the production rate.Refreshing the burndown chart daily and displaying the desired sprint result will reflect the customer or team satisfaction. Furthermore, a roadmap showing the working of the product will further enhance the vision of the team. There are multiple ways of sharing information to give everybody the idea of how things are going on while working on the product.To concludeWhen looking at the broader picture of the correct way to motivate a team to get the desired output, a successful team follows a very realistic and simple approach by using plain common sense that is instilled by the Scrum Master. Understanding how the team works and realizing the working style of each team member is one of the most important observations of an adept Scrum Master. It is a collaborative effort that cannot be done by one person but needs responsible efforts from every working member on the task. After all, it is not about ‘Me’ but ‘Us’ that helps in building a product successfully on time.
Rated 4.5/5 based on 0 customer reviews
9469
Top Agile Methods for Better Productivity

When a Scrum development team works on the product... Read More

Advantages of Agile Testing Methodology

What is Agile Testing? As the name implies, agile course projects are executed very quickly and with flexibility. Agile methods involve tasks executed in short iterations or sprints.Agile Testing is also iterative and takes place after each sprint, rather than towards the end of the project. Testing courses iteratively helps to validate the client requirements and adapt to changing conditions in a better manner. As soon as the build is out, testing is expected to get started and  bugs if any should be reported at once. As a Tester, you must work with the team and share your thoughts on the client requirements at the beginning rather than towards the end of the project. Emphasis has to be laid down on the quality of the deliverable despite the short timeframe. This will further help in reducing the cost of development and your feedback will be implemented in the code which will avoid the defects coming from the end user. Advantages offered by Agile Methodology: The most significant advantage of Agile Methodology is the saving of time and money. There is less documentation required. Although documents help to a great deal in verifying and validating the requirements, considering the time frame of the project, this approach focuses more on the application rather than on documentation. Since it is iterative in its form, there is regular feedback from the end user so that any changes can be implemented as soon as possible. And because all phases of SDLC need to be completed very quickly, there is transparency with regard to the work done by each individual working on the project during each phase. Another advantage that Agile Methodology offers is that any changes or enhancements can be implemented without any budget constraint. These changes may necessitate some adjustment in the already allotted time frame which will not be difficult . Daily meetings and discussions on the Agile project  can help to determine any issues well in advance and work on addressing them. Quick coding and Testing makes the management aware of the gaps existing in the requirements or technology used, and they can try to find a workable solution for the same. Hence, with quicker development, testing and constant feedback from the user,  Agile methodology becomes the most appropriate approach for projects that are required to be delivered in a short span of time.
Rated 4.0/5 based on 20 customer reviews
Advantages of Agile Testing Methodology

What is Agile Testing? As the name implies, agi... Read More

8 Ways To Stay Motivated While Working with Kanban

There are quite a lot of different time-management systems when it comes to the manufacturing process but the Kanban is a particularly interesting one. Developed by one of the leading engineers of Toyota, the Kanban is a way of managing the entire supply chain in order to achieve JIT manufacture – this stands for just in time processes. It is particularly effective and yet quite challenging for both the managers and the employees. With this in mind, let’s take a look at a few things that need to be accounted for in order to stay properly motivated. 1. Self-awareness is important You need to be well aware of your own capabilities – what you can and can’t do. This is particularly important when it comes to staying motivated while working with this particular management system. This is going to enable you to assess your capabilities and know your limits. 2. Reach out to your colleagues The Kanban is known to be a system which relies thoroughly on social support. With this in mind, reaching out to your colleagues in times of need is something that you are going to have to resort to every now and then. 3. Mange your own energy Be thoughtful on how you spend your energy. A lot of the times you are going to be required to do repetitive work so make sure that every move is properly optimized. This is going to ensure that you make it through the entire shift without any issues. 4. Tweak all of your work habits Make sure that you have no unnecessary habits that manifest throughout the working time. This is particularly important and you need to take care of it. You’d be surprised to know how much energy you waste on things which aren’t even productive. 5. Roadblocks need to be reconsidered If there is a certain setback that you are concerned with, take your time to figure it out. If there is something that’s preventing you from handling the work appropriately make sure that you tweak it. 6. Be open to self-jokes Doing the same thing over and over again is going to get you thinking. Sometimes, you are going to do silly mistakes out of carelessness. Don’t worry – it happens. Be open to jokes and laugh at them – you need different experiences. 7. Savor your success When you get the task done from scratch you should celebrate. Of course, that’s not in the most literal meaning of the word. However, savor your accomplishments and enjoy them as much as you can. 8. Break your goals down You are going to be flooded with assignments – make sure to break them down in individual and achievable chunks. This is particularly important. The accomplishment of every single task is going to motivate you to keep going and that’s something which is of tremendous impact. As you can see, there are quite a lot of things that you might want to account for when it comes to handling repetitive management schemes.
Rated 4.0/5 based on 20 customer reviews
8 Ways To Stay Motivated While Working with Kanban

There are quite a lot of different time-management... Read More