1.序言,敏捷不一样的开发团队管理方法

敏捷开发系列文章目录

敏捷开发在国内是不是只是一个理想化的工作环境?

经常有人问,你们搞敏捷开发工作量是由开发人员自己估的,而不是由经验丰富的技术主管估的,他们自己肯定会把工作量估得非常大,那什么时候项目才做得完?你们每天开那么多会,怎么不把时间放在好好写代码上面?一个迭代这么短的时间既要做设计、又要编码、还要测试,这么急着做出的东西质量肯定不高。系统设计肯定得经验丰富的老手做更靠谱。每当我听到有人说这些问题,我就知道他肯定没有真正的认识敏捷开发,如果真的有实践过,自然就会发现这些问题根本就不是问题,只是杞人忧天而已。

敏捷开发也快搞了快一年了,觉得应该把这一过程中的理解与经验得好好总结一下写下来,还有就是又有一个新团队由传统方法正在向敏捷转型,所以这些经验也可以帮助大家学习一下。

采用敏捷最直接的结果就是,开发产品的效率确实提升了好多倍对比传统模式,为什么这么说,我们团队10个人花了8个月时间开发完成一个系统并完成上线使用,而这个系统在一个朋友公司也有在开发,他们早一点开始,20-30个人花了2年多的时间还没有完全搞出来,当然他们用的是传统的开发方式。

传统开发方式以前工作多年也都是采用它,当初也没觉得它哪里不好,反正大家都这么做的,有问题也觉得正常,你觉得他是瀑布模式又不像,我觉得应该就是作坊模式吧,一直待得也是这种不大的小公司,确实比较像东莞那边的小厂子小作坊,不像大公司那样有太多的制度和流程,目标就是把当前的项目做好做完。中间也在外包工作做过几个月,非常不适用,第一感觉就是太不自由了,连网都不能上就是按照文档码代码就行了,而且要码得一丝不苟,当初就觉得这种开发模式肯定不适合国内的软件公司的。

什么机会接触到敏捷了,就是去年去了新公司,上市公司,本身是不做软件的,准备从设备生成转到行业服务,需要更多的借助互联网、IT数据,所以新成立的团队来做,本来就是从零开始嘛,没有历史包袱,而且上市公司又多金认识高国际化,所以直接把国外敏捷开发的理念引进过来,就请了有名咨询公司帮助团队建立起敏捷开发,所以就有幸开始接触了最先进与最原滋原味的Scrum,为什么说是原滋原味,因为后来也接触了一些国内其它的敏捷咨询团队,好多都是根据国内情况本地化了,所以不是原滋原味了,比如改良后的敏捷没有了估点的过程,而是直接按工时进行估算。

刚开始接触敏捷时候就觉得这种方式不靠谱,因为太理想化,比如说老板接了一个项目规定在固定时间必须完成,不然这个项目肯定就没戏,按照项目的工作量的话在正常情况下肯定是完不成的,按照传统的方式就是老板动员大家在这段时间大家拼一拼,多加加班还是有可能完成的,当然也有可能是完不成的,那就得继续加班到完成为止。而按照敏捷的方式就不是这样处理了,按照团队的速率估算结果完不成,那就得必须告诉老板,要么增加迭代周期,要么减少功能,因为给我这么多量,但我的饭量就只有这么大,那么开始之前就一定得说清楚,而且只能这么做,不能加班,因为长期加班会破坏团队的习惯。所以在当时想来哪个老板会跟你讨价还价,直接就压下来了,这真的是一种理想方法而已,在团队中是行不通的。

