2022年能力提升策划

目标

对于能力之前的理解都是,是否可以做TDD、需求分析、业务能力、架构设计等等具体的能力项。但是这些能力能够解决问题是零散的,没有聚焦在一个完整的职业需要的技能上。 现在我转换了一下思路: 假设我现在离职了,需要换一家工作,那么我想些什么工作呢? 结合我现在的基础,我想做软件工程后中间一段的事情,包括:需求分析(偏向软件侧)、架构设计、软件设计、这样的事情。具体到实际可能的职位:

  • 开发团队的教练
  • 产品架构师
  • 技术Leader 基于要达到这个目标,我需要具备的能力就可以场景化为:
    一个公司在做一个产品时,遇到各种设计和开发中的问题,需要一位教练来改善软件研发过程。
    今年的目标就是作为教练能够指导一个团队完成产品分析和落地。

虚拟推演

在这部分,假设我做为敏捷技术教练进入一个团队,辅助这个团队完成软件产品的改造和能力提升。按照时间顺序推演整个过程包括如下环节:

  • 组织业务专家和技术专家完成问题复盘,总结出各个环节的问题。后面在不同环节进行分别寻找办法
    • 在这个过程中,需要组织会议进行复盘(如何进行引导,问题又如何确定是真正的问题,如何确定到最本质的问题以及不可变约束)
    • 需要区分哪些软件开发环节,这些环节又是基于什么划分的?
  • 需求分析:描述需求、确定问题域范围、需求实例化、需求分析规范和格式
    • 需求描述,需求实例化,明确解决的问题,以及需要解决的场景和外部系统
    • 输出需求分析的DoD
  • 收集非功能需求:扩展性、性能、可靠性、成本等
    • 这些也要考虑并合并到上面需求实例化中
  • 通过前面问题域内容:进行架构设计、通用域选型(服务框架、中间件、语言、软件框架),规格标准确定
    • 考虑当前确定因素(软、硬)
    • 进行系统架构设计
    • 进行组件软件架构设计
    • 进行外部设施的选型
    • 进行语言的选型
  • 进行敏捷中需求队列,任务排序的实施,迭代的制定
    • 交付管道的敏捷流程管理方式
  • 进行软件架构的搭建(DDD战术设计),并且进行开发指导(TDD)
    • clean architechure
    • tdd + DIP + 端到端
  • DevOps搭建
    • AC + 自动化流水线

以上具体推演总结各个环节的实践经验,并且将每个环节进行详细描述,并通过实践经验进行串接。

过程中任务拆分



blog comments powered by Disqus
—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —