I’ve literally never actually seen a self proclaimed “agile” company at all get agile right.
If your developers are on teams that are tied to and own specific projects, that’s not agile.
If you involve the clients in the scrum meeting, that’s not agile.
If your devs aren’t often opening PRs on a variety of different projects all over the place, you very likely aren’t agile.
If your devs can’t open up a PR in git as the way to perform devops, you aren’t agile.
Instead you have most of the time devs rotting away on the sane project forever and everyone on “teams” siloed away from each other with very little criss talk, devops is maintained by like 1-2 ppl by hand, and tonnes of ppl all the time keep getting stuck on specific chunks of domains because “they worked on it so they knpw how it works”
Shortly after the dev burns out because no one can keep working on the same 1 thing endlessly and not slowly come to fucking losthe their job.
Everyone forgets the first core principle if an agile workplace and literally its namesake us devs gotta be allowed to free roam.
Let them take a break and go work on another project or chunk of the domain. Let them go tinker with another problem. Let them pop in to help another group out with something.
A really helpful metric, to be honest, of agile “health” at your company is monitor how many distinct repos devs are opening PRs into per year on average.
A healthy company should often see many devs contributing to numerous projects all over the company per year, not just sitting and slowly be coming welded to the hull of ThatOneProject.
I don’t disagree with you (on giving devs some creative freedom), but “Agile” as a process methodology isn’t about developers working on multiple things to keep their interests up.
That’s actually a pretty important part of its original premise.
It’s a big part of why scrum meetings were a thing, as the expectation was any curious dev could just join in to see what’s up, if they like.
Not tying devs down to 1 specific thing is like the cornerstone of agile, and over many years of marketing and corporate bastardization, everyone had completely forgotten that was literally the point.
The whole point of the process was to address 2 things:
That client requirements can’t easily be 100% covered day one (But you still need to get as many as you can!)
To avoid silo’ing and tying devs down to specific things, and running into the one bus rule (“how fucked would this project be if <dev> got hit by a bus?”)
And the prime solution posited is to approach your internal projects the same way open source works. Keep it open and available to the whole company, any dev can check it out, chime in if they’re familiar with a challenge, etc.
One big issue often noted in non-agile companies (aka almost all of them) is that a dev slent ages hacking away at an issue with little success, only to find out far too late someone else in the company already has solved that one before.
An actually agile approach should be way more open and free range. Devs should be constantly encouraged to cross pollinate info, tips, help each other, post about their issues, etc. There should be first class supported communication channels for asking for help and tips company wide.
If your company doesn’t even have a “ask for help on (common topic)” channel for peeps to imfoshare, you are soooooooo far away from being agile yet.
I don’t know man. Nothing in the Agile Manifesto talks about not focusing on one project.
In addition, I think most people (and studies) would agree that “focus” is key to building almost anything of quality. Not flittering about working on shiny pennies of the day. I mean, a key tenant of sprints is “Don’t interrupt the sprint”. The whole concept is about letting developers focus.
The best architectures, requirements, and designs
emerge from self-organizing teams.
It’s an incredibly critical part companies love to completely ignore.
If you assign devs to teams and lock em down, you’ve violated a core principle
And it’s a key role in being able to achieve these two:
Agile processes promote sustainable development.
And
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
This is talked about at length by the likes of Fowler, who talk about how locking devs down us a super fast way to kill sustainable development. It burns devs out fast as hell.
Note that it’s careful not to say on the same project
I’ve literally never actually seen a self proclaimed “agile” company at all get agile right.
If your developers are on teams that are tied to and own specific projects, that’s not agile.
If you involve the clients in the scrum meeting, that’s not agile.
If your devs aren’t often opening PRs on a variety of different projects all over the place, you very likely aren’t agile.
If your devs can’t open up a PR in git as the way to perform devops, you aren’t agile.
Instead you have most of the time devs rotting away on the sane project forever and everyone on “teams” siloed away from each other with very little criss talk, devops is maintained by like 1-2 ppl by hand, and tonnes of ppl all the time keep getting stuck on specific chunks of domains because “they worked on it so they knpw how it works”
Shortly after the dev burns out because no one can keep working on the same 1 thing endlessly and not slowly come to fucking losthe their job.
Everyone forgets the first core principle if an agile workplace and literally its namesake us devs gotta be allowed to free roam.
Let them take a break and go work on another project or chunk of the domain. Let them go tinker with another problem. Let them pop in to help another group out with something.
A really helpful metric, to be honest, of agile “health” at your company is monitor how many distinct repos devs are opening PRs into per year on average.
A healthy company should often see many devs contributing to numerous projects all over the company per year, not just sitting and slowly be coming welded to the hull of ThatOneProject.
I don’t disagree with you (on giving devs some creative freedom), but “Agile” as a process methodology isn’t about developers working on multiple things to keep their interests up.
That’s actually a pretty important part of its original premise.
It’s a big part of why scrum meetings were a thing, as the expectation was any curious dev could just join in to see what’s up, if they like.
Not tying devs down to 1 specific thing is like the cornerstone of agile, and over many years of marketing and corporate bastardization, everyone had completely forgotten that was literally the point.
The whole point of the process was to address 2 things:
That client requirements can’t easily be 100% covered day one (But you still need to get as many as you can!)
To avoid silo’ing and tying devs down to specific things, and running into the one bus rule (“how fucked would this project be if <dev> got hit by a bus?”)
And the prime solution posited is to approach your internal projects the same way open source works. Keep it open and available to the whole company, any dev can check it out, chime in if they’re familiar with a challenge, etc.
One big issue often noted in non-agile companies (aka almost all of them) is that a dev slent ages hacking away at an issue with little success, only to find out far too late someone else in the company already has solved that one before.
An actually agile approach should be way more open and free range. Devs should be constantly encouraged to cross pollinate info, tips, help each other, post about their issues, etc. There should be first class supported communication channels for asking for help and tips company wide.
If your company doesn’t even have a “ask for help on (common topic)” channel for peeps to imfoshare, you are soooooooo far away from being agile yet.
I don’t know man. Nothing in the Agile Manifesto talks about not focusing on one project.
In addition, I think most people (and studies) would agree that “focus” is key to building almost anything of quality. Not flittering about working on shiny pennies of the day. I mean, a key tenant of sprints is “Don’t interrupt the sprint”. The whole concept is about letting developers focus.
Agree to disagree I guess.
Might wanna read it again, it’s right there :)
It’s an incredibly critical part companies love to completely ignore.
If you assign devs to teams and lock em down, you’ve violated a core principle
And it’s a key role in being able to achieve these two:
And
This is talked about at length by the likes of Fowler, who talk about how locking devs down us a super fast way to kill sustainable development. It burns devs out fast as hell.
Note that it’s careful not to say on the same project