角色:软件设计人员
该角色负责系统软件的体系结构的开发,包括为约束整个项目设计和实施的关键技术决策提升和创建支持。
关系
执行:负责:
其他执行: 修改:
主要描述

软件设计人员对制定主要技术决策(称为软件体系结构)负全面责任。 这通常包括确定和记录系统在体系结构上的重要方面,包括系统的需求、设计、实施以及部署“视图”。

设计人员还负责提供这些决策的理论基础,平衡各项目干系人的利害关系,降低技术风险,并确保有效地传达、确认和遵守决策。

属性
多次出现
可选
已计划Yes
人员配备
技能

“理想的建筑师应该既是文学家又是数学家,还应该熟悉历史,钻研哲学,精通音乐,懂得医学知识,精通法学,熟悉天文学和天文计算。”- Vitruvius,约公元前 25 年

总之,软件设计人员必须是多面手,他必须成熟,有洞察力,并具备一定程度的经验,这样就可以快速把握问题以及在缺乏完整信息的情况下作出有根据的重大判断。 更明确地说,软件设计人员或体系结构团队的成员必须兼有以下技能:

  • 经验,在问题域(通过对需求的彻底了解)和软件工程领域。 如果有一个团队,那么不同的团队成员可以满足上述不同条件,但必须至少有一名软件设计人员具有对项目的全局洞察力。
  • 领导力,用以推动跨各团队的技术工作,在压力下制定关键决策,并坚持贯彻这些决策。 为达到效果,软件设计人员和项目经理必须紧密协作,前者领导技术事宜,后者领导管理事宜。 软件设计人员必须有权作出技术决策。
  • 沟通,以赢得信赖,去说服,去激励和去指导。软件设计人员不能通过强制命令进行领导,而只能通过项目其他成员的赞同。 为达到效果,软件设计人员必须赢得项目团队、项目经理、客户、用户群以及管理团队的尊重。
  • 面向目标和前期活动,专注于成果。软件设计人员是项目背后的技术驱动力,而不是幻想家或梦想家。 对于一名成功的软件设计人员,其职业生涯就是由众多在压力下和不确定情况下作出的次最优决策构成的。 只有那些能够专注于需做之事的人才会在这种项目环境中获得成功。

从专业技术角度来说,软件设计人员还需具备角色:设计人员能力。但与设计人员不同,软件设计人员:

  • 更像是一名通才而非专才,他对很多技术均有较深的了解,而不是对少数技术有很具体的了解
  • 作出范围较广的技术决策,因此广泛的知识面和经验以及沟通技能和领导才能都很重要。
分配方法

如果项目足够大而需要一个体系结构团队,则目标就是使才俊们很好地协作,涵盖各方面的经验,并分享对软件工程流程的共同理解。体系结构团队不必由来自各个团队、领域或承包商的代表组成。 软件体系结构是一个自始至终均存在的功能,需要有职员永久性地专门负责。

对于较小的项目,一个人可兼任项目经理和软件设计人员。 但应尽可能由不同的人担当这两个角色,以确保不会由于一个角色的时间压力而导致另一个角色被忽视。

更多信息