In
today’s software development environment, requirements has been changing during
the product development cycle so that they can respond to changes from
customers. Therefore, software development becomes a challenge, adapting
changed requirements when development is going on. In the mid 90’s, agile
development techniques for software became available. This discipline was
strongly influenced by the Japanese industry best practices, mainly the lean
manufacturing principles implemented by Honda and Toyota as well as the
Knowledge Management strategies suggested by Takeuchi and Nonaka (2004) and
Senge (1990).
Agile software development bases itself on an iterative and
incremental approach. Software developers work on small modules, and respond to
users’ changed requirements rather than follow a specific or predetermined plan
of action. The basic design is simple, and changes are made as work progresses.
Agile methods stress two concepts: the unforgiving honesty of working code and
the effectiveness of people working together with goodwill. Working code tells
the developers and sponsors what they really have in front of them—as opposed
to promises as to what they will have in front of them. The working code can be
shipped, modified, or scrapped, but it is always real.
Agile software management methodologies are gaining
popularity rapidly nowadays. This popularity comes from its flexibility to
change. This approach has proved to be effective at solving many problems and
at forging attractive work environments in many organizations. While it is not
suited for everyone, it is suited for many. If your company will use Agile
methodologies adopting to it another problem. This article will give you
information about difficulties,
challenges, issues with a categorical manner and how to avoid them.
Getting an organization to switch
to agile processes takes a lot of time and patience. How to adapt Agile
methodology it is with the education. Experienced people bring practical
knowledge from other situations and environments that can be helpful in
avoiding pitfalls, in recommending tips and techniques for executing the
project, and in coaching or supporting individual team members.
There is more to going agile than adopting an agile methodology for a project. You and your organization should consider carefully why you need to be agile, how agile you really need to be, and what kind of projects need to be agile. If adopting an agile methodology is not right for all projects or for the organization, then individual agile practices should be adopted in projects to reach experience and management buy-in can help management remove the negative impact of any issues, problems or challenges. Going agile requires executive, senior management, and middle management awareness and buy-in that something will change in the project management practices. They need to understand the benefits of the change as well as the details of how the change will affect operational aspects of the business. Furthermore, they need to understand what will be expected from them and what should change in their behavior. Many cultural and communication problems can be avoided or at least mitigated by aligning with all levels of management before adopting an agile methodology. Of failed Agile implementations, 63% of respondents in one study blamed the clash between their business’s culture and Agile’s business philosophy.
Here are the type of challenges:
The problems include issues with (1) communicating; (2) managing
day-to-day operational problems; (3) gaining buy-in from management, customers, and team
members; (4) changing culture and mindset; and (5) gaining experience and making it work. Of course, some of the issues and challenges are unique and occur due to differences and idiosyncrasies in the organization or the project.
The problems include issues with communicating, managing day-to-day operational problems, gaining buy-in from management, customers, and team members, changing culture and mindset, and gaining experience and making it work. Of course, some of the issues and challenges are unique and occur due to differences and idiosyncrasies in the organization or the project.
Imposing agile principles on process-centric, non-collaborative,
optimizing organizations is likely to fail. Imposing a change embracing process
on sedate project teams may not be reasonable. Attempting to get close user
collaboration with organizations that have little time to spend with developers
won’t work. The biggest limitation of agile methodologies is how they handle
larger teams. Agile methodologies rely heavily on communication, so large teams
make it difficult to use agile methods. There is a clear inverse relationship
between agile techniques and project complexity. Agile development is more
difficult with larger teams. The average project has only nine people, well
within the reach of the most basic agile processes.
Nevertheless, it is interesting
to occasionally find successful agile projects with 120 or even 250 people.
Agile development excels in exploratory problem domains— extreme, complex,
high-change projects—and operates best in a people-centered, collaborative,
organizational culture. This approach has proved to be effective at solving
many problems and at forging attractive work environments in many
organizations. While it is not suited for everyone, it is suited for many. They state that “project success is measured
not just by completion of the scope of work to time, cost, and quality, but
also by performance of the projects outputs, outcomes, and impacts.
Inadequate experience with agile methods
- Little understanding of the required
broader organizational change
- Company philosophy or culture at odds
with agile values
To build an effective team, Agile project managers must
constantly practice and reinforce effective communication. Getting feedback
early and often is a cornerstone of Agile project management, so being an
effective communicator is important for management and individuals to ensure
the customer is getting exactly what is needed – nothing more and nothing less.
Getting a deliverable in front of a customer early helps teams learn more about
purpose behind what they are developing so they can do it better.
• Educate
and Align with the Management Team
• How to
adapt Agile methodology it is with the education.
Going agile requires executive, senior management, and
middle management awareness and buy-in that something will change in the
project management practices. They need to understand the benefits of the
change as well as the details of how the change will affect operational aspects
of the business. Furthermore, they need to understand what will be expected
from them and what should change in their behavior. Many cultural and
communication problems can be avoided or at least mitigated by aligning with
all levels of management before adopting an agile methodology.
- Hire external consultants:
Experienced people bring practical knowledge from other
situations and environments that can be helpful in avoiding pitfalls, in
recommending tips and techniques for executing the project, and in coaching or
supporting individual team members. While having many team members with
experience is ideal, the Agile Coach, Product Owner, and Agile Tester are three
roles where experience is most appreciated, as those are the topics where the
most issues surface.
There is more to “going agile” than adopting an agile methodology for a project. You and your organization should consider carefully why you need to be agile, how agile you really need to be, and what kind of projects need to be agile. After answering these questions, you can start discussion and planning to decide the right agile methodology. If adopting an agile methodology is not right for all projects or for the organization, then individual agile practices should be adopted in projects to reach a desirable level of agility. Day-to-day operational problems will occur. Having team members with experience and management buy-in can help management mitigate the negative impact of any issues, problems, or challenges.
This is a literature review. I mentioned my references below:
References:
- https://www.researchgate.net/publication/230634624_Scrum_agile_product_development_method_-literature_review_analysis_and_classification
- https://www.academia.edu/7999605/Agile_Software_Development_The_People_Factor
- http://www.umsl.edu/~sauterv/analysis/challenges_of_migrating_to_agile_methodologies.pdf
- https://www.altexsoft.com/whitepapers/agile-project-management-best-practices-and-methodologies/
- http://www.dsc.ufcg.edu.br/~garcia/cursos/ger_processos/seminarios/Crystal/Agile%20Software%20Development%202%20The%20People%20Factor.htm
- https://www.pmi.org/learning/library/agile-problems-challenges-failures-5869
- https://www.business2community.com/marketing/15-incredible-agile-project-management-statistics-2018-01939694