多领域,全技术,全平台开发能力
JAVA
.NET
Web
SAP
WDJ
android
DevOps
ABAP
C++
dynamic 365
Fiori
linux
python
ETL
HTML5
Ruby
cognos
HANA
PHP
Perl
Oracle EBS
SAP
iOS
PL/SQL
更多...
开发过程可视可控
抉择桌面云通过合理权限控制、外设精细化管控等安全策略,
有效防范研发代码及开发文档等敏感数据外泄,同时满足开发过程可视可控的需求。
抉择远程交付服务实践
开发全过程可控
流程决定质量
远程交付关键环节
善于自动化工具,提高效率、降低成本
巧用“面对面”的沟通工具
如何保证软件质量公司层
如何保证软件质量项目经理层
如何保证软件质量项目成员层
如何保证软件质量BES现场用户层
如何保证软件质量专业性
远程交付服务收费模式按人天收费
流程决定质量,不是人决定质量
- 过程 - 完成工作所需要的必须的步骤
- 工具 - 在各个步骤上需要使用到的外界的东西
- 人 - 理解过程,具备使用工具能力的工作的主
远程交付关键环节
抉择已建立一套成熟的,经过检验的离岸软件开发方法论。
根据实践经验梳理、总结远程交付的关键环节。
明确定义在各个阶段所需要进行的工作
详细设计、编码、测试工作所需要进行的工作是什么?
工作之间的衔接和依赖关系
详细设计、编码、测试各依赖什么?
各个工作中所需要产生的成果物
详细设计、编码、测试需要产生什么成果物?
明确定义各个工作的完成角色(role)
详细设计、编码、测试等需要有什么样经验和水平的人来完成?
善用自动化工具提高效率、降低成本
越多的客户接受了敏捷开发、开发运维(Devops)、微服务等思想,并开始向敏捷的企业转型。
抉择在交互中大量使用自动化工具:自动化测试、自动化构建、持续集成、持续交付和一键部署等,以便消除人为因素的影响。
过技术推动创新,对技术的采纳降低成本,也通过技术的附加值来提升企业的竞争力。
版本管理工具:GIT。
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
优点:
- 适合分布式开发,强调个体。
- 公共服务器压力和数据量都不会太大。
- 速度快、灵活。
- 任意两个开发者之间可以很容易的解决冲突。
- 离线工作。
- 客户随时掌握开发进度
巧用“面对面”的沟通工具
即时沟通工具、视频会议、电话会议等都属于“面对面”的沟通,远程交付服务过程中,巧用多种沟通方式,高开发团队 协同性
如何保证软件质量-公司层
- 建立“质量就是生命”的企业文化
- 在“质量”,“发展”和“成本”发生矛盾的时候,树立永远选择“质量”的观念和制度,任何的决策/决定都符合质量第一的原则。
- 投资于质量
- 3%-5%的质量控制工数(成熟的企业可以降至1-2%)
- 定期实施关于质量方面的培训
- 单体测试方面的培训/Review方面的培训
- 明确公司级别的质量目标,明确每个项目的质量目标
- 参与/主导公司的流程改进机会,明确各种改进的项目,明确优先顺序,明确改进的项目的目标,
- 对于项目上汇报的有关质量的隐患,风险和课题要优先和项目经理一起对应,给与项目经理充分的支持
如何保证软件质量-项目经理层
- 详细理解CMM/L3中各个KPA中的best practice的真实含义,确保每个
- 员工(至少是项目经理级别)明白自己的工作对提高质量的贡献
- 项目启动前,永远扪心自问 – 对于这个项目,我如何来控制质量
- 所有项目启动前,必须有设计/开发的guideline。对于这些guideline,必须开会为所有的成员讲解
- 在“质量”,“进度”和“成本”发生矛盾的时候,树立永远选择“质量”的观念和制度
- 严格按照流程进行项目开发,在进度落后的时候,也不裁减任何和质量控制有关的流程
- 建立质量目标和个人绩效之间的联系
- 所有成果物上必须标明制作者/Review者的名字
- 成果物中的问题(Bug,defect)的个数用来评价制作者/Review者的绩效
- 项目的质量,客户满意度决定项目奖金(和其他的福利待遇)
- 设计团队和开发团队分开。设计团队由有经验的员工组成,负责设计文档和测试文档,并指导开发团队;
- 开发团队可以安排年轻的员工,负责编程和测试的执行
- 确定内部测试必须发现的bug数,确保测试的有效
- 任何自己不能控制的有关项目质量方面的隐患,风险和课题要及时上报。
如何保证软件质量-项目成员层
- 如何保证软件质量-项目成员层
- 对各种成果物进行Review的时候,一定有review 用的checklist
- 加强对如何进行单体测试的培训
如何保证软件质量-BSE“现场用户”
离岸开发中最大的两个风险:沟通不足、反馈太慢!
充分利用现有科技能提供的一切沟通手段,包括微信、电子邮件,电话/电视会议,MSN,Skype等等,使开发人员和需求分析人员能进行“准面对面”的沟通,增加信息沟通的“带宽”和响应及时性。
充分发挥Bridge SE的作用。BridgeSE对需求的理解应该达到和写需求说明书的人一样的程度,起到一个“现场用户”的作用。
如何保证软件质量-专业性
抉择已从简单外包服务向专业性服务公司进化。抉择团队的专业性表现在:
1、团队能力建设。“授人以渔”,通过知识库管理、技术培训、项目管理培训等,提升团队解决问题的能力。
2、良好工作习惯。通过工作事项列表、工作计划管理等,宣贯日常工作细节,培养团队成员良好的工作习惯。
3、流程标准化。通过众多项目实践,抉择把成功的流程标准化下来,并推广到公司层面所有项目中,尽可能减少项目风险。
4、团队协作精神。加强团队的管理和建设,培养和建设队伍,每个人都能独立完成工作。
5、加强文档管理。对每个项目提供标准文档模板,做好文档版本管理。
6、每一次都把简单的事情做好。从项目开头到项目收尾,每一件事都能做好充分准备。遇到问题,找出问题的真正原因和解决方法。
7、团队以业务价值为导向。交付满足用户业务价值的项目,而不是仅仅把功能堆完。
远程交付服务收费模式--按人天收费
按人天收费的交付项目:
又称为“时间和资源项目”,客户是按照多少人工做了多少小时来付费。
优点:客户对需求的控制会比较强,包括范围和优先级,随时都可以灵活调整。其次,适合对用户体验要求比较高的项目,客户可以控制把用户体验做到满意的水平。