对于软件行业的从业人员,不论是管理者还是工程师,对于软件设计的重要性都应当有允分的认识,只有这样才有可能在团队中构建真正有意义的愿景。是的,具备出色软件设计能力的工程师少之又少,但这并不表明它不重要。相反,这种人的工作效能很有可能是普通工程师的百倍。
     除了认识软件设计的重要性,整个团队还应当至力于打造适合的质量保证方法论。再次提醒一下,这里的“合适”是指“易用和够用”。项目组不论资源多充足、人多聪明,都比不过质量保证方法论来得实在和有效。一个拥有自已质量保证方法论的团队,可以预测,团队的个人生活质量以及团队的集体声誉和精神面貌都将与众不同。。
     “通过技术方法解决技术问题而不是管理方法”是作者想强调的另一个重点,作者将这一思想命名为李云技术管理第一法则。项目开发是一个复杂的系统工程,但是其中很多问题其根源并不是来自于管理领域,而是技术领域。技术根本问题解决了,表面看起来是管理方面的问题都将迎刃而解。请不要相信管理是万能的,合理地运用团队的技术技能和管理技能才有可能打造出出色的团队,以及最终创造出高质的产品。
     过份地强调风险是软件开发活动中阻碍团队提高的可怕障碍,请记住“李云技术管理第二法则:过分地强调风险其实是间接地承认自己无能,”这一点无论你是管理者还是工程师都一样。
从管理者的角度
     作为管理者应当明白,如果将风险最小化、服从上级指示作为优先考虑的工作内容,那很难带出一支出色的工程师队伍。通常管理者的薪资也相对的高,站在管理者的角度,为了保证稳定的高收入,小心谨慎是应该的,但是别望了现任雇主提供高薪的同时,还希望管理者承担另外的责任和义务 —— 培养团队。只有团队培养好了,产品的质量才能随之“水涨船高”。
     团队的培养,一定要给工程师们合适的“土壤”、一种允许工程师们适当犯错的环境,当然,总是犯相同的错就另当别论了。软件行业如果想做到什么事都百分百的正确和没有风险,那只能是什么都不做。一个敢想、敢做和敢当的团队,只会让管理者的工作更加的轻松,这样的团队每一个管理者都有机会获得,但必须由管理者自己去培养。
     花时间培养对团队的信任是重中之重,请不要将“我信任我的团队”只作为口号,而内心却总是想着“这样让他们干可能会给我捅出篓子来哦”。对团队的信任其培养方式只能是让团队在一定范围内放手去干,一旦团队的能力强了对之的信任也就慢慢地有了,且很有可能形成一种良性循环。
     管理者很有可能想培养自己的技术专家,技术专家的培养不是选中一个或几个人,然后给之机会去成长。对于技术专家的培养,应为更多的人乃至整个团队提供平台去发挥,而不用专门选择人选,具备技术专家潜力的工程师一定会在这种环境中自发地出现。另外,技术专家的培养需要长时间的观察。存在一类工程师,在管理者面前表现得很有想法,但真正做起技术来时却一般,且缺乏追求完美的精神。这种人能博得管理者对他的好印象,乃至让管理者认为他能被培养成技术专家,但一个对技术工作没有追求完美精神且付之于行动的工程师很难成为技术专家。为此,管理者在培养技术专家时,不防将“网”撒得大一点,给大家的时间也长一点。一个真正的技术专家不是管理者认命和培养出来的,而是团队自然而然集体选择出来的。“自然而然”体现在,当出现问题时大家都会主动去找他(潜在的技术专家)以获取有价值的帮助。
     一个健康的团队需要有争论,管理者千万不要将消除争论作为自己的一个管理目标,从而追求一种表面的“平和”。软件行业中的科学成份有不少,如果对于技术的争论都不敢(很少工程师会就个人问题而放到台面上争执),那很难想象团队做的技术到底是什么层次。积极的争论有利于诱发团队思考以及帮助找到更好的技术解决方案。
     另外,团队的能力应当是有梯度的,请不要指望每一个人都在同一个方面很强。如果真的是那样,那一定不是你想要带的团队!理论上每一个工程师都有自己的强项,如何合理地运用各人的强项以保证项目不断推进,需要管理者不断地学习和探索。
     除了工作质量,关心工程师的生活质量也应当是管理者的工作内容之一。经常加班加点并不是工程师们应该的,也不是这个行业的固有特质。出现经常性的加班加点,往往意味着团队技术能力不足,或者团队的管理存在问题,但无论如何这都是管理者需要致力于解决的问题。一个只关心自己利益的管理者注定是会被团队给“抛弃的”,也同样得不到团队的鼎立支持,想想你的薪资!
     光培养团队也不行,管理者自身也应具备一定的素质。一个出色的管理者应当曾经是一名出色的工程师。这里所说的出色工程师,不只是指别人交给他的任务都能完成(甚至出色完成),因为这只是出色工程师的必要条件。一名出色的工程师还应当具有良好的技术敏感度,这种敏感度是扎根于长期对技术的钻研(学出来的)和丰富经验的积累(干出来的)而获得的。只有对技术有良好的敏感度,管理者才能真正地把握住软件项目管理中的风险,从而在风险和团队发挥余地之间保持良好的平衡。请不要迷信“管理者可以不懂技术”,当然,如果你是一名大公司的CEO那就另当别论了。
     如果管理者的技术积累并不足(即没有足够的技术敏感度),那还有一种方法可以加以弥补,可以考虑在团队中找一个技术能力强的人作为自己的左、右手,而且应当信任他能帮助你做好与技术相关的决策。当然,这里的前提假设是技术积累不足的管理者,他的管理能力却较突出。就作者的经历来看,的确存在技术能力不足的管理者,但却在很大程度上能将团队管理好。对于这类管理者,很关键的一点是他能很好地运用技术骨干的技术专长,且通过激励和鼓励让大家去做更多的尝试,从而使得团队的工作气氛很是活跃,一个气氛活跃的团队才有可能更具创造力。与之相比,也存在不少管理者,他的技术能力还不错,也能带领团队按步就班地工作,但却缺乏激励大家的那种意愿和能力。管理者如能运用好激励,将发现团队的精神面貌完全不同。
     总而言之,管理者对于团队文化具有至关重要的作用,这也是为什么管理者的薪水在多数情形下更高的原因。一个作风正派的管理者,他的团队也将更具正气和更有活力,这种团队在绩效方面的表现也将更好。一个不大愿意承认他人的管理者,他所带出来的团队通常会显得死气沉沉,在这种团队中大家也不愿更多地发表自己的观点,其绩效也可想而知。请记住,管理不只是计划和时间表,更应当包含创造!

