工程实践概述
工程化思维、实践体系与工程师素养。
1. 工程化思维
1.1 什么是工程化思维
工程化思维是将系统性、规范性、可度量的方法应用于软件开发全过程。
| 思维 | 说明 |
|---|---|
| 系统思维 | 关注整体而非局部 |
| 权衡思维 | 没有银弹,只有取舍 |
| 度量思维 | 数据驱动决策 |
| 迭代思维 | 小步快跑,持续改进 |
| 防御思维 | 假设一切可能出错 |
1.2 工程师素养
| 素养 | 说明 |
|---|---|
| 技术深度 | 至少一个领域的专家 |
| 技术广度 | 跨领域的技术视野 |
| 沟通能力 | 清晰表达技术方案 |
| 协作能力 | 团队协作完成目标 |
| 学习能力 | 持续学习新技术 |
| 工匠精神 | 追求代码和设计质量 |
2. 工程实践体系
2.1 实践维度
| 维度 | 实践 |
|---|---|
| 设计 | RFC、ADR、技术方案 |
| 编码 | 编码规范、Code Review |
| 测试 | 单元测试、集成测试、E2E |
| 构建 | CI流水线、自动化构建 |
| 部署 | CD流水线、蓝绿部署 |
| 运维 | 监控告警、On-Call |
| 协作 | 站会、回顾、知识分享 |
2.2 实践成熟度
| 级别 | 特征 |
|---|---|
| L1 初始 | 依赖个人能力,无规范 |
| L2 可重复 | 基本流程可重复 |
| L3 已定义 | 流程标准化和文档化 |
| L4 已管理 | 量化度量和控制 |
| L5 优化 | 持续改进和创新 |
3. 核心实践原则
| 原则 | 说明 |
|---|---|
| 自动化优先 | 能自动化的不手动 |
| 文档即代码 | 文档与代码同步维护 |
| 左移 | 尽早发现问题 |
| 反馈闭环 | 快速反馈、持续改进 |
| 渐进式推进 | 小步验证、逐步推广 |