自己也是一直都有参与一线编码的工作,我一直认为开发程序是一种脑力智慧,应该是一种很有乐趣的事情,而且刚开始也是体会过这种乐趣,后来工作久了深陷一个又一个的坑中,爬都爬不出来哪来的乐趣可言,程序员变成了码农。后来尝试敏捷后,就是它会营造一种环境,让你又重新回到之前对于编程的那种乐趣。所以敏捷与传统最大的区别就是工作时的环境完全不一样,传统是让你忍过了一个煎熬,接着又要迎接下一个煎熬,而敏捷就是让你感受到编程的乐趣,回归到让你用编程智慧来解决问题,而不是头痛各种项目带来的坑。

说道编程乐趣得好好说一下,从毕业实习出来到公司上班,一直从事医疗软件开发至今已经10来年了,所以除了这份工作能够养家糊口之外,自己对于编程也是出于热爱,不然也坚持不到现在。这么多年来,半路转行的同学同事大把。刚从学校出来就马上投入一线编码,让自己开发的功能客户马上就能用到是很兴奋的事情,自己编写的代码能够卖钱,系统商业化,觉得自己太牛逼了。能够加入公司一开始就能参与核心功能的开发也是进入公司的时机巧,我们一起8个同事入职是由于公司遇到分拆的危机,虽然公司只有几十个人,但是技术老总带着一批骨干跑出去单干了,导致公司一下子空缺一批开发人员,然后就把我们招了进来,进来后就每人分配一个子系统,半个月来熟悉系统,然后去医院支持上线,记得当初接触第一子系统就是门诊医生站。那时候的人还是单纯些,我们8个新入职的同事一起研究代码、讨论代码、修改代码,基本那段时间都是很晚才回家,但是没有觉得很辛苦或不值得。因为大家都是新来的,所以没有什么新老员工的隔阂,交流起来没什么顾虑,玩玩一些问题可以讨论半天,自己弄懂了一个什么控件、什么功能马上分享给大家,所以在很短时间内大家的进步都很快。现在招聘一个新人培养半年都不一定能够承担起系统,但是不到一个月的时间各自都能镇守一方。有时候想想到底什么原因,是现在的小朋友太笨?肯定不是,人家比我们当前可灵泛多了。我觉得一是乐趣主导那种学习环境,再就是刚好遇到大量老员工出走的情形。现在的新人来到公司,确实感觉不到一点编程的乐趣,没有学习的乐趣那么他进步慢那就必然了。为什么环境会变成这样,就是因为原来的老人们觉得自己走来遇到的问题太多,然后就制定一堆制度来解决这些问题,慢慢的这些制度原来越多就形成了一种呆板坏境,而失去原来本该有的乐趣。比如现在新人进来一般都不会直接把新功能分配给他,因为没有经验担心写的代码不行,到时候还是得重写。甚至碰到极端公司,把开发任务像工厂流水线做鞋一样,拆分成很多个部分,然后让新手对着填空,而且每个任务都精确到小时,这样按小时来核算你的工作量,月底工资绩效跟这个工作量挂钩,你说你在这种环境下工作还有什么乐趣而言。而站在公司的角度确实控制了项目风险、控制了人力成本,但这家公司也就变得没有创意、没有冲劲,也不可能做得更大。后来加入的所有公司基本上都走入了这个怪圈,直到尝试了敏捷开发一段时间后,才感觉到大家才有了一些编程的乐趣。敏捷这种思想不是一下子就改变了你认识,而是慢慢的慢慢的改变了你的习惯,让你冲破之前的枷锁,一点一滴的体会到编程的真正乐趣,从而让团队进入一种状态、建立一种默契。说得确实有点玄,做到确实也不容易,而且我的这条路径也不一定适合你,所以我就只是把我的故事讲出来,作为一个引线让你思考,从而找到你自己的方法。

