软件工程学习第四篇。
正如标题所说,软件工程是否可以直接应用于小团队。两种处理方式,其一学完软件工程后一股脑使用上;另一种是观察团队出现的问题,找到软件工程中适合的方式,逐步改进。
相信大家看到这样的选择,当然都是选择第二种,也即是回答了标题中的问题。接下来一起看看小团队中出现的问题及怎么使用软件工程来指导团队建设和流程建设。
那我们一起来看看小团队的一些问题:
1、没钱。需要严格控制成本,通过高薪吸引优秀的人才基本上不可能。工具的选择,基本选择免费(开源)的产品。
2、一个顶三。人少,意味着一个人需要承担更多的工作。例如后端开发人员需要处理运维的相关工作等,从前端到后端需要一手包办。
3、缺少流程规范。这个其实需要分不同的场景看,流程少有时可能是优势,可以避免大公司一个流程下来措施时机的情况。当时必要的规范还是需要的。
看完出现的问题后,接下来看看使用软件工程来指导团队建设和流程建设。
首先先来看看团建建设:团队建设围绕的基本上都是人,包括招聘(招人)、培养人、管理人、开除人。软件工程也是依赖于人的,软件工程中的过程、方法和工具,最后还是体现在人身上。
1、招人:因为成本有限,不能采用薪资来吸引优秀的人才。但可以通过招聘有潜力的人员进行培养。
2、培养人:建立内部学习分享机制:例如组内成员每月轮流分享,内容不限,可以以项目使用的技术或遇到的问题为主题进行分享。代码审核,通过在审核的过程中发现的问题,并做说明讲解,促进相互的学习。
3、管理人:营造氛围,鼓励成员自驱动的做事情。
4、开除人:一是能力不足,无法实施;二是态度问题,抵触实施。能力不足,给予帮助,给予时间成长;态度问题,明确指明问题,限时改正。如果还达不到预期,淘汰。
流程建设:小团队更多的优势是灵活,关于流程规范,也不宜建立太多,建立太多反倒成为一种束缚。先指定最基本的流程规范,然后根据团队特色和业务特点进行甄别完善。
1、选择合适的开发方式。例如瀑布,不一定非要是敏捷开发方式。
2、构建合适的开发流程。包括源代码管理工具,持续集成工具。利用开源项目,避免重复造轮子。
3、建立外部需求和任务提交流程。不能是老板提出的需求和任务,就立即要响应处理。而是要有一套对应的流程规范,按照流程走。