从工程师的角度
     培养良好的工作习惯是工程师职业发展很重要的一个内容,好习惯对于软件质量也起着关键作用。就工作而言,习惯有好有坏,好的能让个人终生受益,而差的则能让整个团队痛苦。软件产品的代码是需要工程师一行一行的“码”出来,但是,如果“码”代码的工程师没有良好的编程习惯,一定不能获得高质量的软件产品。除了与编码直接相关的编程习惯外,工程师还应当培养其它的好习惯,比如:笔记习惯,将工作中花了较时间去解决的问题通过笔记的方式记录下来,这样下次要用就能更高效,笔记不一定要记在本子上,记在计算机中是一个更为有效的方式;思考习惯,对于问题积极的思考以磨练自己的洞察力,在他人提出见解时与自己的想法进行对比,看一看从中能学到什么;阅读习惯,一个希望在技术上有所成就或做到一定高层次的工程师,其知识和经验的积累一定不能只来源于个人的工作与生活,阅读是获取这些知识很重要的一种方式,多读一读行业相关的好书、简报(newsletters),除了能积累知识和经验,对于了解行业的发展趋势也大有裨益。养成各种好习惯的目的说到底还是为了提高自己的技能。
     工程师应当意识到,软件开发已经不象以前那样,拿到需求文档后就根据自己的理解完全从标准库函数开始构建自己的软件模块,如果仍采用这种开发方式,那可以说是非常的落伍了。平台和框架这类技术的运用是打造高质量软件很有效的方法,也是个人和团队积累经验非常好的一种手段。对于一个项目组,现成的平台和框架实现可能一开始并不存在,但项目组应当在每一次的开发活动中努力寻找打造自己的平台和框架的机会,并积极地加以实践。平台和框架的设计并没有想象的那么容易,但无论如何只有通过实践才能进步。工程师要做到具备平台和框架开发的意识和能力,是一种比较难的事,但一旦达到了则意味着水平上了一个台阶。平台和框架这一开发方法,给软件产品所带来的收益是高质,给项目组所带来的收益是高效,而给工程师个人带来更高质量的生活。
     软件行业中的很多问题其根源是技术问题,为了解决这类问题只能通过工程师的努力。项目的困难也不是一天或一个月造成的,而是由于工作没有做到位加上长时间的积累所形成的。为了保证一个更好的将来,我们只能是现在将事情做到最好。“现在将事情做到最好”是一种态度,也是一种提升自己技能的关键途径,一个做到六分的工作与一个做到九分的工作相比,其中所收获和知识和经验将截然不同。

