TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why I No Longer Want to Write Software for Companies That I Don't Own

76 点作者 externalreality将近 6 年前
I&#x27;ll start by saying &quot;Agile Project Management Is Farce and does more harm than good&quot;. I&#x27;ve been researching tech turnover for a bit now, with a focus on programmer turnover, and with no reservations I can say that so-called Agile project management is a leading cause.<p>The goal of Agile project management is to make software development a more customer-centric and more iterative. This is a noble goal. Agile however, whether intentionally or unintentionally, has had a secondary effect of robbing developers of job satisfaction.<p>Here let me give you an example. About 10 years ago I worked with somewhat of an influential in the Ruby community. We both worked at an &quot;Agile&quot; software consultancy. After finishing a task on our project work board I remember watching as that developer went back to claim the task the followed logically from what he just finished. He was shocked when he saw that the task&#x27;s card has been claimed by another. He then said, right there in the office, quite loudly and openly &quot;I am not getting the satisfaction of completing a thing when working like this.&quot;<p>So Agile robs developers of sense of satisfaction of ownership and completion. Well if the developer is being robbed of this satisfaction then to whom is this satisfaction being transferred? Well, project managers. Who get rewarded for the &quot;velocity&quot; of the team, which is more of a product of the hard work and less of a product of task management.<p>So developers have three things making them want out:<p>1) No ownership satisfaction 2) No completion satisfaction 3) Someone else taking credit for their work<p>Ok, this are not the only reasons for developer turn over but this is a big one. There are others like toxic environments, Title VII discrimination, and so on.<p>It can be denied that 1.5 - 2.0 year developer turnover at tech companies is pretty woeful. We are dropping the ball somewhere and its hurting business bottom lines and developer careers.

22 条评论

