Ancient developer here / not really a coder, but what the hell is "Agile" software development?
Is it some kind of pseudonym for pushing buggy, untested code to a production server or something?
Like a speed run category for software development?
Post funny things about programming here! (Or just rant about your favourite programming language.)
Ancient developer here / not really a coder, but what the hell is "Agile" software development?
Is it some kind of pseudonym for pushing buggy, untested code to a production server or something?
Like a speed run category for software development?
Yes. Yes it is. Well, sort of... Basically it's getting a physical deliverable out of the door in a set time frame. Your team agrees that they can do all the work to bring a feature, x, up to spec and out of the door in (usually) two week increments.
However, that requires some caveats. The work is agreed upon by all parties that it's doable - including testing, debugging and deploying. No other work (with the exception of fires etc) is to be introduced to the team in that period. All the dependencies have been highlighted and accounted for. There is a solid, agreed upon definition of done.
However, corpos don't follow this
That seems to require a level of foresight and planning that most corporations don't have. That's almost like a blueprint for failure when some middle manager changes the scope of a project with a hard coded time limit, IMO.
Anyone interested in not-agile development? Maybe we can call it "Ship it when it's ready" lol
I fully agree. It's supposed to be the scrum masters job to keep that away from the devs so that they can focus.
Management and other stakeholders are also supposed to be in agreement on both the agile method, and also the book of work for the sprint.
Obviously, if some priority changes mid sprint which is important, the team can agree to pick it up at the expense of agreed upon deliverables
I'm starting to think the way to go isn't set stories in the sprint at all. There's a refined backlog in priority order. You grab one, do it, grab the next. At the end of the two week period, you can still have a retro to see how the team is doing, but don't worry about rollover.
Alternatively, don't think of Agile as a set instruction manual, but rather a group of suggestions. Have problem X? Solution Y worked for many teams, so try that.
You basically just described kanban.
Like traditional project management?
Ah yes. Life before Agile was wonderful.
This is what I always say. Put the tickets in order and we'll do them.
Management always pushes back.
Fuck scrum
If there is so few people that get it right, maybe the problem is that the system is not adapted for the vast majority of people and the reality of the work life, and other options should be explored.
But there is always someone claiming that everyone else get it wrong and blablabla.
But someone with a MBA in a closed office is pushing that shit all the time, and everyone that has to use it roll their eyes because they know damn well that the only thing that will matter is those damn story points, and the people will game the system because that's all that matters to those that don't use the system, and you will hear about that other team that always finish the tasks in their sprint.
Scrum is not the be-all end-all, but in organizations that cannot implement scrum effectively, no system could hope to achieve anything meaningful either.
Scrum aims at empowering workers to remove power from clueless MBAs and meritless CEOs, if they don't want to play ball then the idiocracy will win every time regardless.
No, it just means that this is not the right tool for that company. But it is forced upon the employees.
That's naive ( or bad faith) to think that it gives power to the workers. It's just used against them.
I get the spirit of the method, but it is not the only available tool and the right tool for every project and company and should be treated as such.
Good software does not come out of companies without a bottom-up approach to software development. Top-down approaches are either terrible or extremely expensive.
Agile development is something that at my company we fought for, not against. It's literally impossible to fight against actual agile development since it has to come from the workers. Agile is not scrum, and neither are a collection of ceremonies. It's just a framework to give agency to developers.
Do you think that traditional project management is from the top down? Or were you exposed to bad traditional project management? Because that's the same argument that you are making for Agile.
Let's make things clear - the Agile methodology is a great tool. But like any other tool, it is not a one size fits all. But what is happening right now is that it's pushed by upper management because that's the cool tool.
What kind of non-agile bottom-up software projects have you experienced? Bottom-up waterfall? I guess it's possible in theory but that would be a sight to behold.
My only point is that in most situations, upper management are fools that should be left to their devices and should never get a say in development methodologies. By definition if upper management imposes Scrum, it's a self-defeating prophecy.
Waterfall | Agile | Scrum | |
---|---|---|---|
Top-down | Can be great (esp. with rigid requirements like fintech, for safety-critical systems, or integration with traditional engineering processes with rigid schedules and feature sets) but will probably be more expensive | Bad managers trying to make-up for their own lack of foresight | Can't exist (but some companies pretend very hard) |
Bottom-up | Probably can't exist (but I haven't seen anyone try) | Yes | Yes |
Your average tech company should be somewhere in the bottom-right, but bad managers are trying to pull the needle upwards to justify their existence or make up for their incompetence. But they still call that "Agile" (which can be true by some definitions of the word) or "Scrum" (which that isn't, by definition).
Pro tip, if this happens to you split your tickets up into smaller chunks! It has two effects:
One is that you will see progress from one sprint to the next, even if it's 1 story point at a time.
It also has a psychological effect! If you're like me you will avoid the huge, nebulous tasks. But if it's something manageable with a defined start and end, you will do it. You could probably even schedule it.
Looks like iterative waterfall