[HN Gopher] How big tech runs tech projects and the curious abse... ___________________________________________________________________ How big tech runs tech projects and the curious absence of Scrum Author : PretzelFisch Score : 479 points Date : 2021-09-27 11:47 UTC (11 hours ago) (HTM) web link (newsletter.pragmaticengineer.com) (TXT) w3m dump (newsletter.pragmaticengineer.com) | ilrwbwrkhv wrote: | Usually in interviews I check if they use Jira in their day to | day process. If they do, I don't join that company. | worldsayshi wrote: | What would you use instead? | dboreham wrote: | Bugzilla | jumpkick wrote: | Bugzilla is still around. | Arcanum-XIII wrote: | Basecamp, Bugzilla, Redmine, a wiki, anything else. But | there's a worse Jira than Jira with the Azure Dev Board. | tmcneal wrote: | Github Issues, Linear, or ClickUp | zozbot234 wrote: | Phabricator? | kayodelycaon wrote: | I _mostly_ agree. It does depend who set up Jira and why. I'm a | developer and have full admin access. I know exactly the kinds | of tooling required for smooth integration with the rest of the | business. Jira is the one product everyone involved agrees on. | (If reluctantly.) | | It is a fuck-ton of work to set Jira up so it gets out of the | way, but it has all of the customization I need to serve most | of everyone's needs. | | If anyone so much as thinks about enforcing workflows on our | scrum board, they are going to hear my polite, but firm, | rejection of such meddling. It's our board and we let other | people see it so they don't have to bug us with requests for | status updates. | | Jira isn't a hard no for me because I've been an admin for it | at both this job and my previous one. Let my team manage our | stuff, and I'll happily set up Jira to keep everyone else's | grimy paws off my team. | strife25 wrote: | Why is Jira a deal breaker for you? | nickjj wrote: | The article mentions: | | _> Scrum got in the way of shipping on a daily basis. The whole | idea of Scrum revolves around Sprints, of committing to tasks at | the beginning of the sprint, working on these during the sprint, | and demoing what we did at the end._ | | What if each team member came up with a few tickets to work on | during let's say a 2 week sprint and then these tickets were | shipped as they were finished resulting in releasing new code | potentially every day or couple of days? | | I've worked with a bunch of companies (contract work) and very | rarely did they stick with 4-6 week sprints but only shipped | everything at once in the end. That would be really dangerous. | Almost always things were shipped as they were completed and | reviewed. | Arcanum-XIII wrote: | You forget that there's a big administrative load added to a | two week scrum (planning, daily, daily...), that you need to | test and validate, potentially validate the work with QA and do | a demonstration at the end. I've never seen a two week sprint | working as intended. Especially if you factor the interruption | for fix, new feature discussion, task that are more complex | than expected and so on. If you add a manager in the loop, | pressuring the team member to agree to unrealistic deadline, | Scrum is pretty much the best way to destroy everyone involved. | nickjj wrote: | > You forget that there's a big administrative load added to | a two week scrum | | It wasn't forgotten. Maybe the places I've done contract work | for didn't follow scrum to a T. There was no daily planning. | It was meeting once for 2 hours every 2 weeks to figure out | what to work on and then a few small teams self regulating | themselves asynchronously until things were done. This | included doing the work, updating the ticket, having at least | 1 person review / test the PR and it getting released. | Usually there was a 1-3 day turnaround time from the PR being | set to review to it being live on the site. Could be longer | if the PR needed a lot of changes from things caught in the | review process but the ball was always moving. | | It never killed a single developer's productivity to wait on | a review because every developer had a few tickets to work on | during that 2 week process so they could jump to the next one | or review another person's PR in the mean time. | | There was no manager component once the tickets were chosen | for the sprint (which was often a manager + developer group | effort). Code could go from a ticket to production with no | administrative bottlenecks. | UK-Al05 wrote: | That's a long time from pr to release. | WJW wrote: | I think the biggest misunderstanding that always occurs | when talking about Scrum and/or Agile is when people from | radically different industries meet. From the perspective | of my previous team, 1-3 days from PR to prod would be | indeed quite long. For such a team, "two weeks per | sprint" can seem like an eternity and will only slow | things down. | | On the other hand, one of my best friends works for the | largest insurer in the company. They do about one release | per six months and working in two week cycles would be an | unimaginable speedup for them. It frequently takes more | than a month to get word back from the regulators that | their proposed code changes have been approved at all. | | Both of the groups ("scrum slows you down"/"scrum is | uncomfortably fast") have trouble imagining that the | problems of the other group can even exist. | nickjj wrote: | What would you do to go from PR to prod faster when you | want at least 1 human who didn't open the PR to manually | review each PR in a 10-20 developer remote team? | | 1 day doesn't seem too bad, often times it can be 2-6 | hours. It really depends on what lines up and how big the | PR is. | Jensson wrote: | A code review for a smallish change shouldn't take more | time than sending a few chat messages. You send them the | code review, they look through the 20 lines in the code | review tool, note that the changes corresponds to the | change description, see that you added tests for it and | that those tests passed, they ask you to clarify a | variable name, you update the code and send it again a | few minutes later, they review the new change and see | that the name was properly changed and tests still pass | and press accept. | | This is how most of the code reviews went for me at | Google. If you do a bigger change it will take more time, | but I see no reason why smaller should take longer than | that. After all you are just sending small bits of text | back and forth, it really isn't more complicated than a | few chat messages. | nickjj wrote: | Yep, what you described is how most reviews go. | | The delay isn't always around the review itself taking | long. It's having a dev working on their own tickets and | then having an opportunity to check in and review someone | elses code. You could end up getting a review on your | code in 10 minutes or 5 hours based on what's going on | for everyone at the time you open the PR. It might even | take until the next day and for a bigger PR it could | involve a few more eyeballs and time commitment for the | review itself (outliers but they do happen). | UK-Al05 wrote: | I think most people I see doing scrum these days, do a story, | demo a story to owner, release story. Move onto next story. | Rarely do they release at the end. | | The review at the end is for all stakeholders to be able to | catch up on what's being going on the last 2 weeks. | ekianjo wrote: | > It measured a Net Promoter Score (NPS) of -83. This is | staggeringly low, and means that 83% of engineers would advise | against JIRA | | No, that's not at all what it means. Another person who does not | understand the bullshit that is NPS. NPS treats people rating at | the lowest of the scale just like people rating at the middle of | the scale, which is patently ridiculous. | blululu wrote: | It's not exactly what an NPS score of -83 means, but it's close | enough and an NPS score of -83 is sufficiently awful that it | should be considered a crisis for any business that does not | have strong customer lock in. Actually a few promoters in the | sample would potentially imply that more than 83% of engineers | would advise against JIRA. | | Of course NPS scores overlook some nuances. It's a single | estimate of a complicated space. The imprecision is probably to | its advantage. The goal is not to be perfect (no single number | could do that), but to provide a quick estimate of quality with | a single question (nobody wants to fill out a 3 page survey, | and the executive team is only going to sit and listen for a | single statistic). | | As an exercise, consider how you chose a restaurant based on a | standard Yelp 1-5 scale: you might find that you are using a | similar methodology while reading product/service review. | Ratings of 1-3 are considered bad reviews, 4s are decent and 5s | are good. American culture as a strong bias for positive affect | so a 3 is considered to be unfavorable. Additionally, there is | a lot of variance in terms of how people get upset and express | their anger. Someone may rate something as a 1 because they are | more expressive of their angry, while another person rates it | as a 3, but neither is really happy with the service. Try | coming up with a better metric based on yelp reviews for | restaurants you are familiar with and you might find that NPS | does a reasonable approximation of what you have discovered. | excitom wrote: | NPS is a marketing tool. I agree it's misused in this case, but | the people at the extreme ends of the scale DO matter. They are | the ones who will passionately voice their opinions, write | reviews, do blogs posts, etc. The people in the middle of the | scale can't be bothered with doing anything about their | opinions. | ryanmarsh wrote: | Scrum is merely a batch oriented process. In (process) control | theory there is over 100 years of study of batch, continuous flow | (e.g. Kanban or Lean), and other types of processes. | | Each has benefits and tradeoffs. Like all tools the proper | process type for your project will be context sensitive. | | For an industry so full of smart, supposedly logical, people ours | is still quite immature and tribal in its management theory. | mindvirus wrote: | One pet peeve of mine: people often say they run a "lightweight" | version of some project management philosophy and end up paying | the costs of it without the benefits. For example lightweight | agile scrum meaning sprints, but no retros and work constantly | coming into and out of a sprint. | Scarblac wrote: | I have been on teams like that. It's just biweekly planning | meetings. I don't see how that means you pay the full costs of | something like Scrum. | desert_boi wrote: | Is biweekly twice a week or every two weeks? My previous gig | had grooming/internal grooming every week. We had stand ups | twice a week (biweekly). Almost all of these meetings were | relatively worthless imo. They existed to justify a BA's | position and "track velocity". | Scarblac wrote: | Every two weeks, in our case. Confusing word, sorry. We had | two week "sprints". Every day a 15 minute standup before | lunch. | | We planned what we were going to do the next two weeks. | During that time urgent work would also be added and other | things wouldn't be finished, but they just moved to the | next sprint. Releases were quarterly (customers didn't like | frequent releases) so not related to the "sprints". | | Some managers described this as "Scrum light", fine with | me. | jmnicolas wrote: | It depends: when I was hired 12 years ago the manager said | "we're going to mix agile and waterfall". What he really meant | was that there wasn't any methodology at all and I would be | left alone on how to organize myself. | | I'm still employed there so I guess my methodology (or lack | thereof) isn't that bad ;) | blunte wrote: | If Skype is an example of Scrum done well, perhaps that explains | why Skype has been very unreliable from and end user perspective | for 5+ years... the kind of unreliable where more than half of | the outgoing calls are met with instant "So-and-so-contact is not | available." responses [edit, added: failure responses so quick | that you know the contact was never called, and the problem was | within your client app or the Skype systems. Different computers | in different locations behaved the same.] | | Maybe they were missing what I noticed missing from my last | Scrum-focused company: view and attention from the higher | altitudes. | | Scrum makes it easy to break down features and problems into nice | little pieces which can be done within one sprint (often in one | day). That is a win in many ways, but it doesn't encourage higher | level reviews, refactoring, etc. It's the problem of not seeing | the forest for the trees. | | Of course you can intentionally create epics for these kinds of | reviews, but those don't have a good short-term return value for | time spent. And so, they get inadvertently or intentionally | postponed. Eventually the system is complex and messy, few people | understand the system in entirety, and the easiest Scrummy | solution is a re-write. | | For me, Scrum was a straightjacket, a hundred NOs against my | creativity and my attention to broader concerns. There are times | when you are implementing a simple ticket, but you keep touching | things that need attention... or you see how the entire system | has become convoluted, and you see a better way. To do it the | right way either means creating new epics and tickets, debating | those with product owners who don't understand the value, and | generally NOT solving the real problem. | tootie wrote: | That's not a fault of scrum. If you can't sell the value of | refactors on to product, then either you're not making your | case or they aren't being reasonable. But you'd have the same | problem with any process. We run kanban mostly and we get | refactors and tech debt into the backlog pretty regularly. We | also reject them pretty regularly when they don't see any | viable business cases. | [deleted] | softwaredoug wrote: | At Shopify, we tend to do whatever our engineers want in this | regard. My team meets weekly and looks at a kanban project board. | If we need to adjust, we have retros, etc and change the process. | We have the autonomy. | | In a past life you would be told Agile meant "self organizing | teams". But in practice that was only allowed in a narrow | definition of change under the prescribed process being foisted | on teams from above. | | IMO while you need some consistency to get alignment on goals at | a high level and coarse quarter-level goals, at the team level | you can more or less let the team decide and then judge them on | their effectiveness. | | Odd how so many companies want to do "what [successful tech co] | does". Yet those companies innovate their own processes. | noneeeed wrote: | Nice to see big companies working like this. I wish more places | would understand that different approaches work for different | people, teams, products, technologies and contexts. There is no | one true way, and most attempts to impose one tend to create | something that is bigger and more complex than any single team | needs. It's like the human equivalent of a code library that is | trying to solve too many problems and so becomes an unweildy | mess of config and options and meta-problems. | | We (Bugsnag) are a relatively small engineering team, so have | the advantage of low comms overhead, and we do have an | overarching approach, but each of the teams works a bit | differently. Even from project to project I'll adjust what | makes sense based on complexity/risk/size. | tootie wrote: | I find this concept utterly baffling, but probably because I've | never worked at this kind of org. I can see how letting | engineers run their own process is great for engineering | efficiency, but how do they know what to deliver and when? | | My conjecture (please confirm or deny) is that these self- | organizing teams are a result of and not a cause of big | successful companies. You are probably iterating on a very | well-understood and successful business model with a huge | cushion for mistakes because you have some much revenue. | | By contrast, I have mostly worked in consulting and non-tech | orgs. If we don't show that we're spending their budget on high | value features, we get layoffs. Hence we not only need very | thorough clarity on what feature development will yield the | greatest returns, but also deniability that we had good reason | for doing what we were doing if it turns south. | regularfry wrote: | I can't speak for Shopify, but in general you want teams that | don't need anyone to tell them what to deliver and when | because they can be trusted to figure that out for themselves | and make a good call. That can't be done without having | customer representation on the team (which you should | anyway), and having engineers capable of taking a customer | viewpoint. _That_ is what "self-organising" _should_ mean, | but few organisations are mature enough to transition to it. | | If you're in a situation where you need to show you're | "spending their budget on high value features" that's a low- | trust feature factory being treated as a cost centre by a | remote client, not a value-producing unit setting its own | terms. | snarf21 wrote: | One thing I learned a long time ago is that a "bad" process | that is followed universally by everyone (dev, pjm, pm) will | always out perform a "great" process with only token buy-in and | constant exceptions. | Yizahi wrote: | I don't get Jira hate. It may be clunky, slow and overcomplicated | but really it's just system to document stuff. If you don't | document stuff on a sufficiently big project (I'd day >10 | engineers, and especially at >100) then it's a recipe for a | disaster. | | As for solutions to document stuff, specifically issues, then | Jira seems to be ok and not lacking in any area, maybe not a | leader but not a worst thing to use too. | rightbyte wrote: | What is needed is registrars keeping track of documents and | writing summaries etc. I blame the 'savings' on secretaries for | many of the modern corporate worlds problems. A tell tail of | that the top brass them-self don't believe secretaries are not | needed, is that they them-self have them. It is just | engineering that can't have them - pushing any bigger | engineering org. into chaos. | dstaley wrote: | > I don't get Jira hate. It may be clunky, slow and | overcomplicated | | Ding ding ding! | | Seriously though, I think a lot of issues with Jira stem from | poor implementations that cause it to perform terribly, which | impedes an engineer's ability to quickly get in and out of | Jira. For example, the on-prem Jira instance for one of my | clients would take upwards of five minutes to render the board, | and another 30+ seconds to render the ticket page. Adding | comments was another frustrating experience. I'm sure the OOTB | experience with modern Jira is probably fine, but it seems that | hardly anyone uses Jira without some resource-intensive | customization. | ben7799 wrote: | I'm old enough to remember the B.S/B.A. (Before Scrum/Before | Agile) times. | | Agile has mostly been a disaster IMO.. I've worked at big public | companies and 2-3 startups during it's run. It works to come up | with a "MVP for 1.0 and then it starts dragging everything down | because it encourages tech debt. | | My experience has always been the successful companies/teams were | tongue in cheek telling everyone they were Agile when agile was | popular while simultaneously trying to ignore Agile as much as | they can because it was mostly ceremony and downsides once a | product gets anywhere near mature. There was a lot of "we're | agile with a lower case a" at places that could tell the | Emperor's new clothes were suspicious. | | Some of the old processes have been slowly creeping back in, and | we're kind of at the point now where teams no longer need to feel | like they have to advertise saying they're scrum/agile to appear | competent. But I think you either need some older managers or | something else to figure out what to do next and how to bring | back the good parts of older process methodologies because it | feels like theirs a vacuum. | | The relationships between teams and PM have changed so much. | Agile elevated PM a huge amount but as Agile moved on PM seemed | to abdicate all responsibility to do their part in the whole | agile process, and now you're left with a bunch of extra PM just | getting in the way. | | Agile without developers being included in estimates was one of | the worst things.. non-technical PMs constantly shooting down | estimates with "No, that is easy" is the worst. But Agile to me | always seemed to be about management being able to absolve itself | of all responsibility for not being able to figure out what to | build or how to build it and to always be able to blame the | engineers. | | As we go forward teams need to look back at the past and what | worked before Agile, not just make something new up out of whole | cloth. | | One agile team I worked on which probably was the strictest | essentially pivoted the entire product to something else 3x | because PM never had a clue what to build that would actually | sell. | OmegaPG wrote: | Are Skype and Whatsapp even comparable? Whatsapp was competing | with SMS (at least in developing countries) and it had a killer | feature of making groups. Anyone who had a phone moved to | WhatsApp overnight as they didn't wanted to pay for SMS. | francisthesixth wrote: | Well I guess that's the way (SMS alternative) Skype was trying | to go. They clearly didn't get any close though. | knightofmars wrote: | This item stands out as one of the most important aspects that is | either unknown or ignored in companies. The amount of information | a person has access to drastically alters their ability to make | informed decisions. | | "Exposure to the business and to business metrics. Engineers are | encouraged to interact with the rest of the business and build | relationships with non-engineers. In contrast, traditional | companies often make it impossible for developers to interact | with the rest of the business." | danjac wrote: | My tinfoil hat theory is that Scrum was invented by Big Tech to | hobble potential future competitors. | jopsen wrote: | > My tinfoil hat theory is that Scrum was invented by Big Tech | to hobble potential future competitors. | | Why make up an easily debunked conspiracy theory? | | Scrum wasn't invented at big tech.. | | Agile development in general became a thing in the mid-90ties. | Arcanum-XIII wrote: | Nah, it was created to add a new industry on top of IT. | Everyone is doing Agil.. I mean Scrum. So everyone need to be | certified, to follow workshop, to follow the "innovation", to | buy the associated toolings and so on. | ironmagma wrote: | How can I get anti-Scrum certified? | ChuckNorris89 wrote: | Refuse to work at places that practice? | ironmagma wrote: | No, I want to be able to represent myself as | authoritatively as the guy who proclaims to be "scrum | certified," as though scrum is so valuable as to have a | certification. | ChuckNorris89 wrote: | Did you miss the /s by any chance? I pray to god that you | did. | ironmagma wrote: | I guess I'll keep you guessing. | aitchnyu wrote: | > ...Skype in 2012, the company had gone all-in on Scrum. All | engineers and product people were sent to best-in-class Scrum | training, facilitated by one of the Agile manifesto's founders. | | We trade the story of one Agile Founder wanting to kill his | monster baby, but the others have been making bank. | marcus_holmes wrote: | Reading this, I'm struck by a thought: Are we the bad guys? | | According to the article, what the big tech companies have in | common is engineer-led products. It's not the besuited MBA's | making product decisions, it's us, the engineers. | | And the big tech companies are also united in having evil | products. With the possible exception of Shopify and Datadog, | every company on that list of "big tech" is doing things that | actively harm society. | | Cue the "are we the baddies?" meme [0]. If engineers are left to | build products by ourselves, do we build things because we can | and not because we should? | | [0] from https://www.youtube.com/watch?v=uK-kWRAVmRU | colinmhayes wrote: | People who sign up to work on ad services for google or | engagement for facebook have already self selected as willing | to do morally dubious work in exchange for more money. There's | no question that engineers do work that decreases society's | utility. | | I don't think following incentives makes someone bad though, | it's only human nature, and of course there are plenty of | people queued up to replace you. The system that creates those | incentives might be bad, but it can be impossible to untangle | where the incentives stem from. | Jensson wrote: | Pay engineers to optimize a number and they will, that is all | you need to do. In this case they told engineers to optimize | the number of ads clicked and then the engineers self organized | and did the rest. | jkingsbery wrote: | As someone who currently works at a Big Tech company, but spent | most of his career prior to that at smaller companies, I found | this article very confusing. | | First of all, I work at Amazon (and posting this under our social | media policy, this is just my experience, and I don't speak for | the company), and Scrum is pervasive at Amazon. The article is | right that many big projects start with a 6 pager, but once teams | start executing, many teams run some form of Scrum (Kanban is | also popular). | | The second thing I found strange in this article was the idea of | Scrum being heavy-weight. Early in my career I worked at a small | company where our process guru was a big fan of the Unified | Process. The point of Scrum is that it is lightweight (without | being zero process). There really isn't a lot to it. You sync | with your teammates daily, to make sure you're all focused on the | most important thing today. You check in every 1-4 weeks by (a) | demoing your software to figure out where you are, (b) you do a | retrospective to look at what can be done better, (c) you figure | out what is the most important thing to be doing the next N | weeks. The teams that I've been on that have tried to _not_ do | these things either in actuality, did these things, but did them | subconsciously, and therefore unintentionally. When I hear people | say "Oh, I don't like Scrum because my old team did Scrum and I | didn't like how we..." what follows is almost inevitably | something that if you asked a professional scrum coach "Should we | do that?" the answer would be no. | | > Competent, autonomous people need less structure to produce | reliable, high-quality output. Big Tech is able to attract, | afford and hire these people. | | I don't like this way of thinking. Start-ups have lots of | competent, autonomous people. Big Tech companies have lots of | people early in their careers that are still learning to be | autonomous. In fact, when I was at start-ups I often heard the | opposite (and equally untrue) claim: that start-ups required | people with more autonomy, because the product is new and the | team is involved in discovering the product, whereas in larger | companies the products are more defined, so people needed less | autonomy. | | I appreciate the author surveying people and trying to make sense | of the results, but in this case I think he just over-simplified | a much more complex reality in a way that isn't particularly | helpful. | Jensson wrote: | Pretty sure the article refers to Google, Facebook and the | companies trying to be like them. Apple and Amazon works quite | differently as you say. | osigurdson wrote: | I'd be interested to hear the meeting-to-work ratio at big tech | and if the meetings are valuable. | k5z wrote: | The way we do things at Gordian is similar in a lot of way to the | Big Tech methods but it stands out in a pretty unique way IMO. | | The approach is described here | https://www.gordiansoftware.com/news/two-weeks-too-slow and in | practice it's even better than anything I was hoping for. I can | legitimately say this is the most productive environment I've | ever seen. | FpUser wrote: | Being ISV I do not do SCRUM but I did see the examples of it at | couple of my clients and did sit on few SCRUM meetings there | (never again). My impression was that is is nothing but feel good | tool for managers to cover their asses. | jillesvangurp wrote: | Matches my experience well. Scrum works OKish in small teams | depending on how mature their tech-lead and product owners are. | It seems the default in consulting companies where tech | consulting companies work with non technical customers. I've seen | a few good examples and also some really bad examples of its | application. | | As soon as you scale scrum to organization wide, you get inter | team communication challenges for which Scrum has no clear | solutions (because its a team methodology and not company | methodology). Once you have multiple teams that need to align | their plannings to get stuff done, inter team dependencies become | a bottleneck. Add a few external teams to the mix and you get a | perfect storm of conflicting interests, miscommunication, | politics, etc. | | Having a lot of dependencies between scrum teams also means you | get a lot of decision making lag. Scrum teams have two issues: | they work in sprints with some fixed length and you can't | introduce new work during a sprint. If either is not true, you | are not doing Scrum. When you have a graph of interdependent | scrum teams, the lag you build up to get anything done is | basically proportional to the path length through the graph. The | bigger the org chart, the slower things get and it adds up | quickly. The longer the path, the more planning and | implementation sprints are involved in each team along the path | and the more chance there is for things to get lost in | translation. Beyond 3 vertices, the whole thing starts looking | like a very chaotic waterfall style process where it takes | months/years to even agree to do a thing. | | I speak from experience. The most dysfunctional thing I've seen | on this front was Nokia flying in teams from three continents to | have a bi-monthly sprint planning about 12 years ago. That worked | just about as well as you can imagine (i.e. not at all). You | needed to get your requirements scheduled 3-4 months in advance | to stand a chance in hell of anything happening under 6 months. | I'm talking critical stuff getting de-prioritized because one or | more teams involved got other priorities imposed on them and thus | had to say no. One of two things happens in such organization | (usually both): 1) things get escalated to VP level management, a | lot, and there is a lot of politics with lots of egos clashing. | 2) teams eliminate dependencies to each other to speed things up | (i.e. they reinvent wheels they could have reused just so they | don't have to deal with each other). Both are bad for | productivity and cost. | | The way out is to bypass middle management, ignore the process | (on both sides) and establish direct lines of communication with | engineers in different teams. Once you have that, pragmatic | decision making can actually happen. At this scale, middle | management should just not get involved with day to day | engineering decisions and instead enable the day to day | interactions and smooth out any inter-organizational bottlenecks. | | Most of the big companies mentioned in the article are not great | at this either. E.g. the reason Google has so many chat tools is | because they have teams working against each other rather than | with each other. | mmcnl wrote: | I somehow feel something important is not being discussed, and | that is competency. Perhaps in Silicon Valley it is normal that | engineers take ownership and are smart enough to figure out what | is valuable and what is not, but I can assure you that in an | average Fortune 500 company this is not the case. In my | experience a lot of engineers in these companies don't care about | engaging without customers, like to complain about a management | and take little responsibility. | | You need to have rules (however dumb you might find them), you | even need babysitters. There's no going around that. Someone | making 1/4h of what a SV engineer makes is highly likely to be | less competent. | root-z wrote: | I worked at a big tech for many years and my team never managed | to get Scrum working properly. Every year my team commits a | delivering certain product/features at a very specific date (some | sort of launch event), so we have to know very early in the year | what's all the work required and report periodically whether | project is on track. The deadlines are also always on the tighter | end. The flexibility of Scrum becomes an issue in that case, | because not everyone can deliver the same tasks at the same speed | and without careful planning you can easily miss important | deadlines. | ryathal wrote: | If you have a set date and a set scope you can't be agile. | Agile needs to be ale to radically change scope or even cancel | projects outright. You can get lucky sometimes that a feature | takes less or about the same time as you have and make things | look agile. | | The flexibility of scrum is being able to say what is done | represents a working though not fully featured product. You can | generally send red flags a lot faster in scrum, but you still | need management that believes and understands those flags. | dragonwriter wrote: | > If you have a set date and a set scope you can't be agile. | Agile needs to be ale to radically change scope or even | cancel projects outright. | | The thing I think that fails to be recognized about Agile | (though there is a lot adjacent to it, without outright | calling it out, in the central documents) too often is that | Agile has fundamental tension with the project-oriented, and | even to a lesser extend product-orient d, mindset, and really | calls for a mindset in which technology is an integral | component of continuous end-to-end business process | improvement. It can be adapted to product- or project- | oriented environments, but only with compromise. | | > The flexibility of scrum is being able to say what is done | represents a working though not fully featured product. | | The flexibility of Agile in general comes in rejecting | products as a goal to themselves, and recognizing that | technology is part of a broader system of delivering value | and any improvement in value delivery is worthwhile according | to the value delivered compared to the cost of delivering it. | lbriner wrote: | You cannot get management buy-in to Scrum or most agile | processes unless they can accept the agile manifesto | principles. | | The whole idea that you can be agile while having delivery | dates for things several months in advance is a nonsense. Agile | is about doing what is important now, not doing what we thought | was important a few months ago. | | The best you could probably hope for is Kanban or the never- | ending backlog but some people struggle when there is no finish | line, just an endless sea of work! | yyyk wrote: | >The whole idea that you can be agile while having delivery | dates for things several months in advance is a nonsense | | If Agile truly rejects even the possibility of an estimation | (something I'm sure many proponents will disagree with), that | would be _a problem with Agile_ and not a problem with the | idea of estimation. Companies will de facto pivot away to | methods that will give an estimation, even if they 're 'bad | Agile' and even if software engineers are unhappy about it. | | Because there are more useful things to optimize for than | efficiency of software delivery or what software engineers | like. People really need to know when the works on their | street will be done, companies and countries need to plan | ahead, and so on. | convolvatron wrote: | the idea that you can deliver a multi-month or multi-year | project without ever looking past the next two week sprint is | really misguided. | sethammons wrote: | We just delivered a multi-year project under Scrum (edit: | point of clarification, we did not have a due date). You | still have a guiding vision and some idea of the major | milestones you need to reach, you still define what the | next set of milestones are. You will want several sprints | worth of work lined up ready to be more concretely planned. | You just do concrete planning for the next sprint or so and | work to minimize disruption of that sprint. Learnings being | incorporated and plans updated as needed. Work that will | yield more understanding should be prioritized. | | Not sure where the idea of "only look one sprint into the | future thing" came from. | convolvatron wrote: | the parent - | | "The whole idea that you can be agile while having | delivery dates for things several months in advance is a | nonsense. Agile is about doing what is important now, not | doing what we thought was important a few months ago." | | I agree with you - i dont think its worth trying to set a | date a year out in stone. but you have to do exactly what | you say. keep the trajectory in your mind and update it | with new information. and and some point turn down the | rate of change so you can get some cook time. | | maybe I reacted too strongly - but I've certainly been in | shops where I try to talk about overall project arc and | am firmly told to keep my gaze fixed at exactly two | weeks. | debarshri wrote: | At our company, We believe that the way you get to the objectives | and result is immaterial. Some teams that are very IC driven, | will not care about the process and but will be jet focussed on | result. Some teams need structure, some don't. Enforcing same | process on all the teams is kind of shackling, what ends up | happening is that teams do process for the sake of it. Our teams | have occasional alignment calls, team and individual OKRs, | company objectives are the key indicators for the manager to see | if the we are on track or not. | christopherbalz wrote: | Kind of surprising that the article doesn't mention the profits | and sway that Big Tech has to afford the approaches he describes. | Borrow money very cheaply, buy back stock, profit from higher | stock price. As well, Big Tech has market power (not necessarily | monopoly) to allow for a lot of flexibility in deadlines. | brightball wrote: | Everything described in there is mirrored in SAFe fwiw, even | though their survey said it was mostly used in large non-tech | companies. | | Individual teams can use whatever they want to manage themselves | (Kanban, Lean, Scrum, etc...up to the team). Estimations planning | and commitments for each quarter are done by developers | exclusively, including coordinating across teams. Releases can | happen at any point. A strong and continuously improving CI/CD | pipeline is an expectation. | | I really wish more people knew about SAFe. It's constantly | improving and refining the experience and from what I have seen, | if there is a better way to do things SAFe will become it. | namdnay wrote: | SAFe is beautiful in that it is the ultimate expression of | Enterprise Agile Cargoculting: all pretenses of agility are | lost, there are ten different levels of decision making, and | all responsibility is diffused in a confused mess of worker | bees running around under an all-powerful and all-seeing LPM | | > Individual teams can use whatever they want to manage | themselves (Kanban, Lean, Scrum, etc...up to the team) | | Except that they can't, because they will need to align on PI | dates based on sprint durations, publish their burndown | statistics and various other measures, and there's no way the | poor soul who is reponsible for collating that will go into | several different tools | | > Estimations planning and commitments for each quarter are | done by developers exclusively, including coordinating across | teams | | No they're not, they're done by the product owners, the system | architects, the release train engineers (shhh... don't call | them project managers), the product managers etc | | > Releases can happen at any point | | In my experience, releases can only happen at the end of a | program increment, or maybe at the end of each sprint because | until then nobody has integrated everything together | | > A strong and continuously improving CI/CD pipeline is an | expectation. | | Fair enough, until the "innovation sprint" becomes the "bugfix | spring" and all those good resolutions fly out of the window | | > I really wish more people knew about SAFe. | | So do I, just like I wish more people knew about colorectal | cancer | | > It's constantly improving and refining the experience and | from what I have seen, if there is a better way to do things | SAFe will become it. | | SAFe is constantly evolving, because that's the easiest way to | keep the money coming in. It's as if PADI had found a way to | change diving equipment every 2 years and ask everyone to | recertify | | Sorry for the tone, but I still have PTSD | brightball wrote: | You have PTSD from a bastardized version of SAFe, based on | your description. | kevinmchugh wrote: | One thing I've noticed with Scrum and SAFe are that all | negative experiences are not _true_ scrum/safe. It seems | entirely natural that processes will shift as team | composition changes or the rules chafe. Once there's been | drift from the canonical process there doesn't seem any way | out of that except doubling down, possibly by buying more | training. | namdnay wrote: | Judging by the number of SAFe consultants (complete with | that video of a guy drawing comic-book style diagrams about | spotify, cute the first time but infuriating after the | 10th) I'd have to say that if our SAFe was bastardised | maybe SAFe itself is a bastard | brightball wrote: | I know many companies running SAFe on the east coast and | it's generally an improvement across the board from | everybody I talk to. The only problems I've seen are from | 2 camps: the people who don't want to have to plan | anything and the people who want everything that is | planned to be 100% accurate and not a best guess. Either | of these two groups will cause problems to a process like | this with the latter usually being in some type of | leadership role. | | SAFe consultants or not, it's still up to your company | leadership to implement it. A lot of SAFe consultants I | have talked to try to advocate for things that follow | Scrum because many teams are already familiar with it. | This is honestly one of the biggest issues that I have | found with the teaching. | | 80% of SAFe is based on Donald Reniertson's "2nd | Generation Lean Product Development" book, which is | fantastic. Once you've read that it's easy to spot the | differences. | namdnay wrote: | come on... https://www.agilest.org/wp- | content/uploads/2018/03/scaled-ag... | | how dysfunctional must an organisation be for _that_ to | be an improvement? And in what way is that agile? | brightball wrote: | I hate that diagram. It looks like gibberish to anyone | who hasn't gone through a training to understand it, and | even this it still looks like gibberish. | | SAFe is about addressing the communication problems that | happen as an organization grows. You're looking at the | diagram for everything that would be applied to a very | large organization. | | SAFe itself has a goal of using 50-150 person "release | trains" that are essentially independent units. That's | the core of what's going on. | | Everything outside of that is about managing | communication between other "trains". In the diagram that | you're looking at, the bottom 2 sections where the CD | Pipeline sits is where most developers will experience | SAFe and you'll find that it simply advocates for DevOps | best practices. | | I completely understand how everything else looks like a | mess. It's a lot to digest. | speed_spread wrote: | SAFe is just waterfall management with agile keywords tacked | on. It's not an engineering methodology. The only "problem" | SAFe solves is reintroduction of deadlines and quarterly | objectives, which flies in the face of everything agile | actually stands for. | brightball wrote: | It doesn't do any of those things. | | The quarterly PI's are for planning because the most you can | reasonably plan for with any degree of accuracy is about 8-12 | weeks. | | There are no deadlines imposed. You plan what you're going to | work on and how long it will take. You coordinate with other | teams for any dependencies they may need from you and when. | But you as a developer are responsible for saying how long it | will take and when you can have it done. | | Even after that, you're only allowed to plan 2/3 of your time | and the final 2 weeks of the PI are unplanned specifically to | build in more buffer for you. If you do finish when you | originally planned to, that 2 weeks is equivalent to 20% time | where you can work on anything you want for the company, | training for yourself, etc. It's a built in reward for being | on schedule. | | And then as a group you discuss all of the risks that could | prevent one of these items from being hit schedule wise. So | if something comes up that keeps a team from being able to | finish something, everybody was aware of it in the beginning | and had the opportunity to try to help address it. | | There's no waterfall to it unless you consider anything that | acknowledges dependencies to be waterfall. | | Planning for 8-12 weeks at a time is the ideal window that | lets you set expectations, coordinate multiple teams and | avoid derailment without the idea that you can plan forever | into the future. The farther you get from now, the more any | plans become pure imagination which is why year long | waterfall plans are a joke. It's entirely possible to plan | 8-12 weeks at a time. Especially when the point of the system | is to acknowledge that estimates are at best a guess. | | There's a balance between setting expectations that business | people can plan around and working in a box without | communicating anything other than "I'll let you know when | it's ready." SAFe strikes that balance better than anything | I've seen. | | But everything will always boil down to leadership embracing | it. Until leadership can acknowledge the fundamental lack of | accuracy from software estimates, you're screwed no matter | what the methodology. | speed_spread wrote: | > You as a developer are responsible for saying how long it | will take and when you can have it done. | | Which amounts to estimating software deliverables beyond | the scrum window, which will invariably lead to | disappointment, which will eventually fallback upon the | shoulders of devs. It is impossible for delivery dates | beyond the estimation horizon to not start being used by | management as an anchor at some point in the near future. | It only takes one manager promising stuff for the rest of | the management team to try and emulate the savior. | | Teams coordination only requires timely backlog priority | management and does not need to be planned top-down for | days on end with all members of all teams present. | jon-wood wrote: | I'm sure there's some nuggets of value in SAFe, but I just | can't take anything seriously which welcomes you into it's | world with this diagram: | https://www.scaledagileframework.com/wp-content/uploads/2021... | | Also note up in the top left corner, where you've got the | customer abstractly feeding work into this treadmill of... | stuff. If your development team aren't talking to either the | customer, or representatives of the customer, nothing else in | agile will work. | namdnay wrote: | oh you sweet summer child... that's only the first or second | level of SAFe. Once you get to full "operating thetan level | 8" , they give you this abomination: | | https://www.agilest.org/wp-content/uploads/2018/03/scaled- | ag... | | yes, that's right, an "agile" process with 5 levels of | bullshit between the customer and the keyboards | | EDIT: anyone know why this is "flagged"? is there a trigger | on keywords? or on URLs? | brightball wrote: | I do hate that diagram. | elzbardico wrote: | > I really wish more people knew about SAFe. | | Yeah, I feel the same about nicotine, lead, mercury, dioxin and | asbestos. | [deleted] | Traster wrote: | I think the core observation that teams are best allowed to adapt | to their own situation is a good one. One thing I want to take on | though is this: | | > "Kitchen sink teams" which have everything thrown at them, | typically find that managing stakeholders with a heavyweight | process like Scrum is a win. Stakeholders are educated to | understand that an ongoing sprint cannot be interrupted and that | new feature requests need to be groomed. | | I have _repeatedly_ see teams that run like this fail. They 're | happy in their own right, they've got their process, they get | what is in front of them done, but the process makes them | entirely unable (actually more often just unwilling) to respond | to urgent issues or adapt to a changing environment. | | It's absolutely great for a team that has a large number of | external stakeholders with diverse needs to be able to point at | some process and say "Oh well here's the process we follow, | here's what you need to do". But in reality what they're saying | is "We're entirely unable to respond to the actual requirements | of our stakeholders, so instead we've decided there are only a | subset of requirements we're going to fulfill" and anything | outside those requirements you just have to work around the team. | It very often also works to provide barriers between the | stakeholder and the engineer, so by the time they tackle they're | either doing the wrong thing, or it's no longer needed or they | fail to actually deliver it _to_ the stakeholder. It 's a great | system to build a well functioning team that entirely fails to | deliver what the larger organisation needs. /rant over I guess | birthday wrote: | That's where short cycles come into play. If something is | urgent for business (and often everything is "urgent") then it | can fall in the next cycle which is just 14 days away. It's | rare that something is so urgent that it should disrupt your | entire dev team flow and focus. | | Also what happens is you end up with a never ending dev cycle | where business expedites an item making the cycle a little | longer, business sees the cycle is longer and thus adds in more | items to be included further lengething the cycle... I think | you get where this is going. | | At my startup company we have suffered from just this in past, | where we would have never ending dev cycles while our | maintenance back logs filled up and never got worked on | properly. | Cthulhu_ wrote: | I'm armchair at best, but I think scrum is a management and | organizational process, something to help communicate upwards | instead of something that is best for a team. That said, some | companies and teams need the structure. They compare with | Whatsapp, which seems to me like a small, dedicated, driven team | with ownership and complete control over their own application. | In my experience with Scrum, it was a product owner and | management layer operating outside of the team, sending work | downwards to the scrum teams while the scrum teams communicated | progress and the like upwards. Less ownership, more oversight, | etc. The scrum teams were implementation teams, there to do what | they are told to do instead of owning a product. Cogs in a wheel, | whose individual components (and the whole cog) could be | replaced, shifted around and moved without the layer above really | needing to worry about it. | RandomLensman wrote: | From a management perspective, having everything reduced to a | process and method is the ideal world, as no true knowledge about | the actual work is needed. The weaker then understanding of the | work, the stronger the desire to replace uncertainty with | process. | | However, no process can remove actual randomness (did anyone get | the necessary ideas, for example) or uncertainty (is it even | feasible, for instance). | | That said, in larger - and I'd say mostly non-software companies | - changing processes to things that are more inclusive, i.e. tech | and the business talking directly to each other does help. And | one way to sell that is under an agile/Scrum kind of construct. | To me, seeing Scrum then more in non-tech/consultancy makes total | sense. | dayofthedaleks wrote: | Criminy your first paragraph is well put. I'm definitely | stealing that. | spaetzleesser wrote: | My theory is that in tech companies top management usually | understands how tech development works and have respect for their | workers. | | At my company top management often comes from a sales or medical | background and you can clearly see that in how they treat sales | people and medical people. They get promoted more and receive way | more attention from management because they understand each | other. | | IT and software are a big, scary mystery to management so they | are prone to take advice from snake oil salespeople, consultants, | or middle managers who tell them what they want to hear. | | I think in general I think you are better off in companies where | the output of your work is the product and top management | understands and respects your work. Better to be viewed as | someone who contributes to the profits of the company and not | just as a cost center. | mcguire wrote: | Minor side note: My current employer has been pushing SAFe hard | (training for everyone, etc.) recently. As a result (and I do | mean "as a result") about 3/4ths of the senior technical people | have resigned in the last three months. This is at a "Large, non- | tech enterprise" (sort of; it's an engineery chunk of the federal | government). | | Now back to a personal opinion: Most "software engineering" | "methodologies" are intended to appear productive without | actually _requiring_ productivity. Or, as I sometimes put it, | "software engineering is about making people who are | fundamentally not very good at writing code look as if they were | producing code." Look at the number of managers, leads, coaches, | trainers, and consultants required for every methodology and | compare that with the number of such "overhead" positions in, | say, open-source projects. (Note: I'm not trying to start a | "which is better" discussion; open-source is just a convenient | example since their development techniques are transparent, | unlike everyone else's.) | | Further, many medium- and large-scale initiatives in large, non- | tech enterprises fail spectacularly, in spite of using the then- | popular methodologies. I would go further and suggest that they | _all_ fail at some point, even if they eventually deliver a | usable product. | | The only solid generalization I can see is that good developers | can develop good software with any (or no) methodology; poor | developers cannot, and most formal methodologies are built around | trying to get them to do so. | shoto_io wrote: | _Shape Up: mentioned for a few venture-funded companies._ | | Has anyone here some experience with Shape Up? Love to hear your | thoughts. I just read about it so far and would love to hear some | real-life stories. | artichikin wrote: | We adopted it a year ago and the team still quite likes it. | Reduced day to day stress and distractions and a good structure | and shared vocabulary. Wouldn't say it's perfect but much nicer | than the sprint treadmill. | tibiahurried wrote: | I have come to the conclusion that is not about the methodology | but the people. I worked in super productive teams that were not | following any "agile" methodology, or really any particular | methodology. | | The goal was to get shit done and make customers happy. | | On the other end of the spectrum, I have worked with teams that | were pretending to embrace agile and scrum methodology though | could keep standup quick and sharp. | | It was an excruciating ritual that would take my most productive | hours of the day: every day! | | I always try to work with smart people. People who don't need | much direction and know how to get things done. | corpMaverick wrote: | I have been a proponent of Agile for many years. But it bothers | me that it has been used to take power way from Senior | Developers. We really need to bring back the Tech Leads. | wirthjason wrote: | The article talks about big tech but it's interesting to think of | big tech in a couple ways. One is "Big Tech" (capital B and T) | the other would be "big tech". The destination is that the first | is mainly the FANGs of the world that easily come to mind. | | The second is other large companies that deploy huge amounts of | tech but have different business models. Banks are an example. | Apparently JP Morgan Chase's annual tech budget is $12 billion!!! | That's a lot of money. | sparsely wrote: | > Many teams work on main branches, get quick feedback from CI/CD | systems and can immediately share functionality which they are | working on with other team members. | | I occasionally see statements like this floating around - does he | mean: | | * Devs make their changes locally, commit and push directly to | main, and then the CI/CD either notifies them that tests failed | or deploys to prod | | or | | * Devs make their changes locally, commit and push on a branch, | and rapidly (ideally automatically) merge to main if tests pass. | This happens on a cycle of minimum coherent set of code changes, | not a whole feature at a time or anything like that. | | The first seems like it would be very frustrating if code with | failing tests if pushed with any frequency, but seems to be | literally what the phase "work on main" means. I also don't | really see a drawback to the second one in comparison. | stepanhruda wrote: | The latter | sparsely wrote: | The replies seem to suggest that there are a mix of | interpretations, it's very confusing. | nindalf wrote: | I can't speak for all companies but at the place I worked at, | there was a monorepo. You'd create a small, self contained | change off the main branch and put it up for review. All such | proposed changes would have tests run on them, so the reviewer | could get a sense of the quality of changes. "Looks good, | please fix that test" was a comment I've seen more than once. | After approval, it'll land on main and be in prod within an | hour or two. | | For larger features, these changes could be stacked in a list. | After each change in the list had been approved, they'd be | landed on main as an all or nothing. | deepGem wrote: | I worked on a Tensorflow feature in 2018. There was no | branching involved. Fork the main repo, build the feature on | your child repo, make sure all unit tests pass and then send a | pull request to the main/master of the parent repo. Typically | someone reviews the code, you incorporate code review comments, | pass all unit tests, CI-CD pass, PR approved. That's it. Your | code is in the next production cycle. | | So yes, you work locally on a fork of the repo but not the | main/master repo. I'd surprised if all devs have access to push | to main/master. | | I think having branches leads to a lot of merging issues. | Because technically, the branch will then be used by multiple | devs. So it's like dealing with multiple masters, kind of. | | Personally, I prefer the TF approach. Oh I forgot to mention, | the release tags are branches I think, perhaps read only | branches. | UK-Al05 wrote: | That's branching. Trunk is when everyone direct push access | to trunk. | Traster wrote: | How would you describe the difference between branches and | forks? Functionally I can create a new branch, do my changes, | get tests passing and PR from there, or I can fork master, do | my changes, get tests passing and PR. | deepGem wrote: | Yes technically this is a branch, but like a frictionless | branch. You don't have to name a branch for instance. You | don't have to worry about branch deletion, even though now | this is all automated. | | https://docs.github.com/en/repositories/configuring- | branches... | | A fork is still a lot less friction. Otherwise, technically | yes it is a branch. | Traster wrote: | Ah right, generally I quite like having branch names | because I can name the brach aligned to the jira ticket | that it's associated with, I'm not a big fan of jira, but | atleast it documents the feature request etc. And also | you can track multiple different features in flight at | once (I know it's not ideal, but sometimes you're doing | several different things that need to be merged in order | etc) | dtech wrote: | This is just branching, except your branch is in a different | repo. You just call the branch downstream/master and your | local master, instead of the more common origin/yourbranch | and your local yourbranch. | | For the rest the merging issues are identical. You can still | have a merge conflict between downstream/master and | origin/master if someone merged something conflicting into | origin/master since the fork happened. | usrusr wrote: | What you say is certainly true, but there are still | meaningful differences: named branches give you the option | to push them before merging as an informal remote backup | (good) switch to a different named branch (neutral) and let | the old one grow stale (very bad) | barrkel wrote: | Every commit is code reviewed separately and merged to master | after review + automated test gatekeeping as necessary. | Additional testing may occur downstream post-merge which may | cause your commit to rolled back automatically. Time to | deployment into production depends on how those deployment | pipelines are built, could be minutes to days before it lands. | | It's very unusual to merge more than one commit to master at a | time. | | You can think of it as a branch and merge approach, but the set | of changes is small - a 100-line diff would be a large change | (automated changes and deleting unused code excepted). The | process and tooling optimizes for small changes. Refactoring is | done incrementally. Big changes are gated with flags so they | can be built incrementally and rolled out incrementally and | turned off at the first sign of trouble. | science4sail wrote: | > The first seems like it would be very frustrating if code | with failing tests if pushed with any frequency, but seems to | be literally what the phase "work on main" means. | | Yep, that's the point - it's to discourage devs from checking | in failing code (because then they'll be swarmed by annoyed | coworkers). It's fairly common to see developer A make a | breaking change to some low-level library and then see | developer B push a rollback of A's changes a few minutes later | (with or without A's permission). | sparsely wrote: | If that's fairly common it doesn't seem like a great setup? | Why not automatically run the tests beforehand? | | And presumably there is no need for a staging env, since your | code is deployed to production as soon as it has passed | tests. | Jensson wrote: | At Google your tests are automatically run beforehand, but | not all tests of entire Google are run for your commit | beforehand. Sometimes you break others code with your | change. | | Edit: Just to clarify, it isn't ok to break downstream | projects, if you do the change gets rolled back almost | immediately. And you can run all tests for the change | before submitting, but it isn't default since it is | expensive for many core projects to run so many tests. | dboreham wrote: | Tests were run beforehand. Just not the right test. | whynotmaybe wrote: | Maybe have a look at this https://trunkbaseddevelopment.com/ | sparsely wrote: | This seems to be advocating the second workflow, i.e. pushing | on a short lived branch then merging back in (their | intermediate setup seems impractical technically for most | setups - how do you run standard tests without committing | your code, unless you do everything locally?) | whynotmaybe wrote: | One of the premises is that the minimum level of competence | of the team should be above average, which is not feasible | everywhere. | | And | | "The short-lived feature branch should only last a day or | two and never diverge from the trunk enough so that a merge | back is problematic. After the seal of approval from code | reviewers and CI daemons, it should be merged back into the | trunk. It should be deleted, as proof of convergence. The | developer in question may then go ahead and make the next | short-lived feature branch for the next story/task they're | doing" https://trunkbaseddevelopment.com/youre-doing-it- | wrong/#dura... | jeffbee wrote: | This is a very git-centric view. There are other source | code management systems. | UK-Al05 wrote: | You answered the question. You run as many tests as you can | locally. Sometimes you can't, and the build goes red and | you fix it with another commit. | pc86 wrote: | Any workflow that involves breaking master for everyone | seems broken at some level. | | Not saying I have a better solution off the top of my | head, but "just fix it with another commit" is a big red | flag IME. | UK-Al05 wrote: | A broken build is meant to be everybody helps fix it | situation. | mjr00 wrote: | Even if you really wanted to have it be trunk-only, I | don't know why you wouldn't make everyone push to a | feature branch, then have automation for running tests | and merging after they pass. Plus, where's the code | review in this process? Even if your team is all amazing | developers somehow, it's insecure to have a standard | process where developers are pushing unreviewed code | directly to production. | | Fundamentally this all seems like a misreading of trunk- | based development, though. The whole idea was to get away | from old Subversion-style branching, where there would be | long-lived branches running for sometimes several month. | If you were a company that moved from svn -> git, trunk- | based development was a way of communicating that | branches were cheap and disposable, and merging was quick | and easy. | Jensson wrote: | Master isn't broken for everybody though? Its just broken | for those projects whose tests are broken, everybody else | can still work as normal. | | So unless you have a ton of dependencies you wont notice | much breakages from other teams. | twic wrote: | > This seems to be advocating the second workflow, i.e. | pushing on a short lived branch then merging back in | | No, in trunk-based development, you push to the trunk, aka | master. | | The difference is perhaps not that big; with TBD, you have | a branch, but only on your machine, which you merge to | master before pushing, whereas with the second workflow, | you push your master, then merge somehow. | | > their intermediate setup seems impractical technically | for most setups - how do you run standard tests without | committing your code, unless you do everything locally? | | I don't understand this. Of course you can and should run | all tests locally. | sparsely wrote: | > No, in trunk-based development, you push to the trunk, | aka master. | | If you follow the ops link there are multiple diagrams | where that is not the case. | jldugger wrote: | Not surprising that scrum works best for consultancies -- Scrum | has just as much to say for how engineers should behave as it has | to say about the people paying for the project should behave, and | how to pretend to be that person when they seemingly abandon | their duties. | | The sprint is also a product of its time. A methodology for | shipping new features on a monthly basis is great when your | competitor is shipping Excel on an annual basis. But the shorter | the turnaround time for a feature, the less use there is in | planning timelines. | | This is why the big tech companies don't have a unified process | -- the process that works best for shipping operating systems is | different than the one that works for shipping a mobile app, is | different than the one that works for shipping a webapp. Any | program office that tries to smooth out these wrinkles is | hazardous to their wealth. | [deleted] | [deleted] | tomc1985 wrote: | Disappointed that there are no mentions of LEAN in here. | RayFrankenstein wrote: | Agile In Their Own Words | | https://github.com/rayfrankenstein/AITOW | [deleted] | deepGem wrote: | So the key takeaway here is that the Plan, build(iterate), ship | cycle works very well. Most successful teams stick to this. What | is not clear to me is how an abrupt new feature with an urgent | deadline fits into all this ? "We'll fit this into the next | release cycle" is not an option, let's say. | | So how do you fit in this new requirement ? You are already in | the middle of a feature built on day 3 or 4. Devs are working on | their forks and have uncommitted code. Now you have a new feature | that has to be given priority, assuming there are no dependencies | on the existing cycle. Do you just keep a copy of your old work, | and start working on this new stuff ? Feels like a mess. Any | better approaches ? | mandevil wrote: | In my experience, there is no good solution to this problem- | when feature X comes along and it is decided that the ongoing | work on A,B,C need to be paused because X is that important, | there really is no way to quickly context switch back to A,B,C | after X is finished. | | The best thing you can do, in my experience, is make sure that | the devs are fully bought in on _why_ X is so much more | important than A,B,C. Ideally, you want to present it to them | as 'X enables us to get this contract/solve an uptime | issue/whatever' and then let them decide, as a group, that | maybe we continue on B while the two working on A and C instead | focus on X. | tdumitrescu wrote: | Make sure the features you're working on can get committed to | the main branch in small, incremental units. Dark | deploys/feature flags help avoid big long-lived branches that | go stale and have to be kept in sync with main. So in your | scenario, the devs finish off the current tasks they're working | on, merge them, and move to the new work. You'll still have the | pain of some feature being in an incomplete state for a while, | but it's not affecting your users (who can't see it yet) and | there's no half-abandoned branch slowly rotting. | mywittyname wrote: | > What is not clear to me is how an abrupt new feature with an | urgent deadline fits into all this ? "We'll fit this into the | next release cycle" is not an option, let's say. | | Maybe the larger, successful tech companies avoid doing this. I | believe that most of them define work at a quarterly level. So | a team is unlikely to have the sudden changes in direction. | | They are also unlikely to be resource-constrained, so when the | odd high-priority feature emerges from the ether, they can put | together a new team to tackle it. | | Smaller companies need the discipline to know not to suddenly | change everyone's priority, and instead, work emergent features | into the current backlog at a pace appropriate for the size and | scope of their teams. | aninteger wrote: | Well, hopefully that is not the norm, but it's not like you are | limited to a single branch (fork) at a time. | yupper32 wrote: | > abrupt new feature with an urgent deadline | | As someone who has spent most of their 7 year career at big | companies that follow "plan build ship" cycles, I don't | understand this post. | | What abrupt new feature with urgent deadlines? Why can't this | hypothetical feature wait? | | Sure, for Coronavirus teams spun up and other work stopped, but | that's a pretty big outlier. Most features are planned a | quarter or so ahead. | | > Do you just keep a copy of your old work, and start working | on this new stuff | | Sure why not? I don't understand how any "abrupt new feature | with urgent deadlines" wouldn't require stopping what you're | currently doing. | | Besides, it's not like I sit on massive code changes for weeks. | I submit code incrementally. | sprsimplestuff wrote: | hm - I'm at a startup with plan/release/build. The truth | is...there are almost no abrupt new features. If something is | truly a new feature - it's gonna move into planning. We've had | 1 instance in my 8 months on the team with an abrupt-ish full- | on feature (that I know of at least). I worked on it - there | was a lot of communication with me about the | scope/timeline/expectations. The feature fit into an offering | we have at a beta stage - so it helped us expand something we | were working on broadly anyways and was in service of winning a | particularly good logo/customer. Again - this is super rare for | us, but broadly - we simply communicate priority and have | alignment about working on the most important things first. | Generally, someone is picking up the feature that's coming off | some piece of work or is working on something low stakes. Other | abrupt stuff comes up - generally if it's limiting a customer's | ability to utilize our product - we prioritize it. | | I think you want to have a culture where abrupt new features | are incredibly rare. | shadowgovt wrote: | Version control will let you set the work aside and resume it | later. You might have to burn a few cycles merging your old | code up to date, but it won't be lost. | | I haven't really seen a better option. Urgent work is | disruptive to schedule by definition. | lordnacho wrote: | The thing about Scrum is the observations and principles make | sense, but then to sell it as a course they've turned it into | very specific prescriptions. | | I went on a scrum course and the takeaway was basically that | feedback is a big deal, and you should try to get some repeatedly | and quickly. It's also common sense that you should have tasks | written down somewhere, and that some of them are more important | than others. | | You certainly need to think about how long tasks will take, but | there's no reason why you need to do planning poker, that just | seems to be one among many ways to think about how long something | might take. Tracking velocity is another one of these things that | seems replaceable. | | If you have a team of people that more or less adheres to a few | principles, there's no reason you can't get things done. | williamdclt wrote: | The whole debating around agile, scrum, kanban etc etc, with | seniors hating Scrum yet it being pushed ever and ever again | made much more sense when I heard some guy talk about Shu-Ha-Ri | (https://martinfowler.com/bliki/ShuHaRi.html). | | Having a strict framework a la Scrum is very helpful for new | developpers or new teams, where they don't yet have their marks | and need to get a feel of what agility feels like. Being | explained principles is not enough to know how to apply them: | Scrum is not a bad starting point to be in the right-ish track | without really knowing what you're doing. As you gain | experience, it's natural to want to shake off constraints, | that's Ha and Ri | corpMaverick wrote: | Ah. Nice reference. The fact that Aikido is notoriously | ineffective made me chuckle. | MetaWhirledPeas wrote: | I don't even know if it's a thing with new developers or old | developers; I think sometimes you just get people who don't | want to play along. Half-hearted participation is as good as | no participation. You end up with user stories that are | poorly written, poorly estimated, and you can't really reap a | lot of the core benefits of Scrum like velocity forecasting. | What you end up with is I Can't Believe It's Not Scrum; a | shoddy clone of Scrum that never comes near the mark. You're | forced to keep going along this way because not everyone | agrees that you're failing. | | Maybe people are tired of the nonsense that systems like | Scrum bring with them? Even the name is a bit silly. And when | you start naming roles and inundating people with rituals the | eyerolls really get going. Why add abstraction to common | sense? | | Or maybe Scrum is really just an attempt to turn bad team | members into good ones? | | Good team members... | | - Provide good estimates | | - Cooperate to create clarity around requirements | | - Work to divide big problems into small chunks | | - Keep good track of their work in a shared format | | Bad team members shun all of this and expect someone else to | do it. | hiptobecubic wrote: | Maybe if you don't fill a team with nine juniors that have no | mentors, you don't get this problem? | | It's not like FAANG isn't hiring boatloads of new grads every | year. Why don't those people need scrum to get on the right | track, but half the rest of the industry seems to? | robertlagrant wrote: | Those companies are very engineering-led. Boatloads of | excellent engineers; deadlines are "it'll be ready when | it's ready"; marketing is (and thus marketing deadlines | are) light, so there's less planning needed; featuresets | are largely defined by the engineering teams. | | Anything that is reasonably unpredictable in terms of | requirements but needs to be reasonably predictable in | terms of feature delivery speed is a good candidate. | | We use it because we need to release versions of our | software a chunk at a time, and it's the closest we can get | to continuous delivery given that constraint. | mmcnl wrote: | I fully agree, but I feel you vastly underestimate the | difficulty of having a team that more or less adheres to these | few principles. In your average Fortune 500 corp, it's next to | impossible to have it without prescribing. If scrum is just | writing down common sense in a onepager, then that's actually | useful stuff. | akudha wrote: | The problem with any system is that people try to enforce it, | military style. In my previous job, we did scrum, but not too | strict. We had two week cycles, not-too-strict deadlines (most | of the time) etc. If I finished my task early, I was free to | pick up tasks from the planned list, without having to get | permission from my manager. We also didn't agonize over story | points, retrospective etc. We did it light hearted and quick. | The only thing we religiously followed was daily, quick 15 min | stand-ups. Everything else was flexible. | | My current job is the opposite. Some tasks take 15 minutes of | discussion (no, they aren't complex tasks) with people debating | whether it is worth 5 points or 8. It is just tiring and | pointless. And retro - gawd, I hate those. There are all kinds | of stupid shit (people using references from music, movies etc, | trying to make it "fun" and "hip"). I can't bring other tasks | into the sprint, even if I finished all my current tasks, | without my manager's permission. And on and on. | | I was thinking the other day why this is so painful and | awkward. I realized that it all comes down to "metrics" - end | of every sprint, my manager has to present it to his bosses, | with pretty graphs describing "velocity" and other buzzwords. | So he has to do all kinds of jugglery to appear competent to | his bosses and not alienate the team at the same time. | | All of this could be avoided by treating the team as adults, | instead of trying to "processify" or quantify everything. | | However hard we try, human beings can't be slotted neatly into | buckets nor can they be precisely quantified. However hard we | try, estimating software projects will never be an exact | science. | ta988 wrote: | A lot of places are looking for new people (even remotely), | don't stay in a place that makes you miserable. You don't | have to suffer for other peoples mismanagement. | g051051 wrote: | > My current job is the opposite. Some tasks take 15 minutes | of discussion (no, they aren't complex tasks) with people | debating whether it is worth 5 points or 8. It is just tiring | and pointless. | | That was my last gig. The whole organization eventually just | collapsed under the increasing load of being "Agile". | mmcnl wrote: | Presenting scrum metrics to management is definitely not | scrum. That's the opposite of scrum. | bitwize wrote: | > I realized that it all comes down to "metrics" - end of | every sprint, my manager has to present it to his bosses, | with pretty graphs describing "velocity" and other buzzwords. | | You've discovered the secret of Agile in the corporate | workplace: that the key takeaways, as far as the enterprise | is concerned, are not finding better ways to develop software | and better customer-developer relations. It's all about | trackability, measurement, and metrics, because everything | is. Trackability and measurement enable key decision makers | to make accurate budgeting and execution plans and there is | literally nothing else for key decision makers. Therefore, it | makes less of a difference what you output than that it was | properly planned for, tracked, and measured and that it hits | organizational KPIs. That's why nobody cares that Scrum is a | giant productivity suck. Code _could_ be written faster, but | that 's not writing it properly. | | Agile in the enterprise is a game of Mornington Crescent. The | goal is not to foster the things advocated in the Agile | Manifesto. It's to make it _look_ like the company is | fostering those things, while actually promoting the same | Taylorist values corporations have always loved (and workers | hated). | mindcrime wrote: | _Agile in the enterprise is a game of Mornington Crescent._ | | That's probably the best description of "agile in the | enterprise" I've ever read. | sunwooz wrote: | Oh god, this perfectly describes the company I just quit. | They went from using Trello, allowing us to choose what to | work on, loosely setting story points and ... that was it. | | Then they decided they needed the metrics on everything, so | they switched to JIRA, started doing retros, setting strict | points on tasks(reprimanded in retros if you messed up), | using burndown charts to reprimand even more, and giving the | product manager the power to dictate what I work on and in | what order. | | It went from being a great company to work at, to a company I | ran away from. I have half a mind to send this thread over to | them. | SkyPuncher wrote: | > In my previous job, we did scrum, but not too strict. We | had two week cycles, not-too-strict deadlines (most of the | time) etc. If I finished my task early, I was free to pick up | tasks from the planned list, without having to get permission | from my manager. We also didn't agonize over story points, | retrospective etc. We did it light hearted and quick. The | only thing we religiously followed was daily, quick 15 min | stand-ups. Everything else was flexible. | | This is exactly how I've seen it run with success at several | different companies (including how I run it). | | In my mind, the most important value of Scrum is having a | cadence to give people reasonable timeframes to think in AND | ensure that a variety of different conversations happen | frequently enough (discovery, planning, prioritization, | execution). | | ---- | | > And retro - gawd, I hate those. | | It sounds like you hate these because you aren't actually | empowered to make meaningful change within your team. | | We've found retros are one of our most important rituals. | They help us identify risks, process, and team issues; often | while they're still small. We quickly work those in. | fatnoah wrote: | When I ran Engineering for a startup, this is roughly how | we did things as well. If a disagreement around pointing a | story happened, we resolved it within seconds and usually | just went with the larger size. It didn't really matter so | much, since we weren't using velocity as a goal or | something reported on a weekly basis. I did use it to | roughly ballpark how many sprints it _might_ take to | deliver something, but that was as much story point math as | I ever did and never used it to guarantee a date. I did | have to fight a few battles with my CEO and other VPs | around that, but, in the end, the results of mostly | consistent and predicable progress with happier dev teams | made those arguments moot. | | We also found retrospectives to be pretty useful and each | team was encouraged to find what worked for them. The | result was that we had 5 teams that had some agile/scrum | process, but created mechanics that worked well for them. | afarrell wrote: | > instead of trying to "processify" | | A cause of this problem is when people are worried about what | happens when they say "erm, I don't know how to do this | cleanly" and so they want the "how" to be defined far far in | advance. Solving this requires a mix of | | A. Identifying those activities that will genuinely make | people's lives easier if they have a process and designing | those processes to be meaningful and low-burden. Those | activities will vary based on team members individual peeves | and affinities. | | B. Creating clear lines of communication for how and whom to | ask for help. This often means more clear naming of | responsibilities. | | C. Ensuring there is enough slack time for people to be able | to help each other out. | | D. Creating trust in the team that asking for help won't lead | people to question if you are fit to do your job. | | > quantify everything | | Many times, this is the | https://en.wikipedia.org/wiki/McNamara_fallacy | lordnacho wrote: | Also goes hand in hand with Goodhart's Law. | jshmrsn wrote: | We have sprint retros and generally find them valuable. I'm | curious how one would even go about incorporating music and | movies into a sprint retro? That does sound painful. | CraneWorm wrote: | I think they mean when your retro board has a theme; I've | seen various themes applied successfully i.e. | sailboat:https://metroretro.io/templates/the-sailboat- | retrospective | david422 wrote: | Is it just me or does this look great for a 2nd grade | class. | datavirtue wrote: | Get on the call and suck your thumb to fit in. | ebiester wrote: | It depends on your team. | | I have teams that respond well to it. People like me, who | work in metaphors and abstractions, respond well to it. | khyryk wrote: | It sort of betrays how people think of tech nerds. :) | mk89 wrote: | We do it at my company/in my team. It's OK, come on, it's | not that bad. | | It's also a way for our team to get together and talk BS, | have a little bit of fun etc. | hnuser847 wrote: | It's amazing how infantilized this industry has become | during my short 10 year career. I'm so thankful I | switched to product and don't have to deal with this BS | anymore. | detaro wrote: | ... that's usually the people that try to bring this | stuff in... | hnuser847 wrote: | As a former engineer who used to deal with the bone- | crushing tedium of fundamentalist Scrum, I have enough | empathy for my team to not force this crap on them. I | keep the process light, communicate a lot, and treat them | like adults. | robertlagrant wrote: | > I keep the process light, communicate a lot, and treat | them like adults. | | That sounds like fundamentalist Scrum. | nickd2001 wrote: | " I realized that it all comes down to "metrics" - end of | every sprint, my manager has to present it to his bosses". I | wonder how widespread this is.. Certainly that's exactly what | I experienced at a previous workplace, and worse than that, | people's performance was judged on whether they'd done | exactly the "right" stories in a 2 week sprint. Rather than | thinking about developing software, people were working out | how to game the system to ensure their metrics were good. I | cannot see how this can have done the employer any good. I've | now moved jobs, to a place that's far more Kanban, and if | mid-story we encounter bugs that need fixing, or | opportunities to improve something, or something else useful | that piques our fancy, then as long as the whole team agree | and our overarching goals are being worked toward , we can | work naturally, rather than rigidly. | commandlinefan wrote: | > whether they'd done exactly the "right" stories in a 2 | week sprint | | Not only that, but if anything else comes up during the | "sprint", you're expected to address it while still | finishing everything that you (involuntarily) "committed" | to during sprint planning. | bitwize wrote: | WE committed. We made these commitments as a team. If you | can't fulfill what has been committed to by the team, | then we as a team have to have a discussion about that. | I'll put the meeting for next Monday on everyone's | outlook. | dta5003 wrote: | I've never had a more visceral reaction to a comment. | | Thanks, I hate it. | smusumeche wrote: | I'm triggered. | bluGill wrote: | The purpose of metrics is to be something to game. | | Now you do need don't to anything illegal policies in | place, and you might have a [unwritten] moral code of what | you can't do. However the purpose is to game the metrics. | For all the discussion that follows I'm going to assume we | are within these limits. | | If the boss wants profit margin as a metric, then you need | to figure out how to do things cheaper, and how to get more | sales, or higher value sales or some such, and sometimes | get something off the books. Note that this last is why | smart investors always ask about the bottom line - because | the rules of what you can hide from the bottom line are | strict enough that the metrics cannot be gamed to your | disadvantage. That said off the books is sometimes a useful | thing to have - sometimes you know you need to do something | hard and so you need to leave an approved way to hide | specific things in plain sight. | | The problem is most developer metrics are things where | gaming the metric isn't good for the company. | mmcnl wrote: | "When a measure becomes a target, it seizes to become a | good measure." - Some guy | bitwize wrote: | Very widespread. If you're working for a non-startup, non- | FAANG-tier company, expect metrics to trump _all_ other | concerns. | zeku wrote: | Can you link me or someone else link me what you would | consider the "ultimate kanban guide"? | | I work in an environment that had no project management | tools or methods being used other than emails and I've | finally gotten buy in on Kanban and I want to make sure I | guide my team properly. | HeroOfAges wrote: | Kanban in Action by Marcus Hammarberg and Joakim Sunden | is a good introduction. In this book, the guiding | principles of Kanban are presented almost like parables | as the authors introduce you to their fictional team | "Kabaneros". | zeku wrote: | Thank you I will look into it! | theptip wrote: | Kniberg has written extensively about agile practices, | and this one talks a lot about Kanban: | | https://www.amazon.com/gp/product/B00A32O00Q/ref=dbs_a_de | f_r... | | Although I think he ended up with something more Scrum- | like later at Spotify. | | He also has lots of good videos about broader team | organization (Tribes etc.) that I found useful for | conveying some of these ideas to my non-technical peers. | mk89 wrote: | Interesting, I had a very similar experience in the past. | | I think we just were part of a software factory that is not | necessarily bad, it's just a different approach to work. | It's much more convenient for a manager to just apply | "standard" principles (scrum, 2 weeks, story points, | velocity, etc. like a mantra) rather than innovating at | this risk of being wrong, difficult, etc. | | Too much bureaucracy is not good, maybe that was the | purpose of this article. The more you have it, the more | difficult it becomes to get out of it, to innovate, etc. | pempem wrote: | Agreed on the kind of religious adherence which can make | the process feels a bit like..a staged show? Stifling | instead of open discussion? | | "Metrics" though drive when something might be delivered | which triggers marketing spend, hiring requirements and | so on. It says "we're working on this now and that next" | which drives all kinds of internal storytelling about | priorities and cascades down (or up?) into quarterly | calls. | | How do you do it otherwise without having ipod summers? | Jensson wrote: | You set up long term team based goals (OKR's, Objectives | and Key Results) and then evaluate how well those goals | were achieved. It isn't 100% accurate or fair, but | neither are Scrum burndown charts. | Millenialboomer wrote: | As a manager, we have been incentivized to game this system | exactly as you describe, both from my end and my devs end. | Moving to a company which only cares about delivered | software instead of metrics saved my soul. | vannevar wrote: | >Some tasks take 15 minutes of discussion (no, they aren't | complex tasks) with people debating whether it is worth 5 | points or 8. It is just tiring and pointless. | | If you're not personally responsible for deadlines on the | project, it could seem pointless. But the difference might | mean pushing the commitment for a feature out two weeks, | which in a commercial project could be a big deal. Planning | _is_ hard: you 've got to try to estimate something with | incomplete information, and then reconcile differing | opinions. But it's definitely not pointless. | | Velocity is probably one of the most misunderstood aspects of | scrum. It's a key metric for long-term planning, but it's not | intended to be manageable. It's also unique to the team, and | not intended to be compared between teams. Many managers are | not used to a metric that they don't manage, and that causes | a lot (maybe most) of the bad experiences people have with | poorly practiced scrum. | tlarkworthy wrote: | Funny, retros are the one thing I like. If you can get a team | to honestly say what went well and what went bad, and the | step that can be taken to improve, every two weeks, with some | light follow up. In 6 - 12 months, you can turn a flaming | wreck of a project into something that resembles best | practice. | | I have do it as a consultant. I have taken a project on life | support that they were gonna cancel, regardless of our | performance, and resurrected it so hard they actually decided | to keep it. _We changed their minds_ | | The most effective tool was retros. I dislike agile in all | other aspects, and do not use story points. Retros are the | best bit! It's the core part of the learning loop. | | I learnt retros from Google. Big tech does retros. Its | honestly magic when done well. | theonething wrote: | > The only thing we religiously followed was daily, quick 15 | min stand-ups. | | One of the worst parts of scrum in my opinion. Even if it's a | "quick" 15 minutes (which in my experience it rarely ever | is), the forced context switch ends up wasting more than 15 | minutes of productive time _every day_. | ericb wrote: | At my work, when one of us gets too into the details of | pointing, estimation, or process we usually realize, stop, | and say "sorry--I was being a Scrumbag" | robertlagrant wrote: | > I realized that it all comes down to "metrics" - end of | every sprint, my manager has to present it to his bosses, | with pretty graphs describing "velocity" and other buzzwords. | | This is a thing that's pretty key to Scrum: velocity can't be | used to compare teams. It is easy to misuse though. I would | start every meeting I were in with "these points measures | cannot be used to measure performance between teams." | mindcrime wrote: | I find "velocity" to be almost completely useless, both in | principle and in practice. It's not only useless for | comparing teams, it's useless for _comparing the same team | over time_ if anything that affects "velocity" changes: | the team composition, the length of the iterations, the | nature of the tasks being worked on, etc. Now, how often | have any of us worked on a project where at least one of | those things didn't change, and sometimes fairly | frequently? | | I mean, just the difference in an iteration with a couple | of people on PTO, or a holiday or two intruding into it, | will throw the numbers off. Now factor in all of the other | fuzziness that's inherent in the process... yeah, no. Don't | bother trying to calculate or track "velocity". You'd | probably get better results from Tarot cards or animal | entrails. | giantrobot wrote: | I too find velocity to be one of the dumbest aspects of | Agile. It takes the stupid of story points and doubles | down on uselessness and arbitrariness. | | Velocity in physical terms is an instantaneous measure. | It's the same in Agile, you've done X things in Y time. | But that ignores the context of those X tasks and the | context of Y time. | | The X+1 task might turn out more difficult or have some | other challenge that makes it take longer. Time keeps | passing so at time Y+2 the velocity measurement is lower | than before. Now all the PMs and other team members jump | in demanding answers which now makes the task take even | longer. | | As you mention, some span of time can see team members | out or unavailable. So the velocity is "low" but rarely | is that context captured or bubbled up the management | chain. So your team has "low velocity" which ends up | generating worthless meetings, bad reviews, or all sorts | of problems. | regularfry wrote: | I've seen "story points" be totally useless over time on | teams where "number of tickets delivered per week" was | remarkably stable. But people don't like using that for | some reason. | tharkun__ wrote: | If you do that you can actually very easily switch to | Kanban methinks. In Kanban you sort of have to size all | work to be about (!) the same size so that you can make | accurate enough predictions for your lead time and cycle | time. That only really works if all work items are about | the same size though, otherwise you get too many outliers | from your statistics. | | I've found that most Product Owners really care about | predictability and less about actual estimates. They care | that if you say you're gonna finish something by the end | of the sprint, much more often than not, you will. | Estimates and velocity and such things are just means to | the end of trying to figure out which items are | reasonable to take into a sprint together. | | If your Product person knows that they can throw 10 | "random" (but currently most wanted by stakeholders) work | items into a "sprint" and 9 times out of 10 you will | actually finish all of those, they're probably gonna be | very very happy as they won't have to explain delays over | and over again on their end. | troupe wrote: | > debating whether it is worth 5 points are 8 | | I'm baffled by this behavior. If you know it is the next most | important thing, why do you care? What would it change in | your behavior if it is a 5 vs and 8? If you are looking at a | task that you would choose not to do if it were an 8 but | choose to do if it were a 5, then you probably look for | something that is more important to work on. | | I think you are right that much of that is driven by managers | looking for metrics, but unless they understand what the | metrics mean it is pointless. | optymizer wrote: | Sometimes importance is related to size. Points are | arbitrary, but lets assume that on average a developer will | work the entire sprint on an 8 point task. The PM might | decide that feature is not worth the time investment in | that sprint, if they could instead get 2 smaller features | out the door, or some bug fixed - they might prefer to | deliver that to stakeholders. | | That's why there's even a velocity expressed in points, | like the tasks - it's the PM's budget to work with. So 5 | points or 8 doesn't change the work you have to do as an | engineer, but it changes the number of things a PM will put | on the team's plate in the next sprint, and the points | force them to make trade-offs, otherwise they'll insist | that the bug, the small feature and the large feature are | all high priority and have to be delivered in the next | sprint. | | I'm not justifying the 15 minute time investment for | sizing, that is clearly way too much time, I'm only | highlighting that in scrum, as an engineer, you don't | necessarily know or decide what the next most important | thing to work on is. That's the PM's job. | datavirtue wrote: | Bugs get resolved desk-side five minutes after being | reported and pushed through on PRs that have 89% test | coverage (still green!). Developer is a cowboy hero! The | good thing is: you always get more bugs like this so | everyone gets a chance to be a hero. | optymizer wrote: | Must be nice. I've yet to see that happen at 'big tech' | companies. | g051051 wrote: | My last "team" was constantly paralyzed by this. The scrum | master would go around and everyone had to vote on the | number of points they thought a story was, which then led | to extended debate. Of course, it can always be | worse...near the end, they tried some idiotic thing called | "planning poker". | theptip wrote: | A couple things: | | 1. Sometimes your team needs to give an estimate of when it | will deliver a feature. The idea of pointing in Scrum is | that you establish a velocity, which lets you get a feel | for how long it's going to take to deliver a given piece of | work. | | 2. Sometimes your team needs to make trade-offs, and often | the right lens here is ROI. You can't estimate ROI if you | don't estimate the I. (Although I believe agile tends to | somewhat overrate the usefulness of the ROI lens.) | | 3. In the absence of 1 or 2, the act of pointing can help | to catch the case where you miss a piece of complexity; if | someone thinks it's 8 and everyone else is a 5, then maybe | they are aware of some gnarly code that everyone else has | forgotten? | | I'm not arguing in favor of discussing each story to death, | just making a more general justification for the practice. | If you never need to do 1 or 2, then maybe pointing isn't | going to be useful for your team at this time -- and that's | OK too. | | I'm sure in some cases this is just driven by managers | needing metrics to measure their teams by, but the above is | an attempt to suggest some reasons that the teams | themselves might find the practice useful. | regularfry wrote: | Neither "points" nor "velocity" appears in the scrum | guide. | theptip wrote: | Sure, like I said, you don't need to do it if you don't | get value from it. | | I'm just giving some examples of ways that some Scrum | teams do get value from the practice. | amrx101 wrote: | Exactly. Managers look for metrics and point and velocity | are what they use. | | Well anyway, managers in my current company are dumber than | second coat of paint and I inflate points. | Lutger wrote: | Metrics are not bad. Story points and velocity are | usually bad metrics though. | | It's not a coincidence the consultancy sector uses scrum. | They get paid for their output, usually by the hour, and | scrum measures output. | | If a consultant implements a load of useless features | that make a product worse, but do so very quickly, then | that's a great success for them. It's not fundamentally | different from rewarding developers for the number of | lines of code they write. | erikwiffin wrote: | I think there's value in that debate (within reason) even | as a developer. If Alice thinks a task is worth 5, and Bob | thinks it's worth 8, then there's a good chance one of them | knows something the other does not. Is Bob aware of some | hidden complexity that bumps it up 3 points? Or is Alice | familiar with a convenient library that solves exactly | _that_ complexity? Planning poker is a convenient time to | get that knowledge out into the open. | | Again, this is all within reason, and if it takes 15 | minutes on every ticket, the team should probably work on | their communication skills. | seanhunter wrote: | > there's a good chance one of them knows something the | other does not | | Or that the assignment of points is arbitrary and | imprecise and that different people have different ways | of making up numbers. | marijnz wrote: | My experience is that in well-running teams, devs are | usually pretty aligned what these numbers mean. A | difference in proposed points for some task does then | usually mean there's a discrepancy in knowledge about it. | | As for its usefulness: You of course don't have to | necessarily poker to get these discrepancies, but it's a | pretty effective way of going about it, I'd say. | jonpurdy wrote: | Everyone is correct in this thread. The stimulation of | discussion is useful, and numbers are arbitrary. | | Instead of worrying about 5 vs 8 though, the team should | be discussing relative difficulty: is story B easier/more | difficult/complex than story A? And then ranking stories | based on the relative difficulty of each other. | | Story points can then be derived based on that ranking, | if the team chooses. They're useful for being applied to | velocity calculation, and also helpful when picking up a | story to work on (maybe a bad idea to start an 8 pointer | on a Friday). | | (I have a SM cert, working as a TPM. I applying Agile | principles to teams, but modified to how they want to | work and be most effective. No militant Scrum here.) | seanhunter wrote: | That for sure seems useful. "Hey Sally, you think B is | harder than A. Why do you think it's hard?" "Hey Bob, you | disagreed with Sally and think B is easier, why is | that?"...is very likely to lead to a useful conversation | in terms of everyone getting in sync and may well lead to | hidden information being brought out into the open, which | is a good thing. In general I think relative | value/preference type conversations tend to reveal a lot. | jhugo wrote: | Exactly this. It's probably not an accident that one of | those numbers is half of 10 (and the number of fingers on | one hand) - a common made-up number for everybody - and | the other is 2^3 - a common made-up number for | programmers. | erikwiffin wrote: | I've always done planning poker with the Fibonacci | sequence - 1, 2, 3, 5, 8. The idea being that the more | complicated the task, the harder it is to estimate | accurately. | [deleted] | tomc1985 wrote: | Why is story point estimation tied to fibonacci sequence? | Two generations of managers at my previous employment | thought this way. It just seems so arbitrary to me. | drspacemonkey wrote: | First, the more difficult a task is, the more inherent | difficulty there will be in "accurately" estimating the | difficulty of the task. Fibonacci is used to represent | the inherent lack of accuracy in more difficult tasks, | since the numbers get _very_ far from each other as they | go up the scale. | | Second, the numbers _are_ arbitrary. Completely, 100% | arbitrary. It's a _relative_ difficulty scale. Say you've | got 3 tasks - A, B, and C. A and B are approximately as | hard as each other, they're 1 story point. C is more | difficult than either one - it gets 2 points. That's it. | Story points are not, and should not be used as, a unit | of measurement. The biggest utility is to identify big, | scary tasks with lots of unknown factors. | | The fact that they are _numbers_ is what tricks so many | teams/PMs/management/etc into thinking that story points | are more meaningful than they were ever supposed to be. | Incidentally, this is also why some planning poker teams | use t-shirt sizing (S,M,L,XL,XXL, etc). No numbers means | people are less tempted to punch them into a spreadsheet | while deluding themselves into believing that showing | numbers going down is the same thing as "showing | progress". | troupe wrote: | The closer the numbers are together the more time is | wasted trying to be exact about them. Fib helps reduce | the amount of back and forth. If you need to guess how | much something weighs and your options are | 1,2,3,4,5,6,7,8,9,10,11,12,13,14.....100, you are going | to have a lot harder time achieving consensus than if you | asks "Is it heavier or lighter than a breadbox?" | | At least that is the idea. | [deleted] | karatinversion wrote: | My team has a rule that if your Fibonacci point estimates | are within one of a given unit, you just accept that | estimate with no discussion - so if I think a story is a | 3, and others think 5 and 8, we'll take the 5 and move | on. I think it gives a good balance of discouraging hair | splitting and surfacing cases where having more | discussion is actually valuable. | merrywhether wrote: | Or Alice is more familiar with that section of the code | and would move more quickly in there and Bob would be | doing more learning along the way. | | Quick discussion of the differences is useful, but 15 | minutes is ridiculous. Just take the higher value and | move on. Eventually you'll baseline at slightly more | points per sprint on average, but they are imaginary | numbers anyway and not really comparable across teams. | gregmac wrote: | My team doesn't really argue about points next to each | other (on the Fibonacci scale) anymore, we just pick by | majority and move on. | | The conversation is meaningful when it's about 3 vs 8 | because exactly as you say, there probably is some hidden | complexity not everyone knows about, or sometimes some | work has already been done or there's a framework feature | that makes it easier than it seems. | | But 2 vs 3 or 5 vs 8... this is explicitly designed to be | an imprecise number, so let's not waste our time debating | which one to choose. | troupe wrote: | If you will do something different with a 5 than with an | 8 then yes. If not, then the ambiguities you describe | will be worked out when you do the work. It is just a | vanity metrics if the results doesn't change what you | work on next. It seems important but it has no actual | bearing on the teams sequencing of the work. | erikwiffin wrote: | If Bob had a plan for doing the work that didn't involve | Alice's library, there's a good chance he would have just | jumped straight in to implementation without talking to | anyone, and maybe the library wouldn't have come up until | code review (if at all). By identifying the complexity | mismatch ahead of time, they saved 3 points worth of | effort. This doesn't affect sequencing at all, but still | seems valuable to me. | comeonseriously wrote: | Scrum is Agile, strictly enforced. | raverbashing wrote: | I suspect the prescriptivism and detail have one end goal and | that is for someone that has no idea how software is done to | follow the procedures. It also turns the process into an | "almost predictable process" for the higher-ups to see turned | into a graph in some ppt. You also have to deal with people who | needs to be told which shoe to put in first before they think | the process is "confusing". | | Same reason for PMP, it's to turn the procedure into "paint by | numbers". Of course it rarely works that easily. | | But of course you can't justify the multiple middle-managers | and why can't the people at the bottom just "turn the wheel | faster" without it so there's a bit of purpose in that. | AnimalMuppet wrote: | > It also turns the process into an "almost predictable | process" for the higher-ups to see turned into a graph in | some ppt. | | This is not just a scrum problem. Any agile process | eventually reports to a layer of management that doesn't | think in agile terms, and wants their PERT charts or | whatever. The impedance mismatch at that boundary is one of | the biggest difficulties with implementing agile. | mannykannot wrote: | More cynically, this is the path to selling consulting and | training services. | osigurdson wrote: | The issue with all of this addition process, ceremony and | meetings is work still needs to get done. Sadly the only time | to do work is often outside of working hours since then, | finally, the meetings and ceremony have ended. | robertlagrant wrote: | I don't think this is the case. A two week sprint should | have about 100 minutes of standup, 1 hour of planning, 1 | hour of refinement, half an hour of review and 1 hour | retro, ish (I can't remember the exact timings). About 5 | hours every 2 weeks. Saying that adds up to a full 2 weeks | of work is just... pointless. So falsifiable. | osigurdson wrote: | I can only speak from personal experience (perhaps our | Scrum consultant did it wrong). We have a large group and | even running through the all of the demos (mostly slides | really) from all of the teams at the end of a three week | period took days. Added to this the retrospective, | multiple planning sessions as well as all of the meetings | that we _used_ to have prior to doing this. | | In the end, it was just so obviously unworkable to | everyone it had to be stopped. | | However, you are absolutely right, we were not in | meetings 100% of the time - it just felt like it. Many | people need good swaths of uninterrupted time (perhaps | 1.5-2 hours minimum) in order to be productive. Rapid | context switching between various meetings and | development work can be expensive. It is unfortunate when | this time can only be found outside of working hours. | | My suggestion is to start with no process and no regular | meetings and carefully add process/meetings as required. | If you need to talk with one or more people... call them | right now (or arrange a meeting with a clear agenda - | right now). All overhead should be carefully evaluated in | terms of its actual ROI. | la6471 wrote: | The author is not completely correct , in big tech project | managers are assigned to manage projects , depending on | complexity and collaboration needs. | wikibob wrote: | Citation and credentials needed. | | The author obtained first party data backing up what he | wrote. You present nothing. | jimbokun wrote: | I thought one of the interesting points in the article was that | Scrum gives a team some breathing room when there are many | "stakeholders" in the organization wanting feedback, updates on | progress, and to frequently change requirements. | | The Sprint gives a defined time period during which the team is | allowed to work uninterrupted by these kinds of requests, with | the updates, feedback, change requests etc. taking place at the | Sprint boundaries. | regularfry wrote: | This is exactly it: Scrum and XP are designed to protect the | team. | knightofmars wrote: | A "scrum course" is to Scrum what a code boot camp is to | programming. You're going to learn basics but you won't have | the depth of knowledge to handle complexity in any form, nor | how to answer questions about Scrum that inevitably are asked | by leadership. There's a reason the Scrum leader (or master) | role exists. It's supposed to be the person who has a depth of | knowledge that goes beyond a simple "scrum course" and can | guide an organization when complexity arises. Organizations | rationalize why they don't need to hire someone into this role | because a Scrum leader isn't a producing role. And they're | right that Scrum leader isn't a producing role, it's a role | that's supposed to make producing roles more efficient, a force | multiplying role. | jimbokun wrote: | But is there evidence the force is actually multiplied in | practice? | Jensson wrote: | Pretty sure there isn't, otherwise FAANG would enforce it | top down. They already enforce other practices top down | like hiring etc, so if they had data saying that mandating | Scrum would make the company X% more efficient they would | absolutely do it. | | It might be a force multiplier in other types of companies, | but it probably isn't in FAANG style companies. Similar to | how FAANG hiring can make sense to them but still be bad | for typical companies. | knightofmars wrote: | I mostly agree with this perspective. Alternative agile | methodologies may fit better with certain teams (e.g. | Kanban, lean, etc) and so having a top down prescriptive | method of "agile" doesn't make sense. Another perspective | is that Scrum is agile training wheels. Once a team can | discipline themselves enough to follow a Scrum workflow | successfully for a significant period of time, it shows | they are ready to follow a more flexible agile approach | and therefore may no longer need a Scrum leader guiding | the team. | watwut wrote: | The problem with scrum is that it is micromanagement | distributed. And that it makes whole team victim of the | assertive asshole when that one appears. | bennysomething wrote: | It also fits very well with feature factory shops: a story fits | nicely into a single feature. God help you when you are trying | to build a system from scratch with scrum overhead. Not | everything is a story or a ticket. It's painful. | hallway_monitor wrote: | This one hurt, it's exactly what I spent the past 18 months | doing - building a new system. Luckily my director was | sympathetic but the Company loves Scrum and Metrics. Tried to | change process unsuccessfully, so I quit to work somewhere | saner. | bennysomething wrote: | Yeah it's awful, the amount of overhead each ticket | generated. Testers want to test each ticket. The more I | hear about Microsoft's old way of building software the | more it makes sense: have a soec that can change. | optymizer wrote: | In my experience, junior developers like the rigid structure | and senior developers would prefer more flexibility. | | Companies that implement agile to the letter typically treat | their developers like consultants. You're treated as a mindless | drone that is supposed to work on tasks that were predefined | for you. You might as well be outsourced. | | I found that kanban-style works better imo. A prioritized | backlog where you pick the most important task to get done | makes for a more relaxed and friendly environment, compared to | an environment with a rigid deadline every two weeks that | everyone sprints towards. As long as there's progressed made | towards the most important items, everybody is typically happy. | snuser wrote: | Every company I've worked at that followed some sort of rigid | scrum process has suffered from burnout and general failure | in one form or another | | It treats developers like consultants because it's really | designed for agencies working on one-off short-burst projects | ( this is the only setting I've seen it have a positive | effect ) | | by nature it just chews people up if it becomes a day-to-day | practice, the whole process revolves around the assumption | that there's lack of trust and team cohesion | knightofmars wrote: | I'm not surprised, I see "rigid scrum" as an oxymoron. | robertlagrant wrote: | > the whole process revolves around the assumption that | there's lack of trust and team cohesion | | Where in Scrum is this defined? | void_mint wrote: | A mandatory meeting in which all developers must be | present and regurgitate status updates to the entire | team, as an example, assumes this information wouldn't | get to relevant parties organically and all team members | must consume all status updates. | vkou wrote: | > and all team members must consume all status updates. | | This is because nobody can be assed to figure out who | needs to communicate with who, on what. | void_mint wrote: | Which goes to some assertions that have been made about | this thread: Scrum is a tool to build standardized | minimums in support of mediocre talent. Elite tech | companies don't use scrum because they don't have (as | much) mediocre talent. | shados wrote: | Scrum is a specific implementation of some vague overarching | concepts. Of course it's going to be prescriptive, that's the | point. Else you're just doing "agile". | | When you bring a prescriptive implementation, you can then | leverage learnings from many orgs over many many years to | handle all the edge cases instead of reinventing the wheel. | | If you don't, or do "Scrum but not quite", then when things | don't quite work out, you're on your own. | | I'm no fan of Scrum, and rather use almost anything else, but | that doesn't change that there's significant value in using | systems that are mostly figured out and "work". Most of Scrum's | bad rep comes from people who think they know better, tweak it | to suit their needs, then realize they made a ton of holes in | the system and their Frankenscrum doesn't really work. At that | point you're better off just doing your own things. Which is | what folks do, they abandon Scrum and do agile their way. | bitwize wrote: | People say that about communism too. I'm not open to debate | any of the tankies I know are on HN, but if a paradigm brings | utopia if implemented properly, and misery otherwise, and | there have been no known utopia-yielding instances of the | paradigm despite repeated attempts, it's time to consider | that maybe misery is inherent to the paradigm. | shados wrote: | You're not wrong. Communism implemented perfectly would | also work beautifully. It just can't. | | The main difference here is that Scrum is not nearly as | complicated to implement. Though the issue is the same. | There's always someone somewhere who thinks the process | doesn't apply to them and the whole thing falls apart. | | I did work in one company that had a fairly well | implemented Scrum, and it did work pretty well. I've never | seen it replicated though, so for all practical purpose, | it's exactly as you say: it's not worth trying because it | only works when done perfectly, and that almost never | happen. | jerf wrote: | If you do "Scrum, exactly", then when things don't quite work | out, being "on your own" is the best case scenario. Worst | case is that someone yells at you and blames you because | Scrum Objectively Works so it must be your fault. | | I see no reason to believe that Scrum is a tightly tuned | machine that must be precisely run to work at all, and any | deviation from it makes it fall apart. In fact, if that _is_ | the case for Scrum I 'd consider it a fatal objection. I | don't believe the effectiveness landscape for project | management techniques is shaped like that, I don't believe | that the effectiveness landscape is a black pit everywhere | just around Scrum only for a sudden spike of effectiveness to | exist precisely where Scrum is located, and if it _were_ | shaped like that, I don 't believe in the capability of | anyone to have found and proved that spike. Since the only | practical algorithm to explore this landscape is gradient | descent, anyone carefully and thoughtfully exploring this | landscape should never have found Scrum. | | Or, to put it in less mathematical language, the idea that | Scrum is super effective but if you deviate from it just a | bit it all falls apart is complete garbage. | | Do real agile, all the time. Scrum's only useful for raiding | for ideas, and I'm not particularly impressed with it for | that purpose, either. But it's not quite literally _bereft_ | of good ideas. I wouldn 't give its ideas any particular | credence for coming from "Scrum!", through. I don't see a lot | of evidence that it is _specially_ deserving of respect. It | seems to work for some people, yes, I don 't deny that, but | the rate at which it works for people is sufficiently low | that I don't think it has any sort of special claim. | robertlagrant wrote: | > Since the only practical algorithm to explore this | landscape is gradient descent | | That's why an algorithm was not used. Effectiveness has not | been sufficiently analysed to be reduceable to a line on a | graph. | | > Do real agile, all the time. | | People who call something "real" without defining what | "real" is may be well-practised at sounding nice and | emphatic in meetings, but without any detail it's hard to | see it as anything more. | Clubber wrote: | >Most of Scrum's bad rep comes from people who think they | know better, tweak it to suit their needs, then realize they | made a ton of holes in the system and their Frankenscrum | doesn't really work. | | I remember when Scrum came out. It's a very specific method | for a very specific company type that was sold to work with | any company. Before scrum, each company kinda figured out | their own processes based on their size, team composition, | output requirements, and their risk tolerance. Ticket systems | existed before scrum, feedback loops existed before scrum, | bug tracking existed before scrum, prioritization existed | before scrum. Scrum just took all the things that already | existed and put them in a very specific and somewhat | restrictive process. It was eye candy for the execs who had | no idea how their department worked, it was a cash cow for | the consultants selling it. It's ok if you don't have | anything else or you're dealing with high turnover or | something like that, but if you have a mature department | already, it's probably more restrictive than not. | knightofmars wrote: | Anecdotally, I've experienced the exact opposite. The | company I work with had been doing waterfall development | for 15+ years. We switched to agile using the Scrum | framework. It wasn't smooth sailing the entire way, there | were teams early on that struggled with adopting Scrum. | Most often it was due to the team attempting to solve every | retro issue by updating "the process", which only addressed | symptoms instead of fixing underlying communication | problems within the team. The other major hurdle was | getting product to accept that a roadmap isn't a set of | commitments but is instead a list of prioritized "wants". | Now, we're 3 years out from the switch and most of those | pain points have been removed. It's lead to massive | improvements in quality, predictability, and overall | happiness across the company. | ipaddr wrote: | Scrum is like a global variable or a goto statement. If used | carefully it could provide benefit but is often thought | negatively. Used by untrained or junior team members and | projects spiral. Senior members shy away because of | experience. | void_mint wrote: | The brilliant thing about Scrum marketing is it's pitched and | talked about as infallible. If it didn't work, it's because | you didn't do it right. If Scrum worked for you, you must've | done it right. | | > If you don't, or do "Scrum but not quite", then when things | don't quite work out, you're on your own. | | So, if you do exactly as Scrum prescribes and do not find | success, in what way aren't you "on your own"? | shados wrote: | I think I'm expressing myself incorrectly. | | Scrum "by the book" has a lot of material on the edge | cases. How you handle almost every case that can happen in | a software development team. So you can follow it like a | workflow. Something unusual happens, you look in the book, | do what it says. It's flaws are fairly well documented and | understood, too. That's what I mean by being "on your own" | if you don't follow it. At that point you can't just use a | book to figure out next steps. You have to actually talk it | out and use your brain to figure out what to do, because | its unlikely your internal process has as much | documentation around every single "paved paths". | | It's also just a process. What does it mean not to find | success here? If you ship broken software, it's unlikely to | be because you didn't move the right ticket in Jira. | | If you implemented Scrum "by the book", the likely "failure | cases" are more things like people refusing to actually | follow the process because they find it to be a waste of | time, the overhead is too high, people are sick of looking | at the book, etc. | | Don't get me wrong: I very much dislike Scrum and you'll | never see me push for it in a team. My point was merely | that if you take an "On rails" experience like Scrum, and | tweak a few little things, you lose on almost everything. | The books no longer apply. When the entire point of this | particular process is basically the books and | documentations, doing "Scrum but not quite" really kills | the point. | void_mint wrote: | > If you implemented Scrum "by the book", the likely | "failure cases" are more things like people refusing to | actually follow the process because they find it to be a | waste of time, the overhead is too high, people are sick | of looking at the book, etc. | | Yeah this is the nonsense propaganda I'm talking about. | "If it didn't work, it's because you needed to do it | more", which I think is absolute nonsense. | dave1999x wrote: | If you aren't following the Scrum practices, then you | aren't doing Scrum. For better or worse. | | It's like baking a cake without adding sugar; it's not | really a cake anymore. | | Sometimes teams don't understand practices and will | discard them. | | As an example - retrospectives. I've worked on teams | where we inspected and adapted our process on demand. We | didn't wait till the end of a sprint. | | I've managed individuals on teams where they're discarded | retrospectives. They've complained to me about certain | processes (not scrum ones) and when I've asked, "why | didn't you raise this in the retrospective?". "We stopped | them, we didn't see any value". | | No doubt they weren't getting value out of them, but that | doesn't mean they were doing things well and they lost | opportunity to improve as a group. | | For context, currently, I manage a team of 60ish without | Scrum. I see Scrum as a bit dated now. | void_mint wrote: | > If you aren't following the Scrum practices, then you | aren't doing Scrum. For better or worse. | | Dogma. | | > It's like baking a cake without adding sugar; it's not | really a cake anymore. | | Nonsense. | | > No doubt they weren't getting value out of them | | This piece goes against this piece: | | > , but that doesn't mean they were doing things well and | they lost opportunity to improve as a group. | | Why would you continue to follow a process you don't find | value in? If you didn't like a process, why would you | feel like bringing that process up in a process-oriented | equally-useless meeting? This is the dogmatism. "Well | even though the meeting wasn't valuable you still | should've tried". To what end? | | > For context, currently, I manage a team of 60ish | without Scrum. I see Scrum as a bit dated now. | | Less interested in size, more interested in | throughput/attrition. | AnimalMuppet wrote: | OK, but scrum is supposed to be a way of doing agile. And | "we're going to do agile by a rigidly defined process" is an | oxymoron. If your process isn't one of the knobs you can | turn, then you aren't actually agile. | lifeisstillgood wrote: | The initial comparison - WhatsApp (18 employees) vs Skype | (hundreds? thousands) is not a comparison of Project Management | systems but a great example of the Clay Christensen Innovators | Dilemma - Skype got killed by a mobile only, E2E encrypted | competitor. | | I think the big takeaway is "dont worry about your project | managment system if you are playing the wrong game." | throwaway4good wrote: | "Teams struggling often had little to do with the methodologies. | People mentioned lack of vision." | | I would say "lack of vision" is one of the key features of SCRUM. | speed_spread wrote: | You need vision for scrum, but it's not that big lofty goal | that never changes. Agile vision should be affected by what you | discover as you advance. | lbriner wrote: | I don't quite understand the "lack of Scrum in large companies" | when they all seem to Plan-Ship-Build. That is pretty much the | high level description of Scrum isn't it? | | Sure Scrum has some ceremonies, but these are basically planning | and retrospective for improvements, so again, not really any | different. | | At the end of the day, most of the ways I have worked end up with | Tickets/PBIs/Stories and you work through them. The only major | difference is how much in-advance these are specified and to what | detail. | Mehdi2277 wrote: | I've worked at a couple big tech companies and one scrum. | Notable differences, much less ceremonies, planning is also | more up front with deviation allowed but not needing additional | planning, and ticketing being optional thing that varies by | team. | | I do not usually track my current task with a ticket or story. | I have once week meeting with my team to discuss what I did | last week and what I'll work on next week. There is no 2 week | sprint/constant stand ups/individual ticket estimates/retro. A | typical plan is for a project that will take a month on short | side or 2 quarters on long side. Deadlines tend to be soft with | it culturally accepted that most deadlines are rough estimates | and a week or two so deviation being fine. Process feels very | light for me and I'm pretty happy with that. | tootie wrote: | Of the weekly "Scrum sucks" posts we see on HN, this was by far | the most articulate and well-reasoned. I've spent most of my | career in consulting or kitchen sink teams. Having Scrum or a | Scrum-like process is simply mandatory because we are working | with disparate stakeholders against constrained budgets with a | team who are not dedicated to the domain we're working in. | Getting a high degree of specificity into requirements in the | smallest increments is life-saving. Over reliance on rituals is | typically only necessary for a really immature team (which I have | been part of in the past) but the core elements of backlog | management are really valuable. Not just for developer | efficiency, but for visibility on progress and priorities. | | All that being said, I can easily see how a dedicated team with a | very clear product strategy iterating on a hugely successful | business model can just roll along without a lot of oversight. | I'd still be a bit surprised that anyone working on a customer- | facing product isn't running their design decisions through | product experts. Idk what that world is like, but I've spent a | lot of energy duking out product debates where nobody is really | sure how a feature should work or it's even beneficial and | developers usually have the worst instincts. | megamix wrote: | Why imitate? Big tech also run projects to track us and ruin our | lives...so | draw_down wrote: | Ewww, you don't wanna be like Amazon! All that money they | make... yucky | w0mbat wrote: | Startups implement Scrum or nothing, but the FAANGs each have an | existing unique process with a cargo-cult veneer of Scrum on top. | | All Scrum really means at a big co is an extra morning meeting | that penalizes both people who like to work late and parents who | need to get their kids to school. Plus you may occasionally hear | the word "sprint" but it doesn't mean anything as you can be | given an urgent task or have a feature cancelled at any time. | hatchnyc wrote: | > Engineers are encouraged to interact with the rest of the | business and build relationships with non-engineers. In contrast, | traditional companies often make it impossible for developers to | interact with the rest of the business. | | In my experience "traditional companies" will often have a bunch | of people in cushy "gatekeeping" jobs whose main function is | basically forwarding emails back and forth between devs and the | business. If you try to get direct access to the business usually | the business is quite happy but the gatekeepers get very upset. | bengale wrote: | At the last large traditional place I was at it seemed a lot | like the upper management types had put these gatekeepers in | place so they had people that would pander to them. The amount | of times one of them told me they couldn't tell their boss some | bad news for risk of getting fired or chewed out, but wouldn't | let me go and tell them the truth was mad. | | From what I could tell no-one was firing engineers because it | was too expensive and we didn't really care since we could get | more work within a few hours, and the "bosses" didn't like the | lack of power they had in that dynamic. | shagie wrote: | A clear implementation of the Thermocline of Truth - | https://brucefwebster.com/2008/04/15/the-wetware-crisis- | the-... | bengale wrote: | Yeah that all sounds very familiar. | [deleted] | dasKrokodil wrote: | The gatekeepers are the ones with the people skills: | | https://www.youtube.com/watch?v=hNuu9CpdjIo | ericbarrett wrote: | What a utopia this movie portrays! Individual cubicles, | administrative assistants for senior staff, and the | protagonist has only been asked to work over a single | weekend. | rubyist5eva wrote: | My current company is like this. I work directly with the | business people anyway. When anyone says anything I just point | them to my output, quality, and the feedback from the business | people - shuts them up every time. | jdgoesmarching wrote: | I'm one of these hypothetical gatekeepers and would be | thrilled if a dev could successfully take this off my plate. | Just prioritizing the incoming requests from stakeholders is | a full-time job. | whynotmaybe wrote: | I've also seen some instance where gatekeeper were pretty | effective at filtering users demands because some of those | requests were too dumb and the "paying" users were used to have | everything they wanted, and because they "paid" the dev | department, "they had to do everything they wanted". | | Like asking for a 6months dev work to help them save 1 hour | annually on an annoying task they had to do. | hatchnyc wrote: | My experience has been the exact opposite, if the developers | understand what the business is trying to accomplish and what | the incentives are then they are in a much better position to | prioritize and build the right thing. Every single time I've | seen 6 months of work on a useless or low value feature it | has been the result of the dev team getting requests via some | PM telephone game. | robertlagrant wrote: | This is a tricky balance. Developers can also get | overwhelmed with requests for estimates, automation tasks, | etc etc, and get annoyed that people have so much contact | with them. But it is a tricky balance; there's no obvious | solution. | pc86 wrote: | > _Like asking for a 6months dev work to help them save 1 | hour annually on an annoying task they had to do._ | | I see this as a complaint a lot, but... in a private company, | they're the ones writing the checks. So if they want to spend | hundreds of thousands of dollars to save an hour, that's | their prerogative. It's certainly our obligation to point out | the cost (including ongoing maintenance) but again in a | private company you don't really have the option of saying | "no" except with your feet. | whynotmaybe wrote: | Completely agree on that. | | Now imagine a government entity where the users and the dev | are both paid by the gov. | Frost1x wrote: | Yea, I don't see the complaint here. It's part of my job to | let whomever the client may be that what they're doing may | be a bad use of resources (typically in a documented email | in a very positive tone with lots of "decision makers" on | the email, also with a nice lead in explanation as to a way | it _could_ be efficient under some set of circumstances so | they can copy paste that as their "well we weren't sure" | pathway forward). | | After that, I really _really_ don 't care anymore, that's | someone else's problem. I've played that soapbox and it's a | waste of my time and energy. I make sure responsibility is | passed back, documented and proceed. If you want to throw | hundreds of thousands or millions at me and whomever to | some wasteful request, go for it. You have the option, | you've been warned, and I've given you a valid excuse to | proceed with high risk, high uncertainty of ROI option with | everyone important involved. | | I do a lot of contractual/consulting work so even warning | can mean early termination of work forward, so I'm taking a | risk even informing you (some people actually listen and | work stops early during consulting time and development | follow up never occurs, these are the smart people and | they're bad for my livelihood)--I could just do whatever | you ask and get paid. If I were salaried, there's even less | risk of me losing income forward by informing so I say in | those cases just do your professional due diligence go let | people know it's a bad idea without creating political land | mines for anyone, then allow them to step on land mines at | their own discretion. | hiptobecubic wrote: | This is really only true of it's coming from the very top | of the food chain. Sales is obviously an important part of | the revenue stream, but it's not the only part and it | doesn't automatically trump all other concerns. For | example, it's not useful to sell a product that doesn't | work, will cause huge customer churn and will destroy the | company's reputation. If you're a shareholder or care about | the longevity of your job, it's important to push back on | wasteful behavior. | pc86 wrote: | Absolutely agreed, I implied with "writing the checks" it | was the actual owner(s) of the business making the | decision but could have been more explicit about it. | shagie wrote: | There are other factors at work that may exist outside of | the "1h of labor saved" too. | | It could be something that's tricky. While the optimal case | is 1h of work, if something goes wrong then its doing | forensic auditing on the books in 3 months and spending | lots of time there. | | It could be something that needs to be repeatable. Yes, | it's 1h, but before this was done Alice did it and before | that Bob did it. They did it slightly differently and that | cause problems. Having a computer program do it provides | change management to the process of doing that task. | | It could be something that needs auditing. Tying into the | previous two, having a "this is how it's done and all the | calculations that go into it along with a test suite" makes | it easier to be assured that it is working correctly. | | There are lots of things outside of the purview of a | developer working on doing whatever task needs to be done | to solve a problem. The value of the problem being solved | is the issue of the manager or the customer. | cheschire wrote: | Of course you have the option of saying "no" unless the | company culture / leadership climate does not allow it. | That's far from the inherent obligation you're describing. | | I do however agree with leaving any organization that does | not allow you to express disagreement. | pc86 wrote: | I think that depends on whether "no" means a nice way of | saying "this is stupid" - which I agree with, and have | done before, to mixed results - vs. outright _refusing_ | to do work that 's been requested. I don't think an | employee who is being paid a wage by an employer has the | right to refuse to do something just because it's a | stupid idea. | alach11 wrote: | I'd much rather have an employee who will refuse to do | work that is stupid than one who will do whatever is | asked of them. Especially if it's something as bad as the | GP example of six months of dev work to save one person- | hour per year. | commandlinefan wrote: | > in a private company, they're the ones writing the checks | | As long as they're being otherwise reasonable, I don't have | a problem doing something that doesn't seem terribly | "important" to me either. However, in my career I've had | many frustrating instances where they were demanding | something in a timeframe that I couldn't deliver it without | ensuring that there wouldn't be any unintended side effects | - and then blaming me for the side effects when they came | up. I only push back when they don't realize how complex | what they're asking for is. Of course, then they play the | "tell me how long it's going to take so I can argue with | you until you agree that it will take as long as I | originally asked for" game. | postfacto wrote: | > they were demanding something in a timeframe that I | couldn't deliver it without ensuring that there wouldn't | be any unintended side effects - and then blaming me for | the side effects when they came up. | | Far too few developers understand: just because the | people writing the checks ask you to do it and you | implemented it exact as they ordered you to doesn't mean | the people writing the checks will take responsibility | for the resulting bad situations that can lead to them | _not_ writing you checks anymore. If anything, you 'll be | used as a scapegoat to prevent _them_ from not getting | any more checks written. | spaetzleesser wrote: | I have seen it more often that gatekeepers filtered user | demands based on their own knowledge and not on technical | feasibility or effort. So you are told that a user needs a | certain thing in a certain way but when you talk directly to | the user you learn that the user actually had a different | need which you can fulfill in an easier way than the | gatekeeper thought possible. | | In general I think there is a huge advantage if developers | know first hand how their product is being used and not | through gatekeepers. | hiptobecubic wrote: | The whole point is that this doesn't scale. What do you do | when there are too many users to interview them all over | coffee? | lifeisstillgood wrote: | Honestly that's the whole problem with Democracies. And | we solve it with sampling and surveys. Probably if we can | come up with a better answer, we will improve Scrum, and | Democracies :-) | datavirtue wrote: | You have key business ops people AND their key users | (direct reports) involved. It scales. | tombert wrote: | Yeah, I learned the hard way that one of the worst things you | can say at a megacorporation is "this manager is just creating | work to justify their existence in the company". In my case, it | was directly applied to a specific manager (who heard me say | it), and it led to me being lectured and yelled at and told | that it was "unprofessional" talk (which to be fair it kind of | was). | datavirtue wrote: | Yelling at people at work is unprofessional. Sometimes it's | illegal if you are a federally protected class. | tombert wrote: | I'm definitely not a protected class (I'm a tall white | dude), and I am not being 100% fair; they weren't screaming | at me or anything, just an elevated voice and very angry | words. I don't believe they said any curse words, and even | if they did I was somewhat sympathetic to why they would be | upset with me (even though I do stand by the content of | what I said). | | It was probably still unprofessional, but probably not as | bad as I made it sound...my bad! | jermeh wrote: | I work in a "traditional company" and the gatekeepers were | installed to keep developers from going insane. When we have | too much information back and forth between business and | engineering, the loudest complaints from the business side | (where the $$$ comes from today and tomorrow) drowns out the | team's and department's internal goals, which are usually much | longer term (meaning the $$$ is in months or years, not next | week). | | I believe this is why the author noticed that certain types of | companies had engineers say the product owner was one of the | reasons they're more satisfied. From when I started at my role, | my team went about 2 years without one, and then within months | of having one, we have been much more productive and have | managed to create much more immediate and future value for the | company. | Jensson wrote: | The trick big tech uses to solve this is to not just pay | extra for above average engineering talent, they pay extra | for above average talent in all areas. So the people you talk | to are almost always pretty reasonable and understanding, | they want things done and complains but they don't ask for | the impossible or unreasonable. | hiptobecubic wrote: | There are also product managers and UX engineers. It's not | like every random coder is interacting with sales on the go | to market strategy. | Jensson wrote: | Product managers and UX engineers are there to do product | management or UX design, not to filter information from | the rest of the company to programmers. That means that | most of sales requests are better forwarded to a product | manager or UX designer, but there is nothing stopping | them from directly filing a bug report to a developer and | chatting about potential fixes/timelines etc. Also if | some feature is important the product manager can just | tell them to talk directly with the relevant engineer to | get the feature done. | samdjstephens wrote: | I think it's deeper than that - these companies place | product/engineering at the centre of the business, rather | than at traditional companies that still see it as a cost | centre. | blihp wrote: | The problem arises when the gatekeeper either no longer | understands or no longer cares why their position exists. | Then they just become an obstacle to the very communication | they are supposed to be there to facilitate. | numbsafari wrote: | This is because businesses chronically underinvest in | developer/engineering resources. | | Developers tend to be viewed as something that is not "core" | to the business, and generally only necessary on a project- | by-project basis. So, projects are initiated, resource needs | identified, and, since nobody wants to hire a bunch of full- | time staff, most likely a consulting firm or off-the-shelf | product is selected and configured. | | The downside is now you have a thing that needs to be | maintained, and probably it will be maintained by a limited | pool of "in house experts", who are also responsible for just | about everything else. | | The net result is that you've got this centralized resource | that is under provisioned and, well dear reader, what does | your training as a systems engineer tells you will happen | with a centralized resource that is under provisioned? | Contention? Rising latencies and queue lengths? Disastrous to | recover from failures? | | You betcha. | datavirtue wrote: | You think they would be taken aback by the cost of a temp | developer. In my case we easily charge the salary of two or | three junior devs for one person and we are very | sticky...not one contractor was out of work during the | pandemic while those companies laid off FTE in significant | numbers. | lloydatkinson wrote: | I wish I could upvote this twice. So true, it's very | frustrating. | [deleted] | a4isms wrote: | > In my experience "traditional companies" will often have a | bunch of people in cushy "gatekeeping" jobs whose main function | is basically forwarding emails back and forth between devs and | the business. If you try to get direct access to the business | usually the business is quite happy but the gatekeepers get | very upset. | | "But I've got people skills, dammit!"--Tom Smykowski | draw_down wrote: | I'm familiar with the way of working described in the Skype web | section. One thing this article has made clear is how much | responsibility is pushed down to engineering, and removed from | product ownership. | | The product owner is not even tasked with approving the work | done! Nor having any real kind of spec. However in my experience | they still have veto power and the power to change what the | project is at their whim. | | This is all done with the idea of "autonomous teams" held firmly | in mind. Yeah you're autonomous... you can decide for yourselves | how you will do what the project owner has decided they want | today. | | But they are still the owner! And will be the face of success | when your project ships. | | I suppose it's a good thing they pay well. | mbeex wrote: | I was there when Agile was invented. In my opinion, Scrum has | always been the worst embodiment of a good idea. | | In terms of content, teams of experienced developers have always | worked in the spirit of Agile (of course there are exceptions). | This informal understanding was and is superior to a formal | horizontal Scrum implementation. For example, it preserves | seniority and true accountability - two things that Scrum pretty | systematically destroys in my experience. Initially, I was hoping | for additional solutions to problems in the vertical direction - | management, customer relations, etc.... But that never | materialized, at least in my environment. And since I've been in | the industry for more than 20 years, that's not too little. | | These days, mandatory Scrum is a contra-indicator for any project | that crosses my path as a freelancer. | tootie wrote: | I always viewed Scrum as training wheels. I've imposed it on | teams who were dysfunctional as a way to get them on the rails. | Hands and feet inside the car. Child safety locks engaged. It's | a bit patronizing, but if you've ever worked with an unengaged | team, it can be necessary. If you do it well, the team gets the | feel for what agile delivery feels like and don't need the | rituals to know what kind of touchpoints are actually required. | Like the bottom of the Dreyfus model of skill acquisition. If | you're "Big Tech" and have only hired the best and brightest | and are working on enthralling problems, you tend to get people | at the top of the pyramid who just run agile even when you | don't tell them to. | jdauriemma wrote: | It seems to me that the industry's original sin with Agile was | treating it as anything other than a model for managing a team | of software consultants. There are certain types of internal | product teams that can meaningfully emulate this paradigm, | particularly in a B2B context where a tight feedback loop can | be cultivated with customers. Chances are, though, that product | teams, particularly in DTC businesses, don't have close enough | relationships with their end users to be able to practice Agile | as written. | SkyPuncher wrote: | > These days, mandatory Scrum is a contra-indicator for any | project that crosses my path as a freelancer. | | Hmm. Scrum seems like a relatively good means of aligning two- | parties with low-context. | mbeex wrote: | > low-context | | I understand where you're coming from, a lot of freelance | work these days is just code grinding for a short or maybe | longer period of time. | | My projects are not of this type. Most of the time they are a | mixture of specialized mathematics, software design and | implementation. | g051051 wrote: | > These days, mandatory Scrum is a contra-indicator for any | project that crosses my path as a freelancer. | | Yes! Although I don't agree that Agile is a good idea that | scrum ruined. | ebiester wrote: | How long have you been in the industry? | | Agile in 2021 means something different than Agile in 2002. | Project Management was a different consideration 20 years | ago. | | Which of these do you disagree with? | https://agilemanifesto.org/principles.html | | I disagree with 2. Now, perhaps you disagree with 5. These | were written in 2001 for problems in 2001. Now, some of these | problems have been solved. Some of them are taken for granted | today. However, we take them for granted in large part | because a group of people got together and said, "we can do | better." | | I personally think it's time for another group (not the old | agile luminaries but people with new ideas) to take a look at | today's problems and take a fresh stab at it. Maybe it looks | like "Plan-Build-Ship." But maybe it looks different. | | But first, I think we need a clarifying question: What in the | principles or manifesto do you disagree with? | g051051 wrote: | I disagree with the whole thing. It was written by | consultants to sell consulting services. The "principles" | are empty aphorisms that have practically crippled the | software development industry. | | Edit: | | > How long have you been in the industry? | | 32 years. | megamix wrote: | Software engineers need more rigid structures and stop thinking | they're in a park trying out new technologies! | amrx101 wrote: | Amazing. Hope you prosper. | PerkinWarwick wrote: | Just to be the old grouchy guy, I can't say that any of the | modern processes sound like any fun. 90% of the time I've run | into them it was basically a way for external consultants to make | a pile of cash (and for an internal champion to work without | doing work), the other 10% it slowed down development to a series | of small changes. | | Perhaps it's just a difference in the scope and type of projects | (boutique hardware vs. large scale online stuff). | | Looking back at old codebases that I kept around, we managed to | build quite complicated largish systems in a reasonable amount of | time using straight waterfall/ad hoc approaches. Simple source | control. Simple spreadsheets for bug lists. | | Admittedly it's hard to avoid attaching particular people to | particular blocks of a system, so perhaps making development | capable of absorbing random Engineering Resource Units (humans) | is the point of all this. | | ..or maybe it's just that earlier generations of programmers were | stupid. I can accept that. | amrx101 wrote: | Name me one company that doesn't profile a programmer using the | points and velocities (etc, etc).The up-speak and dishonesty can | be seen readily when they say "All these metrics and data on your | board will not be shared or used to decide your compensation or | salary-revision.". The thing is that Agile, Scrum, Safe etc makes | management happy that they have data which can infer devs | productivity and return to the corporate. Thats all. | Mehdi2277 wrote: | I've worked now at Facebook, tiktok, and snap. None of my teams | used tickets so there are no points to track. Most of the time | my tasks were just discussed with my team and main way you | could track is by prs. How many points a task is worth is | something I've only had to do for 1 job at a startup where we | did follow scrum. I do occasionally give estimates but they | also aren't really tracked as they're frequently not written | down anywhere and just something I tell my teammates. | vthallam wrote: | One of the bests parts about working at a faang is we don't do | scrum or stand ups. Everyone shares timelines ahead of a project, | and they run with the execution, flag if there are any blockers | or need help. Saves so much time without the extra overhead. | [deleted] | Kharvok wrote: | The important distinction here is this is a set or principles for | agile software development at scale. If you aren't "at scale" and | having trouble running basic Scrums, then you aren't solving any | problems by scraping Scrum necessarily. If you struggle | organizationally to use Scrum principles then you're going to | struggle even more with this. | specialist wrote: | Really good, thoughtful, constructive update to Alistair | Cockburn's thesis. | | Characterizing people as non-linear, first-order components in | software development [1999] | | https://dl.acm.org/doi/10.1145/1811226.1811241 | | Found TLDR: | | http://www.csci.csusb.edu/dick/biba.php?search=Cockburn00 | | Sorry, Cockburn's OG website is apparently gone. And I can't | quickly find a naked link to this paper. | voidfunc wrote: | Ive worked in big tech and startups and the most effective | planning ive seen is the TODO list we curated once a week. | g051051 wrote: | > The success of companies and project management approaches is | not always correlated | | Glad to see the author admit this... unfortunately most scrum | cultists can't believe this can be the case. | faizshah wrote: | There's this image that big tech teams build software where | everything is automated and has 100% test coverage and all the | infrastructure heals itself and all teams are hyper efficient. | It's not really true, the biggest shared practice between big | tech is letting the team's manager pick whatever methodology | works best for them. | | The big tech version of scrum is just sprints, stand ups and | shipping often. There's still a waterfall process, mounting | technical debt, huge backlogs where everything is high priority, | and over committing to slipping deadlines. | | I think people should think twice before looking at big tech as | the place to learn good management practices from. | gregorygoc wrote: | You've described Amazon. Google and FB are different kind of | beast. | foobiekr wrote: | I think your last point is wrong. Shipping big, complex | projects at big tech companies, especially vendors who actually | literally ship and can't do live patching to cover up shoddy | practices, is actually something _everyone_ in the industry | should do because you learn a lot about what it really means to | build and release software. | | Cloud-delivered CRUD apps are the easy mode of SW development | and people who have never done anything else really end up | quite stunted IMHO. | faizshah wrote: | I agree with your second point, I often read project | management advice and realize it comes from consultants and | agencies and small companies and doesn't really scale for big | tech or address issues with large engineering teams. | | I actually agree with your first point too, I do think big | tech devops and security practices should be copied. | | The point I was trying to make is that I don't think big tech | management is actually that good. Big tech is optimizing for | staying big (reliability, security, etc.) the famous projects | are usually the most uninteresting to engineers cause they | ship a handful of new features a year and you spend most of | your time working on bug fixes, infrastructure updates and | security patches so those projects end up having the most | churn in engineers and management. Because of that churn | these teams tend to adopt the practices most suited to | oversight (stand ups, sprints, retrospectives, etc.) instead | of the ones best fit for improving the customer experience | (grooming the backlog, collecting user feedback often, etc.). | So that's why I say we shouldn't be using big tech management | practices as an example imo, cause big tech still hasn't | decided on a solution to the problem of slipping deadlines, | exploding backlogs and insurmountable technical debt. | throwaway5752 wrote: | I really want to say this: SAFe is an awful process and a trend | that will hopefully go the way of Unified Process/RUP. I won't go | into it, but it's largely created and popularized by a vendor to | sell their software. It is poison and exists to keep its | practitioners employed. It attracts the highest-ego PMs like | moths. | | I find it interesting that they author references Skype circa | 2012. It sounds like classic "uppercase A" agile: they reframe | success as shipping and hitting other invented agile milestones, | while masking shipping lousy and incomplete product that is not | succeeding in the market. That was right around the time Skype | started being bad. It may succeed on some metrics because MSFT | started bundling it, but anyone that actively used it at that | time should know what I mean. | | The idea of an "agile enterprise" is intrinsically absurd. Teams | are agile, not companies, and teams and products should be | loosely coupled. That's why the big tech companies in this link | have converged to similar answers to this problem (they are not | "agile enterprises" but give teams some latitude to solve their | own problems, and rather focus on results). Kanban is better in | most ways for most teams. | | Also, Tuckman is a silly model that is only popular because it | rhymes. | | PS: _Strawberry-Jam-O-Meter and a Wrong-Order-O-Meter_ and their | descriptions could hardly be more cringe inducing. Skype should | be a part of the curriculum looking at less than ideal | acquisitions and post-acquisition execution. | https://www.wired.co.uk/article/skype-coronavirus-pandemic has is | a reasonable overview if you're not familiar. They lost the | consumer market and failed at enterprise (see Teams) and Teams in | turn essentially failed in the general market- where most places | that were free to do so went with Slack. | arcbyte wrote: | As a Dev, I loved SAFE. It changed everything about how our | program operated to the point our delivery became extremely | predictable and we still had every 9th and 10th week to tinker | on new ideas or do refactoring and cleanup where we wanted. | That program purred like nothing else I've ever been a part of. | Senior leaders sat with devs, started talking to everyone about | their priorities - people we had never seen before we started | doing PI events. Antagonism dropped. We went from not being | trusted to deploy during an annual heavy use period to being | totally trusted to deploy and given additional contracts for | maintenance. And this was with the exact same people who had | been there. We just weren't working very well before we got | into SAFe. | | I think one of the keys to this was the buyin everyone had. It | wasn't totally consistent at the beginning, but over time | everyone got on board, we did trainings, actually incorporated | feedback consistently. | | I hear SAFe hate all the time, and when I ask how things went, | inevitably it turns out they never actually did SAFe. Somebody | made them email a 10 week plan and used the acronym and that | was it. If you're gonna do SAFe, do SAFe. | void_mint wrote: | As with all "Agile Frameworks", they are marketed as "If it | worked it's because you did it right, and if it didn't work | it's because you didn't do it right". | | Is something actually valuable if it is A.) Inflexible and | B.) Rarely goes well? | clumsysmurf wrote: | > and we still had every 9th and 10th week to tinker on new | ideas or do refactoring and cleanup where we wanted. | | We do PI planning from SAFe. We would get the last sprint of | quarter for slack, improvements, they said. | | Instead, we use it to clean up the mess created from | waterfall scrum in the previous sprints. | arcbyte wrote: | In the first PIs after we started moving, this was the case | for us too. But it got better every PI. The last few PIs I | was in had 10 teams and a couple of them would be playing | catchup, but most would be working on other unplanned | projects. Either refactoring or learning or getting extra | things done. | sumtechguy wrote: | These things are tools to be used. If you use focus on the | tool and not the end user, things will go badly. Typically | you will see teams that are very hyper focused on some | particular metric (time, points, stories churned, etc). Yet | not focusing on 'how do I get my customer what they need'. | These tools help devs break down the tasks and tell the end | users 'hey we only have this amount of time so focus!' If | they become about metrics or just randomly skip steps that | depend on each other, you will fail. | pc86 wrote: | Why is it that every criticism of agile/scrum/safe is met | with "well you just weren't really doing it?" | arnvald wrote: | This. You can recognize the agile cult members by how they | respond to failed projects. No matter why they project | failed they always say "we need to be more agile next | time". | mLuby wrote: | A general goes to the commander of a group of soldiers and | says "In 3 months, I want them to be able to demo the | "march in formation" feature in front of the big-wigs who | decide whether to give us more funding." | | So the commander says "Yes General, we'll do _Drills(tm)_ | to make it happen. " | | And then the commander writes down "Do drills" on a TODO | list, gives presentations to the soldiers about the | importance of drills, and maybe even hires a certified | Drill Sergeant. | | But the commander and soldiers never actually _do_ drills. | They clean their rifles, practice shooting, and do other | soldiery things, but no drilling. | | 3 months later, surprise surprise, the soldiers walk all | over themselves at the big parade, the general is angry, | and the commander is confused why _simply talking_ about | drilling didn 't work. | Jensson wrote: | But lots of developers actually hates Scrum even when | done correctly. The problem is that Scrum is very rigid, | it tells you how long your development cycle should be, | what your meetings should look like etc. They'd prefer to | just do what needs done, have the meetings that needs to | be had, deliver features when ready rather than have | arbitrary deadlines (sprints) etc. I understand that many | developers loves having that rigid process since it is | easy to just go and do your work without thinking about | the bigger picture, but lots of people wants to do the | other parts and feel constrained by Scrum. | | And no, "adapting the process for your needs" doesn't | work. The problem is having the process mandating | meetings and timelines in the first place. If you just do | everything freeform as these people wants then it isn't | Scrum. | regularfry wrote: | That's a far stricter presentation of Scrum than it | deserves. The scrum guide doesn't prescribe a sprint | length any more specifically than "less than a month"; it | doesn't say "you can only deploy once a sprint". | | Now, it might be that some people selling Scrum have Very | Specific Views about some of these things, but _that 's | not Scrum either_. | danparsonson wrote: | By your analogy, the purpose of doing Scrum (drills) is | to get better at doing Scrum (parading) rather than doing | actual work (soldiery things) - which I think pretty | accurately sums up my experience with it. | falcor84 wrote: | As I understand the analogy, the purpose of scrum (and | particularly reporting), similar to the purpose of | parading, is to demonstrate that you have in front of you | a large group of individuals trained to work in an | organized, consistent and predictable way. The | implication is that if given any other "somewhat similar" | task, this group would be able to perform that task in a | similarly organized manner too. The choice of what the | task should actually be is then left to someone on a | higher pay grade. | foobiekr wrote: | But this isn't actually what happens when agile and | similar have gone wrong in my direct experience and the | parent poster would note that this is the same kind of | general "no true Scotsman" response to "it didn't work" | that you get from self-help gurus. The system _always_ | works, all failures are that you did it wrong. | spaetzleesser wrote: | "Senior leaders sat with devs, started talking to everyone | about their priorities - people we had never seen before we | started doing PI events" | | Pretty much every process will work successfully if everybody | participates in good faith. I don't think SAFe has special | properties that people honestly work together. For example in | my company it would just create a new bureaucratic nightmare | where we would hire even more managers, project managers and | consultants while senior leadership still would never talk to | the lower ranks. | arcbyte wrote: | SAFe has roles. If you don't have people doing those roles, | you're not doing SAFe. If you have people doing roles that | aren't in SAFe, you're not doing SAFe. It's really quite | simple and I don't understand the pushback. Do it or don't, | but trash it if you didn't actually do it. | rusk wrote: | > The idea an "agile enterprise" is intrinsically absurd. Teams | are agile not companies | | I'm really not sure what you are basing this on. Agile, as I'm | familiar with it is framed in terms of lean management which is | a well established approach to running business, exemplified by | Toyota. Now you can debate the suitabilities of this and the | effectiveness til the cows come home, just as you can with | agile and scrum etc but it isn't accurate to say that there | aren't a lot of businesses that aspire to the lean approach. | romanhn wrote: | My sole experience in Big Tech consists of Facebook and the post | more or less matches what I saw there. It seems to me, though, | that the author views "no process" from a very positive lens, | with no discussion of negatives. Like how at FB so many teams use | spreadsheets to track their work (sometimes multiple spreadsheets | per team, sometimes no tracking at all). There is some internal | tooling, which is quite basic and at the time I was there it got | deprecated without the replacement being finished yet. Whatever | you say about JIRA, it can handle complex projects way better | than a spreadsheet. | | My biggest issue with the whole thing, however, boiled down to | the set of incentives that centered around individual | performance. You see, the teams weren't _teams_ per se, but a | collection of individuals working on their own projects, | sometimes related to those of other teammates, sometimes not. A | team-oriented process like Scrum or Kanban cannot survive in an | environment where every person is optimizing every decision for | their advancement/bonus/whatever. There's some exaggeration here, | but I definitely saw a lot of this at FB. Having come from a | company with high-functioning Scrum and Kanban teams that worked | together to achieve a common goal, I'd choose that any day, JIRA | or not. | | This is obviously a single example and many of the issues were | Facebook-specific. But I bet there are other, not so positive, | sides to the "no process" story at the rest of the companies. | | Note I'm not claiming that the Agile processes are by definition | good. I've seen plenty of bad implementations as well. At the end | of the day, every group of humans is different and may require a | different process (or no process at all) to maximize their | success. What I'm suspicious of is the "every team picks their | own process" claim, having seen company-set norms exerting enough | force to make deviations from the common pattern rather painful | and counter-cultural. | modeless wrote: | > Whatever you say about JIRA, it can handle complex projects | way better than a spreadsheet. | | Frankly I have had a much better experience on teams that | tracked work in spreadsheets than teams that tracked work in | JIRA. Like it's not even close. | paxys wrote: | Funny that you mention spreadsheets. When I worked at Microsoft | my entire business unit (multiple thousands of engineers, | managers, PMs) exclusively used Excel for project management. | Clean UI, filters, data rules, conditional formatting, | validations, pivot tables..it was the absolute best. And with | Excel data tools it was all hooked up to a central database | (TFS) for live sync/updates. | | Now I use Jira and hate every second of it. | underdeserver wrote: | This matches my experience at Google. | | Scrum/Agile tells you to split up a project into well defined | tasks to be done simultaneously by multiple people. | | That's counterproductive if, come perf, you need to show that | _you_ completed the project, and distinguish your contribution | from others '. | fredliu wrote: | Very interesting, do you have any examples of how FB manages | long term (2+ years out) project that involves 100+ Engineers? | Are those 100+ engineers all "individuals working on their own | project"? | romanhn wrote: | +1 to everything simplyaccont said. Long term projects were a | tough beast to manage given the short-term incentives. | Usually those got done by breaking them up into milestones | and hitting those. That said, my general impression (as a | first-level manager who sat in on calibrations) was that | unless you move some serious metrics in those milestones, it | would be difficult to exceed expectations and much of the | upper management encouragement for long-term projects was | mostly empty air due to the 6-month performance cycle. | | That said, large cross-org projects certainly do exist. To | answer your specific question, there would normally be some | sort of a lead on the whole project, tech lead or PM lead or, | often, a pair of those. They would meet regularly with leads | of various sub-areas, organized similarly, and ensure things | line up properly. Now repeat recursively until you get down | to team level, where there might be a tech lead, or perhaps | just a senior engineer working with a few non-seniors on | their portion of the larger initiative. At this point this | would get broken down into individual projects that each | person owns and is accountable for. Tech lead may or may not | contribute code to this project, they (and their team at | large) might be involved in a bunch of parallel initiatives | that often don't have much to do with each other, other than | the product scope the team owns. Things like daily stand-ups | don't work when everybody has their own work stream (and | often multiple streams at that). | | Hope this clarifies. The setup works for certain types of | personalities, but I found it to be a very individualistic | culture that I didn't particularly enjoy. | simplyaccont wrote: | I worked at FB for a while, and the problem with long term | projects were that they were long term. In FB you need twice | a year to make self review that shows what kind of impact you | created during last 6 months (and based on this you are | rated, raises, refreshers, etc). In long term projects impact | might be only at the end of project, which leaves you | "impactless" for a long-long time. Because of this people | didn't really want to join any long term projects. | | While I was there management was trying to resolve this | situation and transmit message that long term projects are | impactfull and important (and strategic to company), yet they | couldn't answer question of how impact should be calculated | every 6 months. | | Maybe by now they came up with some formula or something | vinay_ys wrote: | Biggest difference between big tech companies and smaller | companies is the sense of urgency to ship something to market | and the time scale for that urgency. Bigger companies have | lesser pressure to ship things too early and have slower | (larger) time scales for product release cycles. | | Both in enterprise space or in consumer space, smaller | companies are on a much more rushed timeline, for varied | reasons including but not limited to financial situation of the | company. | | Bigger companies can afford to build more slowly. This affects | how the company plans and executes as well as rewards | performance. | | In a smaller company, when a complex thing has to be shipped on | a shorter time scale, a lot of divide and conquer and quick | coordination across large number of contributors is required. | This is a necessity. | | In a larger company, deep complex things are built by very | small teams or just individuals over a relatively prolonged | time. Individual engineers prefer to keep chiseling away at a | particular problem until they can showcase a significant impact | with high difficulty/complexity of the problem/solution. That's | the consequence of individualistic performance measurement | culture. | | Both cultures have pros/cons and there are rotten extremes in | both. | shepherdjerred wrote: | I had the same experience at AWS. A team of siloed engineers | working on projects for the same product, with very little | collaboration. Projects were tracked in spreadsheets. Time | estimates were created out of thin air to meet the desired | (impossible) deadline. | dboreham wrote: | This kind of mass delusion has been pretty much de rigueur my | entire career (decades): | | Software is typically quite hard and mostly unknown at the | beginning of a project. Most of the hard work is figuring out | the things that weren't known. It's a learning/discovery | experience. It's essentially impossible to predict how long | that activity will take. The further out in time you | consider, the less likely you'll have much of any clue about | the subtasks to be done. And of course in the meantime the | participants likely aren't even working close to 50% of their | time on the new project -- instead they're fixing the bugs | and technical debt in the last project. | | And yet, the "stakeholders" simply wouldn't accept any | narrative like the real one (we kind of have an idea how to | do this but we're going to figure it out as we go and it'll | be difficult and unpredictable). They'd go hire another bunch | of folks who are willing to salute the flag. So instead we | pretend that what we're doing is predicable and plannable, | like building a bridge that's a bit longer or shorter than | the last 10 bridges that we built. | | The stakeholders probably have a pretty good idea that the | developers are making it up as they go. But everyone behaves | as if the reactor isn't on fire. | mempko wrote: | Alternative title: "Big Tech's Curious Absence of Innovation". | | Am I the only one who thinks Big Tech is slow at shipping? | WJW wrote: | Compared to who? Two-person startups can be faster yes, but all | the Big Tech companies are legit racecars compared to (say) a | bank or a pharmaceutical companie. | | Also, shipping fast and actually innovating are not the same. | wittycardio wrote: | Yes you are because they ship an insane quantity of products | with very high quality. I'm guessing you're looking to justify | the existence of scrum? | HeroOfAges wrote: | A lot of large companies in banking or insurance for example, | don't understand or seem to realize they are going to have to | execute as if they are tech companies. ___________________________________________________________________ (page generated 2021-09-27 23:01 UTC)