🔥 通过团队协作,搭建WEB产品
前言
个人和社会越来越多地依赖先进的软件系统。这就需要我们能够既经济又快速地生产出可依赖和值得信赖的系统
从长远来看,运用软件工程方法和技术去开发软件系统比单纯为个人程序项目写程序更加便宜。对大多数类型的系统来说,绝大多数的钱都花费在软件投入使用后对软件的变更上。软件工程是一门工程学科,涉及软件生产的各个方面,从最初的系统描述一直到投入使用后的系统维护,都属于其学科范畴。软件工程不仅涉及软件开发的技术过程,也涉及诸如软件项目管理以及对那些支持软件生产的工具、方法和理论的开发等活动。
1.WEB产品开发首先要做的第一件事,就是设立职位,并为之安排合适的人员
这里仅讨论软件开发所需要的人员,不讨论软件产品的商业销售、运营等问题。
需要设立的职位包含:
实际环境中,职位一定要根据实际需要进行设立,并需要领导层十分清晰明确此职位的工作目的、工作内容。
2.岗位确定后的第二件事情,就是要确定研发团队的开发战略
开发战略指的就是自顶而下,明确团队目标,并量化每个岗位的工作目的和工作内容。近年来OKR工作法被人诟病的很大原因之一就是管理层不清楚一线岗位的具体工作目的和内容。
对于研发团队而言,目标只有一个:在尽可能短的时间内,提供尽完善的软件产品,及其售后支持
通过质量循环法制定工作内容
- 讨论与罗列真正的目标,最恐怖的事情就是投入成本在“非真正目标”上
- 设计切实的实现步骤,并且需要关键数字来表达这些步骤
- 删除多余的步骤重复设计
- 重复删除,直到取得满意的工作过程
- 思考能不能加速思考能不能自动化
以上职位包含量化指标包含:
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安装与配置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话