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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Microsoft Word for Windows 1.0 Postmortem (1989) [pdf]

235 点作者 pauldix超过 6 年前

21 条评论

sytelus超过 6 年前
This is quite a treasure trove of data for Word 1.0:<p>- 55 man years<p>- 38 man years by full time employees (FTEs)<p>- 7000 LOC&#x2F;yr code written per FTE<p>- product + tools = 347 KLOC<p>- 12,511 bugs, 9377 deemed fixable<p>- 1197 bugs postponed (13% of that were fixable)<p>- 247 bugs&#x2F;yr fixed per FTE<p>- 38 bugs&#x2F;KLOC<p>- Total 5 yrs (1st yr just 1 person, last yr had 13 max, other yrs had 10 avg)<p>It is quite amazing that a young company allowed such a long running project and kept at it despite of many schedule misses for 5 years. This is now almost never observed even in resource rich mega corps.<p>Also it seems developer productivity and bug count per KLOC has more or less remained same all these years. I haven&#x27;t spent much time on researching this but if its true then I wonder what we gained out of improvements in languages and other development infrastructure? May be perhaps ability to scale to teams of 100s of developers per project totalling million KLOC? Interestingly World 1.0 team never went above 13 people despite of so many delays - may be because it was hard to scale using infrastructure available at the time (for example, no OOP)? Regardless the fact that average developer productivity in terms of KLOC and bugs&#x2F;KLOC has remained fairly constant is very interesting.
评论 #18768715 未加载
评论 #18768700 未加载
评论 #18773259 未加载
评论 #18769009 未加载
jasim超过 6 年前
Everything is different today, yet nothing is. A quote from the report:<p>The methods of scheduling used were fatally flawed. A schedule should be considered a tool used to predict a ship date, it should not be considered a contract by development. Because there was so much pressure to meet the schedule, development got into a mode which Chris Mason refers to as &quot;infinite defects&quot;.<p>Developers get credit every time they can check a feature off, so they are more inclined to mark off their current feature and go on even though it really is not done. There was a prevailing attitude of the &quot;testers will find it&quot; when thinking about potential bugs in code being developed. In many cases they did find it, and that is what caused our stabilization phase to grow from the expected 3 months (which is a pretty random number anyway), to 13 months.<p>Because every task was cut to the bare minimum, performance work that should have been done was neglected until the very end of the project, reducing what we could do in a reasonable amount of time.
评论 #18770512 未加载
pauldix超过 6 年前
I thought this was a super interesting read. Despite the year, so many of the problems are the exact same. This project was massively late. Development went on for five years and they always thought they were a year or less away from shipping. My favorite section is on Schedule Analysis. Particularly this quote:<p>&quot;A schedule should be considered a tool to predict a ship date, it should not be considered a contract by development.&quot;
评论 #18767133 未加载
评论 #18768290 未加载
pjc50超过 6 年前
The little sticker on the first page of the memo indicates that we&#x27;re able to read this because it&#x27;s part of the <i>Comes V Microsoft</i> antitrust litigation. See <a href="http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;</a><p>Perhaps a good time to remember not to put things in writing at work (this includes Slack) that you wouldn&#x27;t want seen in exhibits for the prosecution.<p>I browsed around randomly (the exhibits are untitled) and found <a href="http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;011607&#x2F;0000&#x2F;PX00697.pdf" rel="nofollow">http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;011607&#x2F;0000&#x2F;PX00697.pdf</a> : &quot;we have sorted criticisms of Microsoft into three categories: lying, cheating, and arrogance&quot; (to Ballmer)<p><a href="http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;011607&#x2F;0000&#x2F;PX00764.pdf" rel="nofollow">http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;011607&#x2F;0000&#x2F;PX00764.pdf</a> : angry letter from Borland<p><a href="http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;011607&#x2F;0000&#x2F;PX00859.pdf" rel="nofollow">http:&#x2F;&#x2F;iowa.gotthefacts.org&#x2F;011607&#x2F;0000&#x2F;PX00859.pdf</a> : competitive analysis memo versus PenOS, perhaps the first company to produce what would be recognisable as an iPad ancestor. In 1991.
评论 #18770434 未加载
评论 #18769105 未加载
评论 #18769170 未加载
评论 #18769658 未加载
jmiserez超过 6 年前
I find the snippet on CRLF funny. Even Microsoft didn&#x27;t like them!<p>&gt;<i>In Opus paragraph marks are represented by two characters (carriage return-line feed) except for section marks which are only one character (chSect) and possibly other format files (Unix files with only line feeds and Mac files with only carriage returns). In Mac code all paragraphs end with a single character. Our model caused many problems and complicated code on top of the complications arising from being different from Mac Word.</i>
评论 #18768969 未加载
shafte超过 6 年前
This is a great piece of software development history! Very interesting to see what things the industry seems to have improved on (somewhat) and what things we still struggle with.<p>Things we have improved:<p>- Developers are generally expected to be responsible for testing (and now operating) code.<p>- Code reviews and ownership are common practice.<p>- Distinctions between prototype&#x2F;development&#x2F;bugfixing stages are no longer strictly enforced.<p>Things that we still struggle with: - Overspecialization&#x2F;knowledge &quot;siloing&quot;, and low bus factors generally.<p>- Navigating the tradeoffs between re-using existing solutions vs. building your own.
评论 #18772481 未加载
namdnay超过 6 年前
Very interesting, thanks! Does anyone know what exactly the &quot;programmer assistants&quot; did? It sounds like a job that was left by the side of the road of technological progress
评论 #18769952 未加载
评论 #18769695 未加载
评论 #18772272 未加载
krylon超过 6 年前
In Fred Moody&#x27;s &quot;I Sing The Body Electronic&quot;[0], there is a passage where the author gets to read such postmortem documents and is surprised by the brutal honesty, but does not give any quotes. Now I see what he meant.<p>[0] which I highly recommend, btw
评论 #18770080 未加载
frou_dh超过 6 年前
It&#x27;s wild that shops in the 80s were already taking application development more seriously than some shops are capable of doing in the present day.
评论 #18769238 未加载
评论 #18769074 未加载
gheese超过 6 年前
Interesting how we drill in the idea that postmortems ought to be blame free. Not here.
评论 #18770183 未加载
评论 #18769327 未加载
评论 #18768039 未加载
评论 #18768096 未加载
userbinator超过 6 年前
MS released the source code for version 1.1a of this application:<p><a href="http:&#x2F;&#x2F;www.computerhistory.org&#x2F;atchm&#x2F;microsoft-word-for-windows-1-1a-source-code&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.computerhistory.org&#x2F;atchm&#x2F;microsoft-word-for-wind...</a><p>(You can find copies scattered around GitHub and elsewhere too.)
ptaipale超过 6 年前
Reading this, it is interesting that Word for Windows 1.0 was usable at all. But I did use it quite a lot. It had problems, but generally, the &quot;save often, each time with a different name&quot; enabled one to get good results in editing documents.
orf超过 6 年前
Shout out to Peter Jackson, a Junior member of the team who was made both Technical and Project lead by Jeff.<p>Imagine that: one day Jeff bounces in and decrees you, an inexperienced junior dev, now have to do not one but <i>two</i> lead jobs at once.
评论 #18772847 未加载
rusanu超过 6 年前
Was the post-mortem itself typed in Word?
Tempest1981超过 6 年前
Was Bryan&#x27;s illness related to the stressful environment? If so, interesting that he later returned to be Project Lead, esp when he was &quot;better, but not well&quot;
roland35超过 6 年前
One interesting thought, 7 KLOC per FTE&#x2F;year works out to about 28 lines of code per work day! It does not seem like much until you realize each line of code requires integration, testing, bug fixing, and documentation if you are lucky!<p>I think it would be good for more organizations to use data like this to set realistic schedules because it always takes longer than you would think you need. Luckily with tools like git this is much easier.
评论 #18772181 未加载
评论 #18770055 未加载
Tempest1981超过 6 年前
&quot;Peter continually experimented with strategies to improve morale ... But the amount of administrative overhead ... and the distractions of going from one to the next probably did more damage than good.&quot;<p>I know this feeling - watching someone try to treat the symptom (stress, burnout), without addressing the root cause.<p>But knowing that the root cause is a systematic issue (very hard to fix), what can a project lead do to help morale and the team?
cheschire超过 6 年前
I find it interesting that even though they knew that they were building a multi-platform product, they insisted on inheriting CRLF from DOS anyways, knowing full well that it created issues. That little decision he described as a failure painted a good picture for me.
评论 #18769049 未加载
boudewijnrempt超过 6 年前
I wonder how this pdf was produced... Word for Windows 1.0 wouldn&#x27;t have been able to do those tables.
iheartpotatoes超过 6 年前
Still better than Word 2017. ;) I mean, come on, it still screws up fonts on macOS and it&#x27;s 30+ years old?!?
antoineMoPa超过 6 年前
So much frustration could have been avoided by just using LaTeX.
评论 #18768385 未加载
评论 #18771055 未加载
评论 #18772498 未加载