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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

He was fired after writing this article

12 点作者 alexgotoi大约 8 年前

3 条评论

djklanac大约 8 年前
I've spent my career living in sales and engineering camps. I've managed whole sales organizations and written full applications from the ground up. I could not disagree more with the author that time estimates should be eliminated. The business does not exist without revenue, and revenue is less likely to be retained (customers) or acquired (new customers) when the business is unable to anticipate product delivery timelines. Think about all of the other business functions that key their todos and deadlines off of a product release. There is also the question of accountability. I'm intrinsically motivated to be productive, but even I value knowing if I am tracking well on a burn down chart. It gives me daily insight into whether or not I should communicate a need to trim scope or coordinate a deadline change with the other business functions if scope can't be trimmed. Kanban is awesome for bug fixes that are hard to anticipate, but any dev worth their salt should be able to offer a time estimate. If something happens, then communicate why the estimate has to change and keep incorporating the lessons learned from into future estimates.
评论 #14214176 未加载
评论 #14222098 未加载
detaro大约 8 年前
previously: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14209141" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14209141</a> (authors gofundme campaign)
gloverkcn大约 8 年前
I&#x27;ll talk about some counter points to the article. I don&#x27;t mean to rustle feathers, but there are a couple of points I take issue with.<p>YAGNI&#x2F;KISS are the two hardest concepts for developers to internalize. Ignoring them creates the brutally painful legacy systems we have to maintain today.<p>Requirements and feature priorities change all the time. I think building an over engineered foundation is always a terrible idea. Complex things are not necessarily better. You shouldn&#x27;t be building frameworks or platforms. You should be building products. A framework or platform may fall out of your efforts, but it shouldn&#x27;t be the goal. If you build a framework for the future, then you are wasting effort on a future that probably won&#x27;t come. When the priorities change then every extra line of code becomes technical debt that the team has to work against. Now you have to have sprints to fix it. And you&#x27;ll blame business for changing their minds and wasting your effort. That&#x27;s not agile.<p>Shifting to Timelines.<p>Timelines are important because development, especially in larger organizations, does not work in a vacuum. Marketing, training, sales, customer support, implementations, existing customers, are all impacted by development releases. This impacts accounting&#x27;s ability to plan for expenses or revenue. Things like, do we go to show X and plan for a big release blitz or not. Do we hire and prepare for a big lead generation campaign this quarter or the next. We have Y amount of revenue if we can get the release out. Is that revenue coming in now, or at the end of the year. We in technology are usually oblivious to these issues, but we shouldn&#x27;t be. If we are asking everyone to understand our constraints, then we should understand theirs.<p>If development takes the stance &quot;You&#x27;ll get it when it&#x27;s done&quot;, then it&#x27;s really hard for everyone else to do their jobs.<p>The core of the friction is resource constraints. You can&#x27;t add bodies and get more productivity quickly, so for a given release you are usually stuck with the existing team +&#x2F;- a small percentage.<p>The only dials left are time and feature set. Good orgs will as a group adjust both. Bad orgs will set both in stone and throw rocks.<p>This is why good agile is so important. The original concept of agile, not the &quot;process in a box&quot;. I&#x27;ll copy the tenets here:<p>Individuals and interactions over processes and tools<p>Working software over comprehensive documentation<p>Customer collaboration over contract negotiation<p>Responding to change over following a plan<p>If you are building a platform&#x2F;framework instead of delivering features then the dev team is prioritizng the plan over responding to change.<p>A good group will establish the MVF (minimum viable feature set). They will do so based on the needs of the company; sales opportunities, product vision (by an industry expert), operational needs (customer support tools, et al.), and technical debt management.<p>The MVF&#x2F;MVP is not the place for business to include every bell and whistle, and not the place for development to build a MOAA (mother of all archtectures).<p>The most critical items are delivered first and readied for release. Then other features can fill in and enhance the big release date. If development is able to churn out features then marketing can pick the point where they want a formal &quot;release&quot; with fan fare.<p>All that said. It sucks his contract was cut. There might have been other issues and this was the last straw, or the company might feel he was airing dirty laundry, or it he was cut for something completely unrelated.