TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Professional Software Development

474 pointsby iris-digitalalmost 9 years ago

13 comments

dborehamalmost 9 years ago
I like this book as a means to present the ways people describe how software is developed. However, as I read I&#x27;m itching to annotate it with notes on &quot;what really happens&quot;. I&#x27;ve worked in this business for a few decades now, in various locations and various sizes of companies, including a few that are household names. I have NEVER seen software built on the ground in exactly the ways one sees documented (documented anywhere, not just in this book).<p>A couple of things I don&#x27;t see mentioned (apologies if they&#x27;re in there, I haven&#x27;t read every word):<p>1. Process does (and should) vary tremendously depending on factors including the organization size, organization maturity, market maturity, experience level of the people involved, budget, etc. The book seems to suggest that there&#x27;s a one-process-to-rule-them-all.<p>2. Often there are significant unknowns about a project : unknown technologies, unknown market needs, unknown requirements. Being able to accommodate the unknowns, which can mean not expending effort trying to know something unknowable, is important. The book I think gives an impression of quite confident smooth progress toward project completion that I personally have never observed.<p>Also: The value of Rubber Chickens is not mentioned...
评论 #12081259 未加载
评论 #12081324 未加载
评论 #12082911 未加载
mixmastamykalmost 9 years ago
Author here, writing this book was one of the hardest things I&#x27;ve ever done, and there is seemingly no end to the small issues I&#x27;ve faced (both writing and technical). Would appreciate some feedback to make it as good as it can be, AMA thanks.
评论 #12080968 未加载
评论 #12080073 未加载
评论 #12079988 未加载
评论 #12080272 未加载
评论 #12080191 未加载
评论 #12080946 未加载
评论 #12081632 未加载
评论 #12082592 未加载
评论 #12080679 未加载
DougWebbalmost 9 years ago
In a book like this, I&#x27;d like to see cost estimation mentioned earlier than Chapter 8. I&#x27;d argue that in nearly all software development projects (particularly the ones where this sort of book applies) the cost of implementation is one of the key factors in evaluating requirements. If you put together your requirements without considering their cost, you end up with a project that&#x27;s too expensive to build, and you want to know that during the Requirements Gathering phase, not later on during construction. Even Agile projects need to start out with a rough idea of what&#x27;s being built and a rough idea of what it&#x27;ll cost to build it. Otherwise how does the person funding the project decide whether or not to approve it?<p>Of course, as we all know providing estimates during the requirements phase is very difficult, especially if they&#x27;re treated as hard commitments rather than rough ballparks. Chapter 2 mentions that getting requirements wrong is a key factor in causing software projects to fail; I&#x27;d say that the reason for that is usually because of the implementation costs of the known requirements that were estimated inaccurately or not at all, and the implementation costs of requirements that aren&#x27;t discovered until later. It always comes down to cost; I think it&#x27;s relatively rare for a software project to fail because a requirement turned out to be impossible to implement. (Unless it involves AI. You always have to watch for people trying to sneak in an AI requirement.)
评论 #12081024 未加载
评论 #12081466 未加载
emptybitsalmost 9 years ago
Thanks to the author -- it does like like your labour of love and written with some personality. (That&#x27;s a good thing!) Attractive layout, lots of insets&#x2F;quotes&#x2F;diagrams, and sources. Will read more later.<p>The &quot;Models &amp; Methodologies&quot; chapters looks great. It may become my new &quot;here, read this!&quot; when people ask me &quot;what&#x27;s agile?&quot; or &quot;how else?&quot;<p><a href="http:&#x2F;&#x2F;mixmastamyk.bitbucket.org&#x2F;pro_soft_dev&#x2F;models.html" rel="nofollow">http:&#x2F;&#x2F;mixmastamyk.bitbucket.org&#x2F;pro_soft_dev&#x2F;models.html</a>
评论 #12080181 未加载
Morendilalmost 9 years ago
I&#x27;m disappointed to see a book aimed at &quot;professional&quot; developers continue to spread outdated and debunked information, such as the NIST &quot;study&quot; adduced as evidence for the imperative necessity of &quot;defect cost containment&quot;. See my post on the topic: <a href="https:&#x2F;&#x2F;plus.google.com&#x2F;+LaurentBossavit&#x2F;posts&#x2F;8QLBPXA9miZ" rel="nofollow">https:&#x2F;&#x2F;plus.google.com&#x2F;+LaurentBossavit&#x2F;posts&#x2F;8QLBPXA9miZ</a><p>Or again the Wikipedia page on the history of software engineering, which is frightfully inadequate. <a href="https:&#x2F;&#x2F;plus.google.com&#x2F;+LaurentBossavit&#x2F;posts&#x2F;gpSwoWn4CBK" rel="nofollow">https:&#x2F;&#x2F;plus.google.com&#x2F;+LaurentBossavit&#x2F;posts&#x2F;gpSwoWn4CBK</a><p>I&#x27;ll add my voice to those that have already stated such a book shouldn&#x27;t start by assuming the SDLC as a reference model: it embodies too many of those outdated assumptions. More in that vein in my own book <a href="http:&#x2F;&#x2F;leanpub.com&#x2F;leprechauns" rel="nofollow">http:&#x2F;&#x2F;leanpub.com&#x2F;leprechauns</a>
评论 #12083289 未加载
评论 #12083381 未加载
Achsharalmost 9 years ago
Offtopic: How do I get that github.io type hosting for my own bitbucket account? I didn&#x27;t know it was possible.<p>Edit: It&#x27;s as mixmastamyk says. I created a repo called &#x27;achshar.bitbucket.org&#x27; and it works.
评论 #12080426 未加载
评论 #12080415 未加载
buckbovaalmost 9 years ago
Definitely touch on a lot of topics here. And all looks well organized. It also does look like a laundry list of buzzwords and techspeak.<p>Obviously this wouldn&#x27;t be used to teach anyone any particular topic in detail but to get them familiar with the general concepts&#x2F;steps involved in software dev.<p>Edit:<p>The two books I read that I thought covered these ideas well were Code Complete and Code Craft. But it&#x27;s been about a decade now. Perhaps they&#x27;re too dated.
评论 #12080131 未加载
namiller2almost 9 years ago
Why are you using Joy Division&#x27;s Unknown Pleasures album as the cover of the book?
评论 #12080053 未加载
评论 #12080207 未加载
评论 #12080224 未加载
评论 #12080500 未加载
kennethjiangalmost 9 years ago
Kudos to the author for tackling this huge and controversial topic.<p>Read first several chapters and picked up the impression that the author doesn&#x27;t put enough effort to point out how the processes&#x2F;practices can (and should) be completely different depending on the circumstances. If a startup tries to use the same processes as Google or Facebook, it&#x27;ll be dead in the water. If SpaceX engineers write software the same way as SnapChat does it, we will never see their rockets leaving launch pads.
评论 #12082007 未加载
ascotanalmost 9 years ago
Interesting book. I&#x27;ll take some time to do a read through. A few things that bother me though off the bat:<p>1. Anything that uses the word &#x27;protip&#x27; can not be taken seriously. I think this needs a law. &#x27;The Law Of Silly Programming Memes - Anything using the word &#x27;protip&#x27; cannot be taken seriously&#x27;<p>2. The 800px width format in the world of responsive design gives me pause. Basically this says &#x27;I&#x27;m for mobile - screw you&#x27;. I would hope that a better format for this would be chosen in the future.
评论 #12083946 未加载
nickpsecurityalmost 9 years ago
Here&#x27;s some for you collection given I see some omissions. Cleanroom, always omitted (sighs), is a big one as it was doing agile-like development in 80&#x27;s with code so reliable it was sometimes warrantied. Also one of first, formal methods that didn&#x27;t require a mathematician to use. Fagan&#x27;s Software Inspection Process came before that in the 70&#x27;s. I throw in Praxis and 001 for good measure as they&#x27;re <i>engineered</i> software methods with better results than Cleanroom albeit at higher cost. Leave off plenty of others too constrained for most software development but did prove out in smaller projects. The B Method &amp; Chlipala&#x27;s Certified Programming in Coq are examples if you want to Google around.<p><a href="http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;viewdoc&#x2F;download?doi=10.1.1.88.2667&amp;rep=rep1&amp;type=pdf" rel="nofollow">http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;viewdoc&#x2F;download?doi=10.1.1.88....</a><p>Note: An academic recently combined Cleanroom with Python for some nice results given how high-level Python is. I thought Haskell would be more ideal.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Major_Defect" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Major_Defect</a><p>Note: Describes Fagan process with relevant links.<p><a href="http:&#x2F;&#x2F;www.sis.pitt.edu&#x2F;jjoshi&#x2F;Devsec&#x2F;CorrectnessByConstruction.pdf" rel="nofollow">http:&#x2F;&#x2F;www.sis.pitt.edu&#x2F;jjoshi&#x2F;Devsec&#x2F;CorrectnessByConstruct...</a><p>Note: Altran&#x2F;Praxis Correct by Construction is a modern high-assurance method with numerous successes. Cost a 50% premium for nearly defect-free systems. SPARK Ada is GPL these days.<p><a href="http:&#x2F;&#x2F;htius.com&#x2F;Articles&#x2F;articles.htm" rel="nofollow">http:&#x2F;&#x2F;htius.com&#x2F;Articles&#x2F;articles.htm</a><p>Note: Margaret Hamilton, who helped invent software engineering on Apollo mission, deserves mention for the first tool that automated most of software process. You can spec a whole system... one company specified their whole factory haha... then it semi-automates design then automatically does code, testing, portability, requirements traces, and so on. Guarantees no interface errors, which are 80+% of software faults. Today&#x27;s tools have better notations &amp; performance but still can&#x27;t do all that for general-purpose systems: always a niche.<p><a href="https:&#x2F;&#x2F;www.eiffel.com&#x2F;values&#x2F;design-by-contract&#x2F;introduction&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.eiffel.com&#x2F;values&#x2F;design-by-contract&#x2F;introductio...</a><p>Note: Added Eiffel method to make up for fact that I have little to nothing on OOP given I don&#x27;t use OOP. Meyer et al get credit for a powerful combo of language features and methodology in Eiffel platform with huge impact on software. Specifically, Design-by-Contract has so many benefits that even SPARK and Ada both added it to their languages. Just knocks out all kinds of problems plus can support automated generation of tests and such.<p>So, there&#x27;s you some reading on methods of making robust software that might fit into your book or something else you do. :)
评论 #12082812 未加载
评论 #12084767 未加载
mixmastamykalmost 9 years ago
Thanks all for the great discussion and feedback, I&#x27;ve already incorporated much of it and will continue to improve the weaker sections.
ecesenaalmost 9 years ago
The double icon for external links to youtube|wikipedia|twitter etc. seems superfluous and makes things harder to read.
评论 #12083970 未加载