当前位置:网站首页>【软件工程之美 - 专栏笔记】40 | 最佳实践:小团队如何应用软件工程?
【软件工程之美 - 专栏笔记】40 | 最佳实践:小团队如何应用软件工程?
2022-08-08 15:23:00 【if...else...】
专栏信息
专栏作者:宝玉
专栏发布平台:极客时间
主要内容
这一篇里,我将带你一起运用学过的软件工程知识,看如何在小团队中应用软件工程?
(本文讨论的小团队,不是指大厂的一个小组,而是小公司或者三五个人的小开发团队)
一、小团队在软件开发中存在的常见问题
小团队在软件项目开发上,主要问题体现在以下几个方面。
小团队成本敏感
首先,小团队对成本都很敏感,成本是小团队很多问题的根源,对成本的控制也衍生出一系列大公司可能感受不到的问题。
小团队人少活多
小团队人一般不会多,但是活不一定少。
从分工上来说,通常在大厂前端后端几个人合作完成的事,在小团队就得一个人从前端写到后端了,可能甚至都不会有专业的产品设计和功能测试人员,都是开发兼任。
小团队缺少流程规范
在流程规范方面,恐怕是大家对小团队吐槽最多的地方,也是很多从大厂跳槽到小公司的程序员特别不适应的地方。
二、小团队如何应用软件工程?
成本敏感、人少活多、缺少流程规范,这几个是小团队在项目开发中存在的主要问题。
接下来,我就从团队建设、流程建设这两个维度来谈谈如何应用软件工程。
团队建设
团队建设,绕不开几件事:招人、培养人、管理人和开除人。
小团队如何招人
小团队招人,难点在于成本有限,开不出很高的工资,品牌也不够吸引人,招人的时候相对选择有限,能否直接招到技术大牛就得看运气了。但这不意味着就要大幅降低标准,比较现实的方法就是招有潜力的程序员培养。
小团队如何培养人
在培养人方面,相对来说,小团队不像大公司有完善的培训制度,资源也有限,难以请到外面的人来讲课,所以培养人主要还是要靠内部形成好的学习分享的机制。
小团队如何管理人
因为小团队人数不多,对人的管理上,可以不需要像大公司一样用复杂的组织结构,用复杂的管理制度。小团队的管理,核心在于营造好的氛围,鼓励成员自我驱动去做事。
有关开除人
在应用软件工程的时候,团队中可能有些人会成为障碍,要么是能力不足无法落实,要么是态度有问题抵触软件工程的实施。
首先对于有问题的成员肯定是要努力挽救,如果是能力不足,就给予帮助,给时间成长,对于态度有问题的,明确指出其问题,限期改正。但如果最终结果还是达不到预期的话,那就必须要果断地将这些成员淘汰。
流程建设
对于小团队,一开始也不宜有太多的流程规范,不然,如果流程不合适反而会成为一种束缚,最好只是先设置最基本的流程规范,然后在实践过程中针对团队特点和业务特点去逐步完善。
哪些流程是软件开发中最基本的流程规范呢?
- 选择适合你的软件开发模型
- 构建基于源代码管理工具的开发流程
- 建立外部提交需求和任务的流程
三、其他摘抄
- 代码审查,可以帮助团队及时发现代码问题,也能促进团队相互学习,代码风格统一
- 自动化测试,可以对代码结果马上有直观的反馈,有问题早发现修正
- 内部的技术分享也是很好的共同提升的方式,对于听的人来说可以学习到一些新鲜的知识,对于分享的人来说,准备一个技术分享,本身就是最好的学习总结方式
总结
小团队在软件项目开发上的主要问题是:对成本敏感、人少活多和缺少流程规范。
在团队建设方面,需要从四个方面入手:招人、培养人、管理人和开人。
团队建设和流程建设是在小团队中应用软件工程的关键,通过团队建设让团队成员有共同的软件工程意识,有实施软件工程的基础,通过流程建设让软件工程好的实践流程化、工具化。
边栏推荐
- 把酒言欢话聊天,基于Vue3.0+Tornado6.1+Redis发布订阅(pubsub)模式打造异步非阻塞(aioredis)实时(websocket)通信聊天系统
- sqoop连接MySQL跟本机不一致是为什么
- web-sql注入
- [内部资源] 想拿年薪30W的软件测试人员,这份资料必须领取
- 瑞吉外卖学习笔记2
- 儿子满墙奖状却没考上重点高中,妈妈愤怒撕下痛哭:不读出去打工
- Thoroughly understand the volatile keyword and application scenarios, and it is a must for interviews, and Xiaobai can understand it!
- 解决Redis、MySQL缓存双写不一致问题
- IBM3650M4的ESXI主机报警“其他主机硬件对象的状态”
- UOJ#748-[UNR #6]机器人表演【dp】
猜你喜欢
想去银行测试?那这套题目你必须要会
Guanghong Technology: The company provides manufacturing services for Xiaomi, Samsung, OPPO, Nokia and other products in India
【Unity入门计划】Unity实例-C#如何通过封装实现对数据成员的保护
一文读懂字节跳动“埋点验证平台”
程序发生run time error原因及解决方案
幂等性~~
Superset 1.2.0 installation
sqllabs 1~6通关详解
连这几个网站都不知道,怪不得你的消息比别人落后
761. 特殊的二进制序列 : 经典构造题
随机推荐
来,集中训练一下二叉树的层序遍历~
Elegantly detect and update web applications in real time
基于微信小程序的幼儿园招生报名系统开发笔记
CS231n:6 训练神经网络(一)
codeforces 444C DZY Loves Colors
A16z:为什么 NFT 创作者要选择 cc0?
Zhaoqi Technology Innovation and Entrepreneurship Event Event Platform, Investment and Financing Matchmaking, Online Live Roadshow
深度学习中的常见正则化方法(Regularization)以及优化器中的WeightDecay参数详解
第一章、RPC 基础知识
JS-Bom-while(计算闰年)
kali换源详细步骤
Mysql数据库入门学习笔记
兆骑科创创业赛事活动举办平台,投融资对接,线上直播路演
进程和线程
Introduction to Recurrent Neural Network (RNN)
腾讯又一长达 8 年的服务下架。。。
优雅地实时检测和更新 Web 应用
Thoroughly understand the volatile keyword and application scenarios, and it is a must for interviews, and Xiaobai can understand it!
从洞察到决策,一文解读标签画像体系建设方法论丨DTVision分析洞察篇
解决Redis、MySQL缓存双写不一致问题