I heard about agile about five years ago for a first time and I started practicing different agile methodologies (mainly SCRUM based) about four years ago.
Just as a side note. “Agile methodology” is an oxymoron. If it’s methodology and you have to follow it whatever happens then you aren’t agile and if it’s agile than you shouldn’t try to define rules written in stone (methodology).
And only now, after 4 years of doing different Agile But, I finally started to work in a real agile environment.
I believe there are two core reasons, why company practices Agile But:
– A company does agile just because it’s a new cool thing and the company wants to get another boy stout badge for being kind-of Agile.
– Some engineers are frustrated that releases are always late and their buts got kicked as result of that.
These are WRONG reasons to do agile. In both cases it’s seen as just another initiative. A lot of people thinks – “oh… well. if it help that’s fine, if it won’t help – not a big deal”. As result, most likely no resources will be allocated to it, no serious changes will be done.
I think,real agile can come only from the top of the company. As soon as owners of the company understand that
– The world is complex thing and any assumptions needs to be checked (the faster the better)
– Resources are very limited and it’s absolutely critical to do most essential stuff first
They formulate very simple idea – being Agile (especially for a startup company) isn’t just another initiative, but rather live or die decision.
Immediately as soon as you decide that’s critical you will know the answers to questions like why do we need short releases, automating testing, automation builds, get functionality to real Done state, constant prioritization, fighting technical debt and so on. It just sets number of additional positive constrains which pushes you into correct direction.