Follow us 登录 注册

软件开发的关键是人才:企业保持开源的心态

作为一名经理,你应该花一半的时间在沟通上,无论是团队沟通,还是一对一的沟通。每天接触团队中不同的开发成员,把脉整个团队的动向,要提前意识到问题的存在。
管理好开发团队本身是一件非常有挑战的事情。由于文化上存在差异、语言上存在障碍,沟通方式也会有所不同,管理者会面临着项目失控的危险。这里,北京软件开发公司财神科技为大家分享当今最成功的项目管理技巧,来帮助分布式软件开发团队保驾护航,成功管理好项目。
技巧一:不要吝啬花钱,人才是关键
分布式开发面临着许多挑战,并不见得成本会低多少。但如果你能搞定的话,不管哪里,只要能挖掘到一些顶尖人才,那么优势就无与伦比了。毕竟,我们没办法保证每一个优秀的开发者都能出现在办公区20英里内,但如果你能汇聚不同地方的开发人员,有效的管理他们,那么你的人才储备池就任你来差遣了。
技巧二: 工欲善其事必先利其器
首先最重要的事情是要确保你的工具支持分布式开发,而且要鼓励大家来使用它。确保全球范围内都有权限访问到每一份文档、源代码文件、以及有相应的处理操作。这个说起来容易,做起来难。要实现利用这些工具来远程办公,你一定会被这种难度大吃一惊。在家里工作,测试工具和流程、检查代码、部署等等。有些集成工具可以用来探测一些连续生成的错误,如果你团队的每位开发人员此时都在办公,那就最好了。但最为关键是在不同时区的开发人员具体的工作时间,没有人愿意看到有人会延迟检查错误代码。这里强力推荐Jenkins (aka Hudson)、CruiseControl, 以及Bamboo这三款开发开发工具,它们可能会是你的救星。
技巧三:保持开源的心态
新建一个项目或者子项目。传统的项目很难拆分成子项目来适应分布式开发。但是新项目会提供一些机会,让你充分利用一些工具,这些工具应用到了分布式方法。比如,在低版本系统,比如CVS缺少一个分布式版本控制模型,而分布式版本控制系统GitHub、 Mercurial以及Launchpad,它们可以呈现一个分布式环境。我们致力于提供一个开源的合作水平,即使你的项目不会开源,但我们需要保持一个开源的心态,鼓励更多的人来参与,我们还鼓励大家开发更多的模块,提供更多的基于API的方法,这会让开发人员驾轻就熟,没必要全面了解系统的细节,就可以开发一个项目。
技巧四:保持信息的透明化
对于分布式开发环境,前期的需求收集和验证至关重要。否则,时区上的差异、语言上的差别、功能上的不同会造成分布式项目在运行过程中的风险,偏离预期的规划。书面上的沟通常常会比口头上的表达取得更好的效果。在团队中确定合适的人选,能够提供定期的书面项目更新,标示项目的进展和问题。当然,这里我们觉得更新频率比关注数量更重要。记住,要想帮助大家适应分布式开发,就要保持项目的透明化,而即使要保持小幅度的公开,都需要花很多的精力。
技巧五:合适的数量是最好的
“Lagom är bäst”是瑞典的常用表达式,意思是“合适的数量是最好的。”我们会把这个术语用在MySQL上,来确保模块化。每个项目或者团队都有不同的需求,而一个项目越趋向于模块化,那么就越容易组织团队。在组建团队时,需要考虑不同的技能和时区差异等因素。如果说距离是一个挑战,那么时区就是杀手了。如果说团队中成员所处的地理位置在时区上相隔4个多小时,那么要想安排大家同时在线,就相当麻烦。缩短开发与测试的整合周期,有利于及早发现问题。拖延的话,后续解决就会很棘手。那么整个周期到底要多短呢?“Lagom är bäst”(合适是最好的)。
技巧六: 选择最好的沟通工具
在Zendesk,我们把Trelio和Pivotal Tracker当成Kanban面板,来促进沟通,我们还会使用到一系列的室内沟通渠道:IRC(Internet交互式闲聊程序),Yammer(企业社交平台)、Flowdock(基于Web的团队通讯工具)还有Rypple。
技巧七: 组建小规模的团队
尽量组建小规模的团队,这样你可以每天花15分钟开会。小规模的团队有利于你培养起更好的团队意识和责任感。对于跨时区的团队而言,要确保大家能够相互沟通:利用一些工具比如Skype来聊天。作为一个团队的经理,要提供尽可能多的渠道来预团队成员保持联系,这样就也可以消除开发者联系不到你的风险。
技巧八:沟通、沟通、再沟通
开发者往往会面对各种各样的问题。比如最近的预算申请备有被批准,资源没办法得到。遇到这种情况,最好的解药就是要勤于沟通。作为一名经理,你应该花一半的时间在沟通上,无论是团队沟通,还是一对一的沟通。每天接触团队中不同的开发成员,把脉整个团队的动向,要提前意识到问题的存在。每两周可以花部分时间来演示软件,鼓励开发人员跟进工作进度,缩短开发、测试的整合周期。VNC之类的工具可以让开发人员快速预览到你目前的工作动态。
技巧九: 信息精确
管理跨时区的最大挑战是沟通上的延迟造成了误解。我们正在讨论那个Bug?发生了什么事情?什么模块?实时沟通可以缩短延迟时间,解决这些问题。你需要达到军事精确水平的沟通。确保涵盖所有相关的信息,包括Bug的序列号、JIRA时间或者客户号等。不要假设接受者能收到所有的必要信息,如果不太放心,可以打电话来实时解决这个问题。
技巧十: 涵盖信息全面
不管团队的成员是分散各地还是汇聚一堂,最为关键的指标是要保持高度可见,不管是通过大屏幕的显示器还是通过Web访问。包括Bug的数量、部署状态、服务器的负载、查询性能等,只要对开发者有用的信息。
总之,无论您身处何地,作为一个分布式团队的领导者,希望这十个技巧能为您保驾护航,让您在项目管理上如鱼得水。
相关文章推荐
由于Java的灵活性,跨平台兼容性和稳定性,公司现在享有大量的软件开发机会。北京软件开发...
软件开发许多公司面临信息超载,人员短缺等无法理解并利用其数据获取更好的业务信息。智能...
北京软件公司随着许多行业已经转向成功的客户关系,客户体验正在成为企业在整个收入周...
如果说一个人没有文化,很可能让人即刻联想到这个人综合素质低下,甚至有些鄙夷的味道。 ...
北京软件开发公司 如果您正在寻找一个长期可靠的合作伙伴来实现新的创新理念,为您的客...
软件设计可分为两个部分:编码设计与UI设计。一般情况下大家都很熟悉编码设计,但是对UI...
北京软件开发公司对于企业来说要做一套适合自己的软件前,具体要知道那些事项......
随着移动网络改变时代科技时总是带来新的网络设计趋势,北京软件开发2017年网页设计将有.....
有无听说过定制开发这个词?软件为什么要定制开发?快极互动和大家分享下核心机密,速...
在过去几年间,移互联已发展成具有丰富多样性和成功多样性的移动产业。随之之后就是各类...
北京软件开发公司搞了这几年的金融公司P2P业务数据对接,现在就给大家分享一下金融网站...
北京软件开发公司国内在线教育发展从此前的火爆状态逐渐转为理性平静,更多的在线教育...