(no title)
keyraycheck | 3 years ago
I went all the way from Agile maximalist to common sense-ist.
For me agile these days is simply:
- talk to your team to sync often but short
- seek feedback (from stakeholders, ideally users)
- allocate time to work on your backlog so it nice and tidy
and technical stuff:
- release early, release often (i.e. CI/CD/devops stuff)
- automated testing, regular code reviews
- refactoring, working with small commits/PRs
More a common sense, than a "process" or "ideology".
happymellon|3 years ago
This is the one thing that "failed agile" hits against. Large organisations want everyone to use their same crappy Jenkins pipeline. Which means when it keeps breaking then no one can do any work. No one can fix it, and no one is allowed to switch it for a service that isn't down for half a day most days. That isn't "agile".
It derails everything else in the process, what's the point of a retrospective if the most painful parts was because someone has decided outside of the team that you have to use OpenShift for your Kubernetes, but then hires folks who don't know what they are doing and you can't just shift to a managed service until they sort their shit out?
What's the point of standups to get updates if most days people are still stuck on their ticket because the mandated CI pipeline is stuck due to a lack of workers?
I see it in all these complaints about agile, that they don't grasp that they were never given autonomy in the first place. It was always only lip service.
troupe|3 years ago
And especially if you change something, make sure you have someway to know if you made it worse and need to go back to what you had before.
jollofricepeas|3 years ago
Note that ALL of these can be summed up in one phrase that I tell my teams often…
TIGHTEN
YOUR
FEEDBACK
LOOP
This is literally the key to life (besides 42) and everything. Want a better relationship with your partner, pet, friends, boss, code, family then tighten the loop.
dgb23|3 years ago
- small changes, fixes, additions
- tests, optimizations, refactoring
It’s what you do to move forward iteratively with approaching deadlines.
But to not get stuck in local maxima you need some time off from feedback loops and tactics. You need time to think, design, experiment, sleep. You need time for creative, strategic thinking. Processes, rules, feedback loops, deliverables etc. are all a hindrance to that.
mike_d|3 years ago
We need to get back to engineering as an art form, not factory work.
sveme|3 years ago
jollofricepeas|3 years ago
- Kanban (no sprints)
- (45 min) Weekly grooming session
- Thrice weekly stand ups (async)
- (1 hour) Retro every two weeks (sometimes we skip it or it becomes a show-n-tell)
- (30 minute) 1:1’s monthly for seniors, every other week for juniors unless requested more frequently
- Optional (1 hr) themed mob sessions / office hours throughout the week. You bring a problem and the group that shows up will work on it with you. Seniors/IC’s are required to hold office hours at least once a week.
- NO OTHER MEETINGS; engineers are asked to block out their lunch/personal time and refuse any non-essential meetings. They have the right to request meetings be rescheduled to appropriate times or moved async.
- NO MEETINGS OF ANY KIND ON FRIDAYS
exitb|3 years ago
qikInNdOutReply|3 years ago
laserlight|3 years ago
irfn|3 years ago
Lio|3 years ago
Control the amount of Work In Progress by the team.
I’m not sure if that counts as common sense or not but I see it as vitally important.
hurril|3 years ago
Having worked as a programmer since 1999, I can say that these things were not part of the processes and ideas when I started, at the places I worked. Interpret that any way you want.
I like agile/ scrum/ whatever and what I mean when I invoke those terms, is the list enumerated above.
I dislike the bullshit derivative terms, however. The burn-down charts, estimation poker, story points and all that. (Sure - the poker might trigger a thorough discussion about controversial estimations, so I guess I'll allow it.)
I also really dislike the concept of the daily standup for non-juniors.
ac50hz|3 years ago
That’s common sense, otherwise we’re just not taking real-world problems into consideration.
ac50hz|3 years ago
I like this focused list. I’m always in favour of understanding the need for methodologies yet at times too many people use a methodology name as an excuse and alternative to saying “I want it now, I don’t care how, and I’m not interested in excuses nor if there are problems. But make sure there are no problems.”
Common sense, teamwork and cooperation can help us embrace the salient features of different methodologies without the barriers and no-entry poses sometimes presented by leaders or masters in the name of leading-edge box-ticking, often forgetting that we’re working with people. I’ve not seen many unhappy yet productive, professional and inclusive workers, in any field. Explanations, regular feedback and carrying a team with you can help to reduce stress of everyone in the team.
Processes are key to this, irrespective of the ideology.
flir|3 years ago
Of course it would be dumb not to include all the stuff you mentioned at the start, because we've learned from previous projects that it works. Might as well stand on the shoulders of giants. But it's not the absolute, minimal core.
Personally I'm not convinced that "tighten your feedback loop" is good advice, because I interpret it as "shorter measurement intervals", and the shorter they are the more noise there is in the measurement. But the beauty of iterating the process is that we can try it and see if it works.
jshen|3 years ago
lmm|3 years ago
therealdrag0|3 years ago
My current team only estimates projects not tickets and does not do scrum, and I don’t notice a difference in performance from scrum teams I’ve been on.
Furthermore, I worked on a 18 month project that was estimated by someone who was not on the team that implemented it and it was implemented on time without overtime, and without any special process. Maybe that was unicorn, but it happens.
I think just having a manager/tech lead that cares and maintains priorities is all it takes to stay on track.
Mtinie|3 years ago
The former is (generally) within the control of the team who is responsible for hitting the date. The latter, (generally) is not.
The process is less important than the people.
jacquesm|3 years ago
40 years of IT experience lead me to believe that this is only possible for the most trivial of projects with nailed down specifications and where the party building it has relevant domain knowledge. In practice such projects don't really exist. Trivial IT projects are rare, specs change, scope creep is a thing and domain knowledge is built up slowly over time.
What is necessary is that the work does not occupy more time and effort than it strictly requires. That is still a hard problem, but much less hard than to find a way to hit dates that you commit to, unless you give yourself ample room to deal with the realities of complex IT development work.
pif|3 years ago
sfuller808|3 years ago
[deleted]