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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

My Response to “Are we overcomplicating software development?”

94 点作者 feyn超过 8 年前

12 条评论

agentultra超过 8 年前
&quot;Process,&quot; is the answer to the question, &quot;how do we get a team of talented engineers to design and implement software together?&quot;<p>The answer to what should that process be? I&#x27;d look to the SWEBOK[0] for an introduction to the state of the art.<p>As for the question at stake here... let me use the words of someone much smarter than myself:<p>&gt; <i>Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.</i><p>&gt; <i>Dijkstra (1984) On the nature of Computing Science (EWD896)</i><p>If you don&#x27;t appreciate the true difficulty of programming you&#x27;re bound to create problems and spend most of the rest of your time debugging them later on. If your chief motivation is to sell a software product or service powered by software then it behooves you to create complexity. It seems more impressive when you can&#x27;t explain why some component or feature doesn&#x27;t work in a single sentence. You just want to control that complexity enough so that you can maintain the illusion of order.<p>If you want to achieve simplicity you have to work at it. It&#x27;s hard and doesn&#x27;t come for free. You really have to think. There&#x27;s no way around that.<p>[0] <a href="https:&#x2F;&#x2F;www.computer.org&#x2F;web&#x2F;swebok&#x2F;index;jsessionid=306e197849715725b82e977c6b54" rel="nofollow">https:&#x2F;&#x2F;www.computer.org&#x2F;web&#x2F;swebok&#x2F;index;jsessionid=306e197...</a>
评论 #13429663 未加载
评论 #13430702 未加载
mindcrime超过 8 年前
(in regards to the original post that started this)<p>I could rant for hours about how so many misuse the term &quot;Agile&quot; and the misunderstanding the idea(s) behind being agile. But I&#x27;m at a point where I almost don&#x27;t care anymore. The use of &quot;Agile&quot; as though it describes a specific, prescriptive methodology is so ubiquitous that it&#x27;s almost impossible to talk about the subject.<p>Let me just say this... go read the Agile Manifesto before issuing any criticism of &quot;Agile&quot; and repeat this 10 times - &quot;Agile is NOT a methodology&quot;.<p>Scrum is a methodology. Crystal is a methodology. RUP is a methodology. XP is a methodology. OpenUP is a methodology. TSP is a methodology. One or more of those methodologies may be &quot;agile&quot;, but &quot;Agile&quot; itself is NOT a methodology.
评论 #13436668 未加载
评论 #13429820 未加载
评论 #13430168 未加载
评论 #13431077 未加载
Analemma_超过 8 年前
The point about &quot;Agile the philosophy&quot; being better than &quot;Agile the practice&quot; seems like a red herring to me, since so few get &quot;Agile the philosophy&quot; right. It&#x27;s the same way I feel about things like HATEOAS: maybe it&#x27;s good as a Platonic ideal, but if no one is reaching that ideal, then how useful is it really? There need to be suggestions that we can <i>actually</i> put into practice.
评论 #13429571 未加载
评论 #13429271 未加载
nroach超过 8 年前
Why does this need its own thread? (Other than ego-stroking the OP) Seems like any response could be in the main thread or linked from there rather than splitting the discussion.
评论 #13429783 未加载
评论 #13430199 未加载
评论 #13429717 未加载
chrisbolt超过 8 年前
Response to this: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13426896" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13426896</a>
ChicagoDave超过 8 年前
Cloud DevOps is complex, but we&#x27;re just moving on-prem complexities and hardware complexities to the cloud, so it&#x27;s a fair trade.<p>Microservices, when done properly, are significantly less expensive than traditional service layers.<p>Continuous Integration is one of the greatest improvements in software development.
评论 #13430026 未加载
sopooneo超过 8 年前
I agree with a lot of this, but I think there is a single correct answer for the best way to first learn about the &quot;Agile Philosophy&quot;: <a href="http:&#x2F;&#x2F;agilemanifesto.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;agilemanifesto.org&#x2F;</a>
评论 #13429779 未加载
BerislavLopac超过 8 年前
I upvoted it at &quot;Microservices are a concept, not an implementation.&quot;
评论 #13430149 未加载
评论 #13430355 未加载
zpallin超过 8 年前
I agree with ian0&#x27;s perspective, but I am compelled by Neil. I think we can learn a lot of patience about the state of software development from this article.
评论 #13429581 未加载
bluetwo超过 8 年前
Yes, Very much so. Could not agree with the author more.
评论 #13429598 未加载
gandutraveler超过 8 年前
OP vs this response is great example of gaps in &quot;actual usage&quot; vs concepts
keithnz超过 8 年前
I&#x27;m not sure this article is really saying too much at all. I started with extreme programming back in 99 (after following the proponents and all the heated discussions on the most brilliant OTUG email list)<p>Many many times I have seen this kind of question, &quot;Aren&#x27;t we just making this too complicated?&quot;<p>and the response being &quot;It&#x27;s not complicated, if you misunderstand X Y or Z you are probably going wrong&quot;<p>My observation is, many things of the things we leverage in the software world are answers to problems. Some of those answers seem so good, and work brilliantly when combined with other answers we package a set of answers as a &quot;process &#x2F; methodology&quot; and advocate it.<p>But sometimes for some people the answers don&#x27;t really match the problem, or need adapting to the problems at hand. Now, without good insight into the original problems, then YES it will be &quot;too complicated&quot;. Any time you do things for problems you don&#x27;t really have it is<p>A phrase that was thrown around in the early days of XP was &quot;Brain Engaged&quot;, to try and highlight that you don&#x27;t blindly do things, you need to be aware why you are doing something and adapt as necessary.<p>However! If someone says &quot;hey this new new way of approaching design is awesome&quot;, and it piques your interest, You <i>should</i> blindly learn&#x2F;try that something new and debug it till you get an understanding of why it was considered awesome. At that point you can brain engage it as needed.<p>So back to the original question, yes, we do make things too complicated and we shouldn&#x27;t do things that don&#x27;t make sense. It may not make sense because we have the knowledge and experience to know it doesn&#x27;t, or it doesn&#x27;t make sense because we are too inexperienced. Both are valid reasons to stop and start asking what is going wrong? why isn&#x27;t this working? In the world of &quot;Lean&quot; this is the idea of &quot;Stop the line&quot;, sort things out, start moving forward again, even if slowly at first.<p>All that doesn&#x27;t mean you should keep things really basic without changing, it is very important to know how to adopt ideas for doing things better and that actually contribute to things we care about.<p>Also important to try not to become a cynic, eg, &quot;tried microservices, they suck, OO sucks, imperative sucks, VB sucks, NoSQl sucks&quot;. When we become cynical of something it becomes very hard to be brain engaged in regards to them. Also the opposite is true, becoming enamoured with something can limit our brain engagement also like &quot;Functional program all the things!, unit test all the things!, scale all the things! deep learn all the things! distribute all the things! Reactive all the things! things! the all Forth&quot;
评论 #13430718 未加载