如果您有一些非技术人员来管理您的软件开发团队,那么您是否希望他们读一本书以更好地了解流程?
例如,在大多数工作中,您可以很好地估计任务将花费多长时间。但是在开发过程中,重点是您必须解决问题,这需要花费未知的时间。这很难沟通。
您知道的任何信息都能很好地解释这一点吗?
如果您有一些非技术人员来管理您的软件开发团队,那么您是否希望他们读一本书以更好地了解流程?
例如,在大多数工作中,您可以很好地估计任务将花费多长时间。但是在开发过程中,重点是您必须解决问题,这需要花费未知的时间。这很难沟通。
您知道的任何信息都能很好地解释这一点吗?
Answers:
“ Peopleware ”和“ Mythical Man Month ”将是几个经典之作,尽管我不确定管理者对这两本书的阅读程度如何,因为它们可能被认为是古老的。
对于软件流程和项目管理,我必须推荐史蒂夫·麦康奈尔(Steve McConnell)的《快速开发:驯服野性软件时间表和软件项目生存指南》。这些书讨论的主题从管理软件项目中的经典错误到管理风险,再到最佳实践的解释以及何时适当地应用这些主题。
吉姆·麦卡锡(Jim McCarthy)的《软件开发动力学》还提供了一些有关软件团队工作方式的有趣见解,并根据实际案例提供了优化软件项目的提示和技巧。
不是书,但是我成功地将(非常聪明的)非技术经理引荐给Joel on Software。
了解软件工程的事实和谬误。
编辑
这本书很容易阅读,也很容易抄录其中的段落以进行管理。它从一无所知的角度着眼于软件开发问题。当时,我遇到了与OP相似的问题,并且与经理和本书一起工作,我设法说服他,我需要更多的时间和资源来完成任务。
但是,我最近在那本书中看到很多东西相互矛盾。和以往一样,我不建议任何人在社会研究中阅读任何东西。这太令人讨厌了,每天都在变化。
完善的软件:关于测试的其他幻想应该是您获得的另一本书。
从序言开始,这里讨论了一些问题:
“为什么它似乎让我们放慢了速度,为什么我们还要打扰测试呢?
人们为什么不能正确地构建软件,所以不需要测试?
我们是否必须测试所有内容?
为什么不只是测试所有内容?
是什么使测试如此困难?
为什么测试需要这么长时间?
完善的软件是否可能?
我们为什么不能只接受一些错误?”
在软件开发过程中,我必须选择Andy Hunt和Dave Thomas撰写的“实用程序员:从旅途到大师”。它充满了有用的知识,通常需要大量实际的编程经验来学习。它也与编程语言无关,并且大多数情况下都易于理解。
在估算方面,务实的程序员对此进行了简短的介绍,但Fred P. Brooks撰写的经典的“ The Mythical Man Month”将值得一读。一些项目示例似乎有些过时,但是许多想法今天仍然正确。