4 ms·
The reason this happens is because most people just want to know what to do next, and not have to fret over higher order problems which A) require deeper expert
by dasil003 3y ago
The reason this happens is because most people just want to know what to do next, and not have to fret over higher order problems which A) require deeper expertise and reflection to analyze and B) they may not have the agency and influence to improve anyway. This leaves the door open to the snake oil salesmen ("agile" consultants) who promise the One True Way™.
The reality is that well-tuned processes can reduce cognitive load in day-to-day work, freeing up mental cycles for higher level problems. But process also adds overhead and rigidity, so it needs to be tuned to the environment at hand and reevaluated regularly. This can't be done be done by a drive-by consultant or a detached manager, it requires boots on the ground context and applied expertise to relate the day-to-day reality to the highest order business goals. Anything short of that is MBAs and juniors clinging to an arbitrary process as justification for why they are delivering adequate, but not exceptional results.
- doctor_eval 3y agoYes, I agree with everything you've written. The problem is not processes like Scrum, it's the fact that many of the people who are in roles that are ostensibly responsible for "fret[ting] over higher order problems" actually don't care about that. They get paid regardless of how productive everyone else is, and in my experience they get paid more if they implement "best practices"... which are practices designed by marketing teams to sell CSM courses.
- avereveard 3y agoThe reason this happens is that management is secretly hoping that using a process will allow them to do get by with junior developers because the software complexity will be magically handled by "The Process" I honestly don't blame them for trying to industrialise software production, I blame the engineers which is probably the only white collar profession that don't care about being in control of their own field narrative
- steveBK123 3y agoThis was readily apparent at my last shop when we had a range of junior (months out of college) and seniors (20+ years experience), and the expectation was simply that seniors were to clear more tickets/points per sprint. We didn't allocate more architectural tasks to seniors, or pair them with juniors, or give them long running slices of work across sprints.. we just were like "more points please". We ended up with under-engaged seniors all leaving, and juniors being given tasks they couldn't accomplish.
- WJW 3y agoThis has been a very underappreciated point in all companies I've worked for so far. The difference between an good programmer and a bad one is not (just) that the good one is faster, it's that they can solve problems that the bad one cannot solve at all. The terms "junior", "senior", etc make it appear as if the latter is just an older version of the former, but the correlation between work experience and actual skill is far from 100% in my experience.
- steveBK123 3y agoI use senior here also to point out - we had a team composed of people who had literally built a similar/same system elsewhere, and kids who are working for a living for the first time in their lives for a few weeks. The idea that everyone gets a vote on story points & planning meetings in a conference room for hours&hours, while democratic, is counterproductive. Further, as it turns out, the dev who has done the thing 2-3 times before knows all the mistakes not to make, and move onto make new & unique mistakes (joking, sometimes) whereas the junior gets to make all the mistakes all over again. The senior is always going to give a higher effort estimate, but will generally be able to accomplish the task within that estimate more often. A junior has no ideas what they don't know, and can often be off by orders of magnitude on their estimates. Usually because they consider only what is required for the "happy path" of the code to work as expected when used as expected, with no bad data/etc. Further they will include the time it takes them to get the first cut of the code working on their box, undocumented, uncommented, not in git, not tested, and not ready for release.
- 9659 3y agoprogramming computers is a blue collar job. like a machinist or a welder. probably half of the work is fixing defects.
- doctor_eval 3y agoI think those defects often come about because the rest of the process emphasises schedule over quality. It’s a false economy, but many businesses treat quality as a cost rather than a benefit. It is again one of the problems with scrum. There is pressure to complete a feature in a given sprint - and a sense of failure if you don’t.
- bluGill 3y agoI know machinists and welders. Some of them just want a blueprint and will make what you want to that spec. Some of them want to be told "make this part fit on this other part", and they get to make up the bracket that fits. There is a place for both. One is basic and easy to automate - but often it turns out the costs of setting up automation is higher than the cost of paying someone to do the production run. The other is hands on engineering and needs some engineering knowledge.
- avereveard 3y agoCan you put programmers in a production line and expect quasi linear improvements? No. Because programmer jobs have a knowledge and creativity bottleneck, that is the hard part to scale, and require workers that have autonomy, can take initiative, and can put together a solution from known part in ways that create solutions for one off problems. Metaphorically speaking they are not tightening the same bolt type over and over again to the same spec every time. Software is not manufactured, it's largely artisanal.
- bitwize 3y agoYeah, that's another thing... Because good developers are rare, expensive, and risky, corporations think they can get the equivalent work output of one good developer by lashing together several average developers the way you can get effectively one large reliable disk by RAIDing together several smaller, less reliable ones. This in and of itself is a strong motivator for how agile is done in corpo shops. Of course, the fact that programmers don't actually work that way is something these corporations' management didn't get the memo on...
- bitwize 3y agoIt's important to keep one thing in mind: Agile gets corporate buy-in inasmuch as it promises fine-grained executive observability and control over the software development process. Period. From a business perspective, Agile means some suits can look at a dashboard and see, with a granularity of one sprint at the coarsest, whether the project is proceeding on schedule, who completed what, which individuals and teams are ahead and which are stragglers. Information they need in order to make budget, risk, and resource (read: hiring and especially firing) decisions. That's how the consultants pitched it because that's what executives want to hear. They read about Agile in CIO magazine, its promise of quick turnaround times, and its need for communication between the developers and business experts, and their takeaway is that it's an efficient micromanagement strategy, a panopticon that will help derisk persnickety programmers by having them under constant observation and forcing them to provide constant feedback.
- dasil003 3y agoI don't doubt that you've experienced this, but frankly it sounds like amateur hour. At any significant scale, with competent leadership, executives will not have bandwidth to review sprint boards, and are actually looking for the opposite: reliable coarse-grained control. Of course, this requires a lot of trust, which also depends on a critical mass of competence up and down the chain. There may be times when subordinates are getting things wrong, and leaders have to deep dive to understand and correct things (particularly when competence is lacking in the middle management layers), but that is necessarily the exception not the rule. Unfortunately even in healthy orgs where leadership concerns itself with results and appropriately delegates process and execution to experts that understand how the sausage is made, you still find a lot of lower level managers or even ICs who embrace the ceremony and rote process of Agile as a substitute for really reflecting on the quality of the team's output at a higher level and over longer spans of time.
- doctor_eval 3y agoAgree whole hearted with you but sadly amateur hour is all too common among supposedly senior execs. In many companies it seems that people get promoted due to political skill rather than management skill. And micromanagers often appear competent because they can report on exactly why a project failed… leaving out the bit that they strangled it to death while nobody was looking. Not that I’m bitter or anything.