说到公司对待新人的方式,传统团队和敏捷团队确实有很大的差别,传统模式为了让新人更快的上手,一般会给新人安排一个师傅带着,让师傅给新人制定学习计划指导人家,由于师傅手上本来就有做不完的工作,一般头个把月都是丢一堆文档代码让新人看,然后试着给他安排几个简单的功能做做,最后发现新人做出来的东西不行,还得自己重新修改一遍,师傅就觉得带人太麻烦了没有帮到自己的忙,反而占用自己更多的时间,所以就搞得老人一般都不太愿意带新人,就算公司出政策给带新人的师傅额外的补贴,但这种方式也是解决不了根本问题,新人的学习周期还是很长,基本上一年半载都难独立承担开发任务。而敏捷团队不会这样,没有师傅徒弟,也不讲究新人老人,大家在团队中都是平等的,新人刚加入团队就会跟大家一起进入迭代开发,根本没有说先熟悉一段时间,只是说在领用故事的时候,新人只算一半的点数用来降低这个迭代失败的风险。这样新人一进来就有开发任务,一下子就进入一个主动学习的状态,会主动向团队成员的学习,团队成员也会主动帮助他,因为他完不成,那就是整个团队的迭代失败,因为敏捷只考核团队不会针对个人进行考核。这样新人在这种环境下,一般经过2,3个迭代就会成长起来,适用团队的开发节奏,如果3个迭代还没有适用的话,那就是这个人可能不适合这个团队。还有一个问题就是怎样保证新人开发的功能不会出现质量问题,导致返工,比如新人不熟悉业务功能设计考虑不够周全,不太熟悉开发框架代码编写不够规范等,这些问题都会影响产品的质量,而敏捷开发最重要的目标就是保证产品质量,所以这些问题在敏捷过程中都有对应的解决办法,比如设计问题会有设计评审,代码问题有代码评审,团队里的成员会在这些环节里帮助你把关,总之你在团队产生的东西都不是一个人的东西,都是整个团队的东西,人人都会关心。

敏捷开发系列文章目录

时间: 2024-10-11 01:48:09

1.序言,敏捷不一样的开发团队管理方法的相关文章

软件开发团队管理与项目经理

软件开发团队管理与项目经理 今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: 领导人怎样带领好团队构建创业公司突击小团队国际化环境下系统架构演化微服务架构设计视频直播平台的系统架构演化微服务与Docker介绍Docker与CI持续集成/CD互联网电商购物车架构演变案例互联网业务场景下消息队列架构互联网高效研发团队管理演进之一消息系统架构设计演进互联网电商搜索架构演化之一企业信息化与软件工程的迷思企业项

对于开发团队管理的理解

本人觉得开发团队的管理可分为技术管理与人员管理: 技术管理 站在技术角度,管理者要考虑如何提高开发效率.保证app运行的稳定性.技术调研.代码管理.风险的把控 ##提高开发效率 a)有清析的流程图.文档 这些对于开发人员在开发代码过程中是相当重要的,前期大家讨论需求内容.在工期工时确定后,开发过程中控制尽量不能变更,可考虑放在后面的版本: b)良好开发框架 c)模块化分工 每个开发人员都要清析了解自已所负责的模块,并根据开发框架进行开发:例如基础业务.组件,组件可以重用,服务于上层的基础业务:

Java开发团队管理细则

软件开发是团队协作,多人开发很容易造成协调问题,因此,做一些必要的开发规范,有助于帮助新员工成长,也有助于提高开发效率,防止各种问题影响开发进度. 1. 代码规范 建议每位java开发人员都读一下<阿里巴巴Java开发手册> 阿里作为中国最大规模使用Java的公司,也是Java技术实力最强的公司.这个手册在业界影响很大,已经成为了很多团队的开发标准,更加方便的是,开发了IntelliJ Idea插件,使用方式见官方说明文档:https://github.com/alibaba/p3c/blob

Eworkpal易沃普 | 如何提高团队管理能力?

