This is why I still like Agile and Scrum, as much as other devs might hate it. “Yeah I want REAL deliverables after the first or second week”.
Keeps me honest. And will keep me from working with architecture astronauts don’t really deliver anything but hot air and build ultra-extensible structures that are actually impossible to extend beyond the fantasy world of their maker. Or the equivalent for designers.
Agile and scrum are in practice such nebulous terms that while I don’t doubt that you have had good experience with the particular version of these concepts that you yourself use, the agency could well consider itself to be using the same concepts - yet here we are.
The older I get, the more I come to understand that the problem with projects is people, not methodology. 30% of IT projects still fail, despite “agile” now being widespread.
The first value of the agile manifesto is “Individuals and interactions over processes and tools”. Unfortunately, most implementations throw this one out first.
I agree that there's a lot of wiggle room, but there's still some ground rules, like being iterative, not having to plan for everything beforehand, deliver smaller things little by little, not being a perfectionist and turning the review process into a living hell.
But you are 100% right about the problem being people. The problems I see with agile are always because people try to find escape hatches in the process. Designers want to prepare every single detail before developers start working and hate iterating because fear of the "original vision" being a mistake, product owners don't want partial stuff in the beta channel so everything has to be in its final state, product owners don't know or don't want to reduce scope so developers end up with impossible sprints, developers want a perfect definition finished before starting work, so zero chance to iterate...
I also agree with people throwing out individual/interactions and picking a heavy-handed process instead :(
> 30% of IT projects still fail, despite “agile” now being widespread.
That's a very optimistic statistic, unless "fail" is defined to be something other than "the opposite of success".
IOW, a fail is any project that goes over time, over budget or delivers under scope.
If you're defining success as "well, we delivered eventually, and we delivered 80% of the requirements, and it only went over budget by 20%", then, sure, only 30% of IT projects "fail".
Ok, by that measure I guess over 90% of projects would fail. Which would probably be unfair in most cases, because unlike this project, where the scope as defined by the client was 100% clear from the start, most clients when starting out with a project can't really say exactly what they want, so the scope creep is not only driven by the agency, but also (sometimes mostly) by the client.
> most clients when starting out with a project can't really say exactly what they want, so the scope creep is not only driven by the agency, but also (sometimes mostly) by the client.
Most clients know exactly what their goal is ("To increase market recognition", "to increase conversion rate", etc). The scope creep can only happen in a requirements phase[1]. Once a client has signed off on exactly what will be delivered, and what the payments milestones are there's no wiggle room for the agency to continue experimenting.
If you're skipping the requirements phase because "agile"[1], then the work will be over budget, over time and under the scope.
There's very few projects that actually require the exploratory-driven process that agile uses. If you have one of those projects then farming the management of it out to an agency is exactly the wrong thing to do.
[1] There may be multiple requirements phases. For example a large "need to revamp our website" project can be split into multiple serial projects, each with their own requirements phase.
[2] I.e. We'll figure out what is acceptable to the client with constant feedback.
I think the goal is not to eliminate "failure", but reduce it. Failure will always exist but it always requires interpretation. Thus the credos of "failure is learning experience", "don't be afraid to fail" etc.
It's a very abstract term. To put in simpler terms you will always have some outcome mismatch and generally your goal should be to reduce it. But if you do not have outcome mismatch, then you should push the line so that you can look ahead and understand future areas for improvement. Or you can just stay content if "market" is not chasing you.
The problem as I see it is that projects often start without a vision, or even clear goals; even if there is a vision, it ends up getting lost and forgotten in a sea of feature requests.
Not only should we be asking if a project has achieved its original goals once it’s finished, we should be continually assessing progress against those goals throughout the life of the project - yet few projects I’ve worked on actually do this, even when I’ve explicitly requested it.
only 30%? I'd have guessed that most IT projects at least fail to achieve goals if they don't crater completely. the bigger the projects, the more they resemble interplanetary collisions.
Well, that’s according to the PMI. Finding the link will simply lower my level of happiness for the day, but you should be able to Google it (sorry).
The thing is that as far as I can tell, “success” is measured post-hoc, so all sorts of shenanigans might have taken place in order to determine that a project was “successful”. Having worked with my fair share of corporate project leaders, I’m quite certain that the actual number of failed projects would be much higher if measured by the original criteria used to justify the project in the first place.
Helmuth van Moltke (1880): "No plan of operations reaches with any certainty beyond the first encounter with the enemy's main force." It applies to software projects too, especially large ones. The enemy is the real world (or our lack of understanding of the real world.)
If we look at the original requirements every single project is a failure. If we look at the strategic goals and keep track of all trade offs maybe 30% is a fair guesstimate.
Scrum is really for low-trust environments where management fundamentally don't trust the developers to deliver - whether because the developers aren't experienced, not very good at self-management, or too easily distracted by shiny things, or because you're an archetypal MBA type who distrusts any underling who might be smarter than you.
If you trust your developers (whether in-house or contractors) to do the job you can pretty much let them manage themselves with whatever kanban-ish system that works for them. If you don't, you have a ready methodology that gives you meetings upon meetings and two week deliverables and every little thing broken down to the smallest unit under the guise of "empowerment".
While this is definitely true (I've worked in both kinds of environments), I think the scrum process isn't for low-trust per se, but for managing expectations, especially if you have a larger IT organization. Your direct product owner needs a way to determine how long the development of features can be done, so that they can coordinate and manage expectations with other product owners and other stakeholders (management, customers, etc). I see it as a way to abstract away the individual developers and dev work.
And you probably know that there's a BIG portion of developers who aren't as self-organized or disciplined. You mentioned the shiny things distractions, I think that was a factor in the original post. The other being mismanagement on the agency's side, where they allowed their designers to go out of scope. And I'm not even convinced it's mismanagement, because they turned a $7K project into a $46K project, a 6.5x increase in their revenue off of some small side project.
That's not entirely wrong, but Scrum is also great for high-trust environments where you want to have deliverables from sprint one.
And it is actually more useful when things are flipped, and the team doesn't really trust the client/customer/manager. Which is often what happens more frequently.
But you're totally right that Scrum can get kinda heavy on the meetings side. Which tends to be the rule, not the exception. The only times I had this exception it was when we had a technical person working on the requirements, though. No designer or product owner making nebulous Jira tickets.
> Which is why it's the product owner's responsibility to prioritise.
The company didn't seem to have issues prioritizing the authors tasks into no mans land. So they seem to have that part down great already. However I find the consistent two week deliveries early on a bit disturbing, in my experience two weeks is exactly one sprint and fixing deliverables to that time window means that you can't really do any agile planing with it, your team just has to accept that this work has to be done and can't give random work that seems to pop up every now and then the attention it deserves. To be really agile and allow your sprint planing to reflect that you shouldn't promise anything in time spans less than two months.
> I'd bet you a large sum of money this agency used Agile.
Probably not. Larger relatively successful design / marketing agencies are - based on my experience - poorly run, poorly managed, and poorly led. This gets exasperated by high turn-over (read: good people leave, dead weight stays behind).
Training, etc.? Not a priority. Revenue, it's all about revenue. They're "creatives", not business problem-solver types and presume mess and excessive friction are unavoidable.
Even if they're using agile, it's up to the customer to ask for deliverables that they care about if they want them.
Of course it would be much better if the agency were honest, but if for seven months the deliverables were only "promises", then it's definitely not agile...
Keeps me honest. And will keep me from working with architecture astronauts don’t really deliver anything but hot air and build ultra-extensible structures that are actually impossible to extend beyond the fantasy world of their maker. Or the equivalent for designers.