书名为《人件(原书第三版)》(原书名:Peopleware: Productive Projects and Teams)
是由Tom DeMarco 和Timothy Lister所著的经典书籍。
本书的主要论点在于软件开发不仅仅是技术问题,还涉及到管理、组织文化、人际关系等多个因素。为了取得软件项目的成功,必须重视人员管理、团队合作和项目管理,创造一个有利于创新和高生产力的工作环境。
该书的结构共分为6大部分39章节,每个章节探讨了与软件开发相关的不同方面,包括管理、组织文化、团队合作、创新等。每个章节都以实际案例和实际经验为例子,以支持作者的观点。
该书的目标读者是软件开发人员、软件开发团队领导和项目经理、系统分析师、软件工程专业的学生以及对软件管理更兴趣的人员。该书的应用场景在于软件项目管理、软件开发团队建设、软件开发团队组织文化建设改进、团队合作和沟通等场景。
一个项目的失败,可能是技术导致、也有可能是团队因素导致,也可能两者都有。在实际软件项目开发中,团队成员都是以团队、项目小组的形式来完成任务,因此工作中与人交流、互动是必不可少的,而失败的原因多数在于团队内,人员缺少交互、信息不对称导致的。错误是在所难免的,如果一个团队不允许犯错,那队员必定心存顾虑,尽可能不做容易产生错误的事情,那么团队必将缺乏创新行为,不愿尝试新方法。健康的团队应该是主动的,而不是上级吩咐了做什么,就照做什么。那样的工作方式被动,机械,缺乏活力。我们更应该主动思考,承担责任和工作,未雨绸缪。没有任何一个人是相同的,团队里的成员具有不同的个性。管理者不应该抑制这样的个性,取而代之应该制定一些规范适当约束,但是又预留让他们发挥自己特色,展露锋芒的空间。这属于一种人性化管理,求同存异,兼容并包。
团队的管理者,是一种催化剂。能够促进团队成员互相交流和相处,工作变的有趣和轻松自由。因此,团队的管理者在技术上可以不如队员,但是管理者负责了一件最重要的事情,那就是给团队创造轻松、浓厚的氛围,让大家顺利展开工作。一个项目如何实施,管理者的方向和指导是非常重要的。实施之前,必定需要调研新方法、找到规避一些子任务的方法、阅读相关材料、培训和试错。而且应该将时间多花在思考上、设计上;项目投入越紧张,就越需要时间思考、统筹、安排、设计项目的各个环节(例如:调研、培训、分析、评估、预算、排期、人员安排、交流和验收等);也许无法面面俱到,但是这能避免很多因不足的思考产生的问题。
Google是一家全球知名的科技公司,以鼓励创新和自主性而闻名。公司采用了 “20%时间” 政策,允许员工每周将20%的工作时间用于自主性项目,而不一定是当前的正式任务。Google,员工被鼓励提出新创意和独立项目。举例来说,一名工程师可能提出了一个新的产品概念,但在初期测试中遇到问题。这并没有导致责备,而是鼓励员工继续改进,同时分享问题和学到的教训。此外,Google致力于创造轻松、创新的工作氛围。他们提供休闲设施,如游戏室和休息区,以让员工在工作间隙放松。此外,公司定期举办内部活动和庆祝活动,以增进员工之间的互动和凝聚力。
工作环境的质量直接关系开发者的效率。一般来说,除了新手,经验对产出效率影响不大。反倒是,和身边的人有关;如果周围的人表现好,自身也会自然表现好。这也就是环境同化,好的工作环境真的很重要。好的工作环境:工作空间宽敞、光亮、安静、具有私密性、不容易受到打扰并且具有窗户(不然就像一个牢笼)。一个小组团队最好选取一个独立工作办公空间,只有这样员工才能抛开空间的影响,具有归属感,完全投入到工作中。因此,用于工作环境的开销不失为一项明智决策。如果在最低限度要求的环境上缩减开支,那么可能在其他地方损失或产生额外成本。
在有机的环境里,每一处都是独特的,同时又是协作的,没有一个组成部分会显得格格不入,而是形成一个有机整体。人即是个体的人,又是群体的人。人的个体属性和集体倾向性都得到了认可,才能最大发挥自己的才能。组织的高层,都不会将重心放在管理上,他们一般更多的关注发展方向、市场等;所以管理都会由中层展开,并且形成一个重要的学习中心。对中层管理者来说,是能够很好的相互交流并一起高效融洽地工作。这可以形成一个社区,给团队和团队间带来持续良好的影响。公司搬迁的原因不尽相同。有的只是一场政治交易、或者是盖新楼的机会或者是离老板家近了,亦或者是扩大办公地方了和权力展示。但是,一定要注意到搬迁造成的影响。
为员工提供符合人体工程学的办公家具和工作站,如舒适的椅子、调整高度的桌子和双显示器,可以提高员工的工作效率和舒适度。虽然这些投资可能需要额外的成本,但可以降低员工的疲劳和工作相关疾病,从长远来看,可以提高生产力并降低医疗成本。组织定期的团队建设活动,如午餐聚会、户外团队活动或团队建设工作坊,有助于增进员工之间的互信和合作。通过建立更好的人际关系和增强团队凝聚力,可以改善工作环境,并促进更好的团队协作。
好的团队,需要协调每一个人的贡献,从而形成一个健康良好的集体。成功与否在于组建团队并形成最初方向时就已经设定了,一旦拥有一群才能超卓的优秀成员,管理者就可以开始退居二线。因为团队的良好生态,形成一个良性循环。
管理者的日常:甄选人员、开展培训、安排工作、调度时间以及战术支持。用自己的领导能力去发掘下属的能力,所以塑造优秀的人力资源才是管理学的根本。在实际工作中,综合能力与职业素养才是一个人的最终评判标准。而其中态度是非常重要的,一个人能力可以差,但是绝对不能没有冲劲与毅力。卓越的领导力应该是那种:大家发自内心表达的深深敬重的那种领导。知人善用、有责任、有担当、具有同理心这些都是非常重要的素质,不管是对于管理者还是下属。在招聘员工之前,虽然最后决定权在管理者手上,但是其他同事的意见也是非常重要的。这涉及以后他们的工作融洽程度,毕竟如果他们大多数接受看好招聘的人员,那么在未来团队磨合应该也是非常快速的。
Google 是一家致力于技术创新的公司,以招聘和保留高素质的员工而闻名。公司的招聘过程非常严格,倾向于寻找具有深厚技术知识、解决问题的能力和自主学习能力的人。这种招聘方法有助于Google建立了一个高素质的技术团队,取得了许多创新性的成就。Google的领导层也都具备知人善用、有责任、有担当、具有同理心等基本素质,为团队提供积极融洽的工作环境。
企业对大部分人来说都是专制的,所以团队的目标需要公司保持一致。有凝聚力的团队对开发出来的产品具有强烈的归属感,所以每一个人都希望自己的成果能得到别人的肯定,因此团队必须要肯定和保证自己的产品。使用逆向思维,去思考阻碍团队形成原因有哪些,从而避免并构建一个健康高效的团队。阻碍团队形成的原因包括防御式管理:用人不疑,疑人不用。用人首先最重要的是信任!其次,接受并允许失败。官僚主义:不要用等级去看待身边的下属,他们是你的兄弟和战友。物理分隔:一个团队应该具有独立空间、应该是坐在一起,这样才有互动、形成团队氛围和归属感。时间碎片:专注一项工作,切勿贪多;否则容易在切换角色工作造成时间碎片化。牺牲产品质量:一定要给产品预留足够的开发时间,这样产品的质量才能够保证。否则,时间一旦被压缩,换来的只是产品质量的下降。伪造截止日期:不要为了说漂亮话,就伪造不可能达到的截止日期。团伙控制:团伙是形容那些骗子的,而团队是基于队员之间的信任形成的。大部分团队自毁,都是来自于贬低工作或是贬低工作人员;每一个人的付出和劳动都是需要尊重的。
不管什么标准,实施时应该简单而温和。很多人都会为了逃避风险,就不会进行新事物的尝试,缺乏创造性和突破性的决策。因此应该对项目进行风险管理,这不是让风险消失,而是确保风险在发生的时候,有相应的应急措施,最好还能够提前经过规划和演练;从而降低风险发生带来的影响程度。越是时间紧张,大家越是倾向性地不愿将更多时间花在定制应对措施的计划上,这样项目在进行中,就会被风险逐步笼罩。
黑衣团队是一个由不同领域的专家组成的软件开发测试团队,是一个有凝聚力的而团队。该团队一开始就表现出卓越的团队协作和凝聚力。成员之间互相信任,愿意合作,共享知识和资源,共同努力实现项目目标。尽管团队一开始就非常成功,但他们可能仍然在不断学习和改进。他们可能持续关注行业最佳实践,以确保他们的工作始终保持在高水平。黑衣团队展示了如何通过团队协作、领导力和学习精神来克服团队自毁因素,并最终实现项目成功。
软件系统的主要问题不在于技术,而在于社会性因素。正如在人月神话中所说的,软件开发中困难的部分是规格说明、设计和测试这些概念上的结构,而不是对概念进行表达和对实现逼真程度进行验证。事实证明,虽然技术是重要的,但项目的成功与团队的合作、沟通、文化和管理实践同样密切相关。这一观点提醒了软件开发者、管理者和组织领导者,要综合考虑人际关系和组织文化,以提高软件项目的质量和成功率。
阅读该书后给我在专业发展方面提供了很多启示,具体包括更加重视发展你的沟通和合作技能,以更好地与团队成员合作,推动项目成功。学会在不同类型的组织中工作,了解各种文化和工作文化,以便更好地融入和产生影响。鼓励自己提出新想法,参与研究项目,以培养创新思维和解决问题的能力。学习项目管理技能,包括时间管理、资源分配和需求管理,使自己更有竞争力,能够在项目中扮演重要的角色。
本书中可能存在争议的地方在于有些地方过于理想化或过时了。例如该书认为开发者应该有一个安静、舒适、私密的工作空间,避免被打扰或分心。但是在现实中,很多软件公司都采用了开放式的办公环境,鼓励开发者之间进行沟通和交流。虽然这样可能会影响开发者的专注度,但也可能会增加开发者的协作能力和创造力。
该书中可能存在过时的信息在于很多内容没有与时俱进,例如该书没有考虑到远程工作或异地协作等现代软件开发中常见的情况,这些情况对于管理者和开发者都提出了新的挑战和要求。
书中的一些建议和案例假设了读者具有特定的背景和经验。这可能使一些读者难以将书中的理论应用到他们的具体情境中,特别是对于初学者而言。该书的重点主要放在软件开发中的人际关系、管理和组织文化等社会性因素上,而对具体的技术和编程细节的覆盖较少。该书可能过于理论化,缺乏实际的操作性建议。书中的一些内容可能在时至今日已经过时,特别是在技术和工具方面。软件工程领域不断演进,因此书中的某些信息可能已经不再适用。该书未考虑远程工作或异地协作等现代软件开发中常见的情况,这些情况对于管理者和开发者都提出了新的挑战和要求。
在实际工作学习中应用这些概念的方法包括(1)建立开放的沟通渠道,在团队中,鼓励开放的沟通和讨论,以促进信息共享和团队合作。设立定期的会议、远程工作工具和即时消息应用程序,以便团队成员能够随时交流。(2)培养创新文化,创建一个支持创新的文化,鼓励团队成员提出新想法和解决方案。设置创新时间或工作坊,让团队一起探讨新的概念,以改进项目。(3)招聘和培养高素质的员工,尽量招聘拥有多样技能和经验的员工,并提供培训和发展机会。鼓励员工参与课程、工作坊和认证,以提高他们的技能。(4)团队建设,组织团队建设活动,以增强团队的凝聚力和合作。这可以包括定期的团队会议、社交活动或团队建设工作坊。(5)了解组织文化,适应并了解组织的文化和价值观。理解组织的期望和文化可以帮助更好地融入和建立关系。
对未来研究实践的建议具体包括(1)研究人际关系和组织文化的领域,以更好地理解人的因素如何影响软件开发项目。(2)了解如何构建强大的团队和有效的沟通。学习项目管理的最佳实践,例如使用项目管理工具和方法,了解敏捷、Scrum等项目管理框架。(3)学习和实践敏捷开发方法,这些方法在应对变化和灵活性方面具有优势,是当前软件开发领域的主要趋势之一,研究这些开发方法中人员合作沟通和分工的具体有效策略。
《人件》是一本值得一读的书,特别是对于那些希望深入了解软件开发过程中的人际关系和管理实践的人。尽管存在一些不足之处,但该书提供了有价值的见解和实用建议,可以帮助软件工程师和管理者更好地应对项目挑战,提高团队效率,以及更好地理解软件开发的社会性因素。该书与《人月神话》共同被誉为软件管理图书领域最为璀璨的“双子星”,名不虚传,深刻地洞察到软件开发的最大问题不在于技术,而在于人。
该书的长处在于(1)强调人本因素,书中非常成功地强调了软件开发中的人际关系和组织文化对于项目成功的重要性。这种人本方法有助于实际项目中更好地管理和领导团队。(2)通俗易懂,书中的内容通俗易懂,不仅适用于软件开发专业人士,还适用于管理者和领导者。作者使用了清晰的语言,避免了过度技术性的术语。(3)提供实用建议,除了理论性的观点,书中还提供了许多实用的建议,如如何建立团队、管理项目和提高创新,这些建议可以直接应用于实际工作。
缺点在于(1)部分信息可能过时,由于该书首次出版于2001年,一些信息可能已经过时,特别是关于技术和工具方面。软件工程领域不断发展,因此一些内容需要更新。(2)技术细节有限,书中的重点主要放在社会性因素上,对于技术细节的覆盖相对较少。读者可能需要额外的资源来获取有关具体技术和编程方面的信息。