首页 综合 > 内容页

通过团队协作,搭建WEB产品

来源:哔哩哔哩 发布日期: 2023-07-02 21:58:40

前言

个人和社会越来越多地依赖先进的软件系统。这就需要我们能够既经济又快速地生产出可依赖和值得信赖的系统


(相关资料图)

从长远来看,运用软件工程方法和技术去开发软件系统比单纯为个人程序项目写程序更加便宜。对大多数类型的系统来说,绝大多数的钱都花费在软件投入使用后对软件的变更上。软件工程是一门工程学科,涉及软件生产的各个方面,从最初的系统描述一直到投入使用后的系统维护,都属于其学科范畴。软件工程不仅涉及软件开发的技术过程,也涉及诸如软件项目管理以及对那些支持软件生产的工具、方法和理论的开发等活动。

产品开发首先要做的第一件事,就是设立职位,并为之安排合适的人员

这里仅讨论软件开发所需要的人员,不讨论软件产品的商业销售、运营等问题。

需要设立的职位包含:

首席架构师:通过线上资料、线下实地走访,记录特定行业的业务问题、及其有可能的信息化解决方案。并通过UML图示、场景史诗等手段来向下述技术团队明确开发任务;保证团队代码资产的整体一致性(杜绝浪费开发资源的行为等);

运维专家:负责内部开发环境、测试环境、线上环境的数据库、运行时等必要环境搭建方案;以及各类非业务性质的维稳平台的开发工作;

后端开发:负责服务器方向的具体业务逻辑的实现(包含各类第三方平台对接等);

前端开发:配合设计师负责各个平台的界面实现;

产品测试专家:通过 checklist 等手段巡检软件产品的界面功能、后台功能;

实际环境中,职位一定要根据实际需要进行设立,并需要领导层十分清晰明确此职位的工作目的、工作内容。

2.岗位确定后的第二件事情,就是要确定研发团队的开发战略

开发战略指的就是自顶而下,明确团队目标,并量化每个岗位的工作目的和工作内容。近年来OKR工作法被人诟病的很大原因之一就是管理层不清楚一线岗位的具体工作目的和内容。

对于研发团队而言,目标只有一个:在尽可能短的时间内,提供尽完善的软件产品,及其售后支持

通过质量循环法制定工作内容

讨论与罗列真正的目标,最恐怖的事情就是投入成本在“非真正目标”上

设计切实的实现步骤,并且需要关键数字来表达这些步骤

删除多余的步骤重复设计

重复删除,直到取得满意的工作过程

思考能不能加速思考能不能自动化

以上职位包含量化指标包含:

首席架构师:行业文档 UML更新频率 任务看板成功率内外部工单数量

运维专家:数据库稳定性指标产品稳定性指标

后端开发:需求 commit BUG commit

前端开发:需求 commit BUG commit

产品测试专家: checklist 历史

3.一些团队协作技巧

在软件开发之前,使用UML

在表结构设计时,遵守数据库第一、二、三大范式:即保证列的原子性、列要保持和主键强关联、列之间没有关联;

对资源路径统一进行配置;

合理进行领域划分:Model 代表现实世界的抽象、Schema 使用了某种方式呈现Model、Entity 代表实际在数据库中的数据;

保证领域中事务的 Atomicity 原子性 Consistency 一致性 Isolation 隔离性 Durability 持久性;

善用 SOLID 原则编写代码:如服务中的 controller / service层代码、客户端中的 view 层代码;

预留日志入口、测试入口;

客户端中统一拦截并封装网络请求、保证领域中的数据对接

客户端中统一UI框架(需要考量的点包括:CSS支持程度、Card 卡片样式、Button 按钮舒适度、Icon 支持程度、Input 输入框支持程度、Notify 全局提示、Pagination 表格分页、Table 表格自定义程度/可展开、Virtual Scroll 虚拟滚动)

...

数据库安装包括:数据库选型 mongodb postgresql、数据库分析介入GUI、数据库备份

语言运行时安装、git 安装、代码拉取与构建流程、nginx安装与配置

关键词:

Copyright   2015-2022 北方供销网版权所有  备案号: 京ICP备2021034106号-50   联系邮箱: 55 16 53 8@qq.com