走出软件质量困境的指导性思想相关推荐

  1. 走出囚徒困境的方法_囚徒困境的一种计算方法

    走出囚徒困境的方法 You and your friend have committed a murder. A few days later, the cops pick the two of yo ...

  2. 购物中心如何走出营销困境?

    购物中心是一种集吃喝玩乐购于一体的新商场模式,跟传统的商场相比,购物中心有着明显的优势,比如:吸引的客流量更大,拥有更多消费场景--而如此巨大的客流如果无法充分利用,就非常可惜了,这也正是购物中心一直 ...

  3. Linux如何走出桌面困境?

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> 近日,在LinuxCON 2009大会上,桌面 Linux 又成为业界 ...

  4. 思考问题的本质--如何走出思维困境

    在思考,分析问题的过程中经常会遇到的一个障碍 就是当思维过程暂时没有发现明显的可供继续推进 的线索,方向时,自己会陷入一种一筹莫展的困顿状态,一时间不知道应该如何是好.以前自己 走出这种思维困境,主要 ...

  5. 《了不起的盖茨比》----走出绿灯困境

    关于无缘的爱情.不灭的梦想与让人心痛的故事 前言:了不起的盖茨比? 这是一本了不起的书,我建议每一个城市人都读一读. 读这部作品,你会看到繁华美丽背后的人生百态,在喧闹的城市里,有多少可怜的失心人像盖 ...

  6. 卖动感单车能帮助keep走出变现困境吗?

    随着一场突如其来的疫情,"在家健身"这个话题再次引起人们的关注. 在微博.抖音.快手等平台随手一搜,各种各样在家健身的指导视频层出不穷,减脂.增肌.塑形什么需求都能满足.然而对于那 ...

  7. 走出996困境:产权、通证与生产力 |链捕手

    近期996话题由于众多企业家的参与,成为舆论场最为热门的话题之一.在公司制下,个体利益与公司利益很大程度上存在不可调和的矛盾,996工作制则是这一矛盾的集中体现,同时也会长期客观存在各大企业. 但随着 ...

  8. 网店走出了困境,全因有skycc营销软件

    当今时代,在严峻的就业形势和巨大的就业压力下,让不少大学生有了自主创业的梦想:而互联网高速增长所带来的巨大商机,则更是激发出大学生网络创业的冲动. 现在,不少大学生正试图通过网络创业,打造自己创业的梦 ...

  9. 走出回归测试困境,爱奇艺精准测试体系建设

    01 为什么要做精准测试? 精准测试是为了解决回归测试的质量和效率问题. 在具体的业务中,产品功能的迭代.缺陷修复等等是极为常见的需求场景,但这些看似微小且常见的改动都有可能会对产品庞大的历史功能产生 ...

  10. 【数字康复治疗】自闭症市场能否走出供求困境

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 世界卫生组织将每年的4月2日设为"世界提高自闭症意识日",旨在提高人们对自闭症 ...

最新文章

  1. 大约C++ const 全面总结
  2. 织梦在线报名平台php,DedeCMSv5
  3. 新手必备: win10 系统下 VSCode+CMake+Clang+GCC 环境的搭建!
  4. django-卡通案例-编辑流程小结
  5. 小议数据库主键选取策略(转)
  6. VC2010 运行时闪退
  7. Go全栈面试题(3) -微服务面试题
  8. iphone11支持es6吗_好久没用Carplay了:IOS11导航功能不错
  9. 求某年某月某日是星期几?Python
  10. python教你如何把自己的微信变成机器人
  11. 几种常用内存管理底层介绍
  12. 长期坐着不动会得什么病?
  13. rtx3080ti和3090差距 rtx3080ti和3090哪个性价比高
  14. 中国各省的省会间距离(含港澳台)
  15. linux boost库安装
  16. ffmpeg 命令行总结
  17. Android 最小化界面
  18. bzoj1787.紧急集合(倍增LCA)
  19. 学习C#和.NET的资源
  20. CAS新版本(6.0-RC4)使用介绍(一)

热门文章

  1. 【迅速上手】Python 画图 —— 箱图与密度图
  2. 如何在 Codeforces 上出题?
  3. Raki的读paper小记:Empower Entity Set Expansion via Language Model Probing
  4. 关于log4j的配置
  5. php处理数组函数大全
  6. C# 将Word,Execl,PPT,Project, 文件转成PDF, 不依赖Office!!
  7. 浮动元素遇到标准流元素 会发生转角遇到爱
  8. python3.5------用户的三次验证
  9. SQL Server 数据操作
  10. easyui 获取cloumns字段