每个团队,每次从磨合到熟练到分散都会经历一个完整的循环,养成了一些特定的团队运营习惯. 一.对人和团队的基本认识 1.核心价值观是不可被塑造的 什么是核心价值观?例如善良.诚信.坚持这种看起来很底层的价值观往往会在加盟之前就形成了.按照政治学上一个有趣的观点,人的政治立场是写入基因的.那么一个员工做事情的基础价值观也是写入基因的.单纯的演技都坚持不了太久. 而且你也很难像周星驰电影<济公>中一样,重塑一些核心的东西.这事儿,我走过弯路,对人抱有过幻想,结果发现,没有济公那样的金刚钻,就别高级揽

怎样提高团队管理能力5

本文来自知乎. 一.对人和团队的基本认识 1.核心价值观是不可被塑造的 什么是核心价值观?比如善良.诚信.坚持这样的看起来非常底层的价值观往往会在加盟之前就形成了.依照政治学上一个有趣的观点,人的政治立场是写入基因的.那么一个员工做事情的基础价值观也是写入基因的.单纯的演技都坚持不了太久.并且你也非常难像周星驰电影<济公>中一样,重塑一些核心的东西.这事儿,我走过弯路,对人抱有过幻想,结果发现,没有济公那样的金刚钻,就别高级揽瓷器活儿. 然而,除了核心价值观外,其它的对企业的理解.对事业的价值

如何提高团队管理能力5

本文来自知乎. 一.对人和团队的基本认识 1.核心价值观是不可被塑造的 什么是核心价值观?例如善良.诚信.坚持这种看起来很底层的价值观往往会在加盟之前就形成了.按照政治学上一个有趣的观点,人的政治立场是写入基因的.那么一个员工做事情的基础价值观也是写入基因的.单纯的演技都坚持不了太久.而且你也很难像周星驰电影<济公>中一样,重塑一些核心的东西.这事儿,我走过弯路,对人抱有过幻想,结果发现,没有济公那样的金刚钻,就别高级揽瓷器活儿. 然而,除了核心价值观外,其他的对企业的理解.对事业的价值塑造.

团队管理

个人一些团队管理方法及方式: 1.在分配任务的过程中,均要和开发人员设定一个目标.不管这个目标是否合理,均要有时间观念. 2.每天上班的第一时间,要了解昨天大家的工作情况,可以通过写日志.开早会等方式. 3.每周要有一个代码Review的会议,所有开发人员均要参与.主要提升大家在日后的开发过程中少犯错. 4.强调测试的重要性. 5.每天均要了解每个开发人员的代码工作量,可以通过SVN代码获取,来了解每个开发人员的代码编写量. 6.在团队中强调知识的分享,可能同一个问题会在不同的人员中出现,如果有

简单的敏捷工具更受敏捷开发团队青睐

实施敏捷不需要一定或者建议使用工具.理想的情况是,看着索引卡上的需求,通过命令行就可以完成开发.但是,最近几年出现了多种工具,它们对顺利完成敏捷开发起到了很好的促进作用.Migan和Gaia近期做了一个调查,以试图得出敏捷开发团队对工具的使用情况. 据两位所言,他们做这个调查的原因之一是要评估敏捷团队是不是愿意使用简单的工具. 很多公司现在依然使用传统的项目管理工具来进行敏捷开发,比如MS Project.电子表格(MS Excel).在采访了多家公司后,我们发现这一现象的背后原因是,许多敏捷工

DevOps是敏捷在软件开发团队的另一应用

DevOps是敏捷在软件开发团队的另一应用.那么相比之下,哪个更胜一筹? 一边,有业界认可的scrum master,它的朋友极限编程者,以及由其衍生的 LeSS.SAFe.DAD等,是敏捷. 另一边,有精益文化机器,用代码持续交付其基础架构,它的名字左边是开发,右边是运维,合起来就是DevOps. 虽然我已尽我所能在普及这两个概念,但人们关于敏捷和DevOps的争论依然让它们听起来完全不同.更糟糕的是,尽管他们都已经有了各自的行业术语和口号,但两者的概念还是没办法准确定义.鉴于敏捷诞生早于De