The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Aside from corporate values, structure and culture, I think Agile works better in some types of projects more than others and in some phases of a product than other. For example, a project with a lot of customer engagement is easier to acquire valuable feedback. A project with a single client is much easier to direct than a commercial product with many unknown users.
As for phases, the early phases of development involve a lot of infrastructure and architecture that benefits from planning for a longer view than just looking at the immediate requirements. Later phases involving mainly adding new features fit more naturally with an Agile process.
Web products, with their ability to immediately deploy, are better candidates for Agile than client applications or embedded systems that must be installed by its users.
I experienced this exact thing decribed by Robert C. Martin in one of my last companies (1000+ employees). The SCRUM masters always had to defend SCRUM's integrity against the managers and their traditional hierarchical superstructure. The SCRUM masters did a good job fighting this war, yet they had to make a couple of concessions, which were so essential that SCRUM turned into something not-actually-SCRUM-any-more. These concessions were:
- effort estimations in hours/Euros instead of Poker points
- SCRUM team members have to stay disposable for their non-SCRUM legacy projects
Yeah, it's too bad that Agile gets interrupted like this.
If it could go the way it is supposed to, it can be a very good process (probably the best possible) --- if it can go the way it is supposed to.
Although I would like to add that SCRUM isn't necessarily good in my opinion. The more innovative the project and the larger the team is, the more SCRUM becomes the only way to ensure proper communication and project management. Anyway, if team communication and project management still work properly without SCRUM, I don't see the need to introduce it. It adds a lot of overhead and tends to break the developer's concentration several times a day every day.
I have actually seen this transformation happening in my previous workplace. And it happened just what most organizations struggle with, which is getting rid of middle management.
Many people left anticipating the movement, others were fired and others relocated to more agile positions like product owners and scrum masters.
What I also realized was that it takes certain very specific profiles and characteristics to make a successful agile team. Scrum masters need to be very dynamic, pro-active and communicative, or else they won't fit the new mindset. To me, getting the right people as SM's (or related) and PO's is the real challenge. The team also needs to respect and believe in them for this to function correctly, which is no easy feat by itself. The SM and PO also need to have the right mindset. Having a SM that feels like a manager also makes thing go wrong, because in agile role is more important than hierarchy.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
Our heads are round so our thoughts can change direction - Francis Picabia
...which is getting rid of middle management.
...Many people left anticipating the movement, others were fired
Yes, it looks as if the best thing for transformation happened in your company.
It is said, "It is easier to give birth than raise the dead." And in your company's case there was a new birth because the right people left and the new people were added which created a new thing.
However, many companies fail and try to build a group by using the same people who are against change and the new process in the first place. It's quite a challenge.
In my experience, the main problem with agile software development, the whole ordeal with fast feedback/iteration-cycles is that software simply doesn't work that way. I've been doing a fair share of refactoring in my time simply because it's bloody hard to integrate features added by the customer ad-hoc later if the foundation of the whole thing doesn't support the required data flows. Creating a foundation that supports everything under the sun however quickly leads to the inner-platform-effect where it can easily take a couple years to get a somewhat-working prototype.
The recent CP news article (2019-08-06) 'why-agile-often-fails-no-agreed-metrics' [^] has a similar sentiment but claims that at least some do manage (or maybe that's that they started out right and held the course).
It also shows that getting the right metrics is hard if they are to reflect the organisation's goals rather than the technical folk's ideas of 'goals'.
I think the real take away from this is it isn't agile that is failing, it is that large hierarchical organizations are a failed structure. Break out your team, do agile development somewhere else and bring the result back to the organization.
large hierarchical organizations are a failed structure.
I agree. People in general often believe (or say) that they want to buy their products from large companies so they get the benefits that the large ($$$) company can provide (service, repairs, etc).
However, if you ask a person questions like the following then no one says, "Oh, yes, I'd love to be involved with a large company."
1. Would you like to interact with a large doctor's group where you are literally known by an ID number and you get assigned to a different doctor who has your records every time?
2. Would you like to have an insurance company that is so enormous that it takes 3 hours to get them on the phone?
3. Would you like to go to a grocery store that is so large that you have to ride in a motorized vehicle to get from one aisle to another?
Break out your team, do agile development somewhere else and bring the result back to the organization.
Right! Agile is for producing a product. The rest of the company can do the other administrative things as a large organization, but the development team needs only the people that are specifying, building, testing, (etc.) the product (a Self-organizing team will arise).
I love the Agile Manifesto, but most organizations are not capable of "getting it"
I like your assessment because it "keeps it simple" and I think that is a big part of the Agile process, keep it simple and focused on delivering product. Whatever helps do that, keep. Whatever doesn't, throw it out.
It's "non-technical" project managers / leaders that are incapable of "leading" because they are non-technical in the first place ... creating a project that is being led by nobody ... while everybody hopes that everything will work out in the end because "someone" must be in charge ... somewhere.
The idea that "you are as good as the people working for you" only works if you can tell the difference between those that can and those that are simply posers. Most can't tell the difference because they don't know what questions to ask.
The Master said, 'Am I indeed possessed of knowledge? I am not knowing. But if a mean person, who appears quite empty-like, ask anything of me, I set it forth from one end to the other, and exhaust it.'
― Confucian Analects