Agile is about being rigorous, the very opposite of rigid.
Wikipedia states: Agile is a software development
methodology or system development methodology in software engineering, it is a
framework that is used to structure, plan, and control the process of developing
an information system.
Agile is both a
methodology and a set of guidelines. Agile SOFTWARE
DEVELOPMENT refers to a group of software development methodologies, like SCUM,
XP, DSDM, FDD, Crystal etc., each one of these methodologies follows standard
processes and practices. The values and principles of Agile development should
be embodied within a specific Agile methodology, since those are the key tenets
of Agile development. The values and principles reflect the spirit of Agile,
and the implementation is the methodology
The Agile Manifesto
is an instrument to succinctly state the mission of Agile development. ‘12
principles of Agile’ described in Agile Manifesto can be used to assess the
real agility of the methodology that you choose. One may also pick certain
practices like scrum meetings, Domain Analysis, Backlog list, Continuous
Integration, Just In time, Just do it etc. and develop their own set of
processes that meets the requirements of Agility. Many organizations have
implemented Agile by combining SCRUM and XP development methodologies, as SCRUM
focuses on Management and XP on the engineering.
Some methodologies
require practitioners to strictly adhere to the methodology, whereas agile
methodologies tend to be more flexible. Humans are naturally creative,
innovative beings and many of us bristle at the idea of applying methodology
created elsewhere to our own needs and environment. But it's not like you have
to start from scratch--you could use methodologies developed elsewhere as a base
and adjust as a tailored methodology based on local knowledge and needs. Being
agile is the capabilities to adapt to the changes.
Agile is a culture!.
Because to really work effectively, in most cases you are talking about a Team,
that is trying to adhere to those common values and principles, and ways of
behaving and doing that embrace them. It is important to recognize that moving
to Agile may require a significant culture change that affects the entire
business. It certainly is NOT just a "development thing”
In order for any
methodology to be truly agile, it must be adaptive. That is, there should
be regular reflection and updates to the methodology to eliminate what does not
work and try things that might. So the methodology is always evolving in a way
so as to best deliver value to the customer while producing maintainable and
extensible software.
So even if Agile were a methodology, any self-respecting methodology has features that prevent it from becoming a rigid and inappropriate bureaucracy:
• It will be specifically tailored to the type of work that is really being done.
• It will be abstract enough to permit considerable leeway for professional judgment.
• It will be fully scalable (no, not just big, medium and small).
• It will include user-friendly mechanisms for granting exceptions and waivers.
• It will include wide-ranging but rigorous (the very opposite of rigid) ranges of options.
• It will be implemented through training and tools, techniques and templates that make explicit the team’s authority to vary, depart from or just plain ignore the ‘rules’.
Agile is a both a methodology and a set of guidelines, so in
order to be successful, it needs to become a way of life- all the way through
the business - and that is typically the toughest part of implementing agile successfully.
2 comments:
It is the responsibility of the Scrum Master to ensure that the Product Owner does not change requirements or acceptance criteria during the Sprint review and reject a done backlog item because it does not meet the changed requirements. If the requirements have changed, a Product Backlog item needs to be created to address the changed requirements in a future Sprint.
Thanks for providing these kinds of data. Check out this related piece of a post I wrote about, Agile Methodology is a Growing Trend in Software Development
Post a Comment