SamWhited将近 6 年前
I completely agree; it also has the effect of making software worse, as far as I can tell. At the last few mid-to-large sized tech companies I&#x27;ve worked for I&#x27;ve watched project and engineering managers push hard for more velocity trying to get their bonus. Eventually they start telling people to take shortcuts, or rewarding the developer who gets things done faster but, as an example, doesn&#x27;t write any tests. They then get mad at the other devs who won&#x27;t approve their patches during code review or end up spending their time fixing the bugs in prod created by the developer being rewarded for &quot;moving fast&quot;. The pressure on the managers trickles down and the software ends up being broken.
评论 #20417904 未加载
评论 #20418671 未加载
ngngngng将近 6 年前
I will not work at Agile&#x2F;Scrum shops for similar reasons. Although my primary reason is different. Estimations break the whole process. Most of engineering is discovery work and discovery work can&#x27;t be estimated, leading devs to estimate 10 times what tasks actually take so that they don&#x27;t get in trouble for not finishing tasks on time.<p>I work for a smaller dev team currently and I take a project and finish it A to Z. It is extremely satisfying to have complete individual ownership over a task and we&#x27;ve achieved greater development velocity than I ever thought possible.
评论 #20417924 未加载
评论 #20419483 未加载
cassianoleal将近 6 年前
I have been working in some form of agile methodology or another for years and wouldn&#x27;t have it any other way.<p>It sounds like you&#x27;ve been working: - with toxic people; or - in toxic organisations; or - in immature agile organisations<p>If your ways of working are taking away your job satisfaction, you definitely need to raise that up with the team you work in (like in a standup, retro or just during the day). If it doesn&#x27;t get addressed because the team disagrees, you&#x27;re in the wrong team. If it doesn&#x27;t happen because management disagrees, you&#x27;re in the wrong team.<p>When I say you&#x27;re in the wrong team, I don&#x27;t necessary mean you&#x27;re wrong or the team is wrong - only that you two are not a good fit for each other.
HeyZuess将近 6 年前
&gt; He was shocked when he saw that the task&#x27;s card has been claimed by another.<p>If this is project management, then where is the planning ? This really has nothing to do with Agile, it has to do with planning which is not absent from Agile.<p>&gt; &quot;I am not getting the satisfaction of completing a thing when working like this.&quot;<p>This is a people issue, it&#x27;s very attitude based. Oh someone took my ticket, my work life is horrible. How about 1) talk to the person who took it, 2) talk to someone and explain the reason this should be done a different way (communication something agile highly promotes), 3) go with the flow and move onto something else. Don&#x27;t be a snowflake.<p>&gt; 1) No ownership satisfaction 2) No completion satisfaction<p>I work in a small agile house, and I have much more ownership and involvement in project completion that I have had anywhere else. In fact that is a premise of such methodologies as scrum which time box, and reduce the scope and objectives to things like sprints.<p>&gt; 3) Someone else taking credit for their work<p>I am not sure about this one, but this is consistent of many work environments. Heck I&#x27;ve worked in offices where some egos would take credit for anything.
评论 #20418374 未加载
评论 #20424551 未加载
jay_kyburz将近 6 年前
If you have some ticket system where programmers can just take work, your team is breaking the first rule of Agile.<p><pre><code> Individuals and interactions over processes and tools. </code></pre> A ticket system is a process. Individuals and interactions come first. Programmers talking to one another and being happy is more important than your task database in agile.
评论 #20420115 未加载
KrumpetPirate将近 6 年前
I joined a new project recently after working in a mostly relaxed agile environment for most of my career. I would describe my current project as &quot;Agile at all costs&quot;. No testing, no requirements, just go. Just do. I have to say it&#x27;s created an environment where almost every developer is super unhappy and ultimately producing a sub-par product.<p>I want to go back to just doing good work. Obviously focusing on what the customer needs and wants, but where the engineers have a choice to do something the right way instead of just the fast way.
评论 #20418705 未加载
评论 #20420291 未加载
TheChaplain将近 6 年前
I disagree. To me, Agile is a successful way to work, and I prefer it.<p>Completing a task is where I get my satisfaction, even if it is a part of a larger piece. Also when I see the client try out the new functionality and giving me feedback (positive or negative) on a completed task.<p>Another good point with agile is that I can pick any task I see fit and have the capabilities to complete. I&#x27;m not stuck with a certain part forever, that is awesome and I love it because I get to learn new things.<p>In your anecdote, it seems to me that the person complaining is not really interested in the agile concept and prefers to work the old-fashioned way. That is fine, but unless the workplace have projects that adhere to the waterfall-model that he could work on, maybe he&#x27;s just in the wrong place?
mr-ron将近 6 年前
If the engineer is only getting satisfaction from claiming a closed ticket, and then not getting tickets claimed when they owned the work, then the team is putting values and metrics in the wrong places.<p>Either have multiple people claim a ticket, or change the definition of success from an individual releasing a ticket, to a team releasing a successful ticket.<p>Agile done properly should reward success on the team level. Tickets are rarely one-person affairs. If reward is happening on the individual level, one per ticket, then the usage of Agile is incorrect.
nscalf将近 6 年前
So while I totally agree with this, I have some questions:<p>First off, do you think Agile is better than Waterfall? I personally think that it delivers a product faster, but I&#x27;m not sure if it actually has a macro improvement on the job process. I think waterfall probably addresses your developer-centric issue of satisfaction better than Agile does. I think we may have thrown away too much with the anti-waterfall hatred our field has adopted.<p>Second, what alternative do you propose? I think Agile is a problem, and ultimately a pretty bad process for organizing. The overhead is so expensive. The most effective and efficient my team has ever been was when we just quit Agile and wrote what we had going on up on the white board. And you know what? I&#x27;ve seen this work better than Agile in a wide range of settings. &quot;Self organizing&quot; really seems to be the key, but regardless of the self-proclamations that Agile is self organizing, it really seems to shoot itself in the foot with extra mandatory process.<p>Finally, it seems like all of the good solutions don&#x27;t scale. Do you think this is a problem of trying to scale problem solving? I don&#x27;t think I accept the argument that this is just the cost of working at larger scale, but I haven&#x27;t thought of a good way to keep a team organized and still get work done without an extreme amount of organization and process (Agile) or a really involved team lead&#x2F;product owner---who will slow everyone down by needing a lot of touch points.
评论 #20418666 未加载
评论 #20421631 未加载
sparrish将近 6 年前
Turnover, IMHO, is due to market demand, not satisfaction issues.<p>After 1.5 - 2.0 years, a dev has more skills that are in demand and will gladly jump ship for a better position and&#x2F;or pay elsewhere.
评论 #20417926 未加载
oceanghost将近 6 年前
The problem with agile (in my mind) is it codifies some very bad practices.<p>One, working your developers to death. In every agile environment I&#x27;ve worked in, nobody ever took a day or two to plan, do retrospectives after a sprint. It was always, always, &quot;Get back to work.&quot; I had one job that did weekly sprints every week.<p>Two, it transfers the risk of bad management from management to the team. &quot;Look! Anything can be built by planning in two-week stretches! We can change direction anytime!&quot;
macando将近 6 年前
This just came out:<p>&quot;WEB-BOOK LAUNCH: The deepest dive into our unique way of working. No post-its, no backlogs, no sprints, no stand-ups, no velocity tracking, no agile, no scrum, no roadmaps, none of that. We’ve gone a different way, and now you can too. Read up, Shape Up:&quot;<p><a href="https:&#x2F;&#x2F;basecamp.com&#x2F;shapeup" rel="nofollow">https:&#x2F;&#x2F;basecamp.com&#x2F;shapeup</a>
deedubaya将近 6 年前
Developers are highly paid because their knowledge is highly leveraged. Someone else is benefiting from your application of knowledge by an order of magnitude of what they&#x27;re paying you. Why be the cow when you could be the dairyman?
评论 #20418673 未加载
评论 #20418004 未加载
PdV将近 6 年前
IMHO - agile seems to be easy to learn but hard to master. I think we have tons of advanced beginners engaged in a global cargo cult.<p>Its such wide-spread phenomenon, such that we have an &quot;even more agile&quot; dark manifesto, pointing out the pitfalls in which the agile has fallen (eg. processes &amp; tools) - <a href="http:&#x2F;&#x2F;darkagilemanifesto.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;darkagilemanifesto.org&#x2F;</a> ...and the golden <a href="http:&#x2F;&#x2F;programming-motherfucker.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;programming-motherfucker.com&#x2F;</a> that urges us to just cut out the cancer.
vicnov将近 6 年前
1. Would you work for a company that doesn&#x27;t use agile? 2. Will you hire other engineers? 3. How will you address those issues in your company? 4. Are there companies that successfully addresses these issues?
sethammons将近 6 年前
Satisfaction on our team is by releasing code. The book keeping in ancillary. We operate as a team, and one person (or a pair) might write it, another tests it, and anyone might deploy it.<p>As for capital A Agile leading to turn over, I&#x27;d be interested in seeing the data. Most of what I&#x27;ve read says that employees leave managers.
thecupisblue将近 6 年前
Agile, Waterfall, Shmagile Shmoterfall I say.<p>All these &quot;practices&quot; are just ideas like &quot;hey work in small sprints and deliver on the go&quot; that have been shaped into ideologies and standards we &quot;all need to work within&quot; by the law of averages. If you have a 100 average developers working for your average corp developing software, they need a structure - oh look, here&#x27;s agile - let&#x27;s pay money to people to teach us how to agile (??!? i&#x27;m still confused by this, like are people seriously that dumb?) then force the strict set of guidelines and rules onto everything because thinking outside of the box or working outside the guidelines confuses the averages and introduces chaos. Keeping team small, agile and keeping agile&#x2F;waterfall&#x2F;whatever-silver-bullet bureaucracy out of their way is the solution.<p>We are dropping the ball because we focus on using &quot;standard processes&quot; for the sake of using &quot;standard processes&quot;. The stricter you need to implement the rules and guidelines, the larger the chance something smells in your companies culture.
nerdbaggy将近 6 年前
Those are some of the reasons why I don’t think I would like developing at a large company. Where I work it’s just me and 2 other developers. I don’t own the company but it’s sure satisfying
skybrian将近 6 年前
You tell a story about how one developer at one company was disappointed, but it doesn&#x27;t follow that other people will feel the same way.
codesushi42将近 6 年前
What is agile development? Is it anything more than a buzzword?<p>I have worked in several environments that embraced &quot;agile&quot;. And they were all different, for the most part.<p>The only things they had in common was bad management and negligence of tech debt.
评论 #20418736 未加载
评论 #20418101 未加载
评论 #20417882 未加载
jim_and_derrick将近 6 年前
I&#x27;ve had some good &#x27;agile&#x27; experiences and some bad. We havent always done agile &quot;to a T&quot;, we usually shape and mold it to work for us. However some companies it is very apparent how shit this thing is. We do our company wide sprint review thing with each squad (yeah we copied spotify squad thing). When a PM gets up and says &quot;our squad complete 12&#x2F;12 points&quot; everyone goes fricking nuts like it&#x27;s the best thing ever. What did the squad accomplish? They added some images on a page in our app...<p>I guess overall what i&#x27;ve learned, and this probably applies to a lot of things in life not just software. &quot;Important&quot; (C level, managers etc) act just like my 8 month old daughter. They see things that are new and shiny and they want it, badly. Tech companies see that other tech companies do AGILE, JIRA, all this shit. Those manager types then decide we need to do this ourselves. So you are forced to implement some managerial system that nobody understands. It&#x27;s all crap i tell ya.
davismwfl将近 6 年前
While I agree overall that Agile is not what it is sold as by many, I am troubled some by the way you presented your argument, but not your argument itself I don&#x27;t think.<p>As a CTO&#x2F;Executive, I read from what you wrote: I have a few unhappy engineers but my project is moving faster and more successful. So I&#x27;d say ok, I&#x27;ll work on managing the edge cases.<p>As an engineer who&#x27;s worked in waterfall cycles and almost every iterative cycle you can name, and have designed a few; I think what you meant to highlight was that project managers are claiming work as being more complete then in reality (higher velocity) so they get a pat on the back in the short term but wind up with longer term product problems like maintainability and accountability. Ironically, the two things that engineers like and that help bring job satisfaction.<p>To that I would agree, there has to be a process that is designed around the cadence of the business and the team. And the process must not be fixed or rigid and grow and change as the team does. This is how you keep people around longer. And PM&#x27;s are there to facilitate not dictate or take credit away from engineers. But PMs also deserve credit where credit is due and shouldn&#x27;t be looked upon as the enemy in the engineering cycle, which has always kinda existed but seems to be getting worse at many companies.