微软澳大利亚的解决方案架构师Tom Hollander,在TechEd Australia大会上举行了一场题为“敏捷团队中的架构师角色”的演讲。在演讲中,他讨论了他作为领导敏捷团队的架构师所做的工作。
在谈到架构师的角色时,Hollander指的是“解决方案架构师”或者应用架构师。他不是指企业架构师或者其他的专业人士(专精于特定的领域,例如消息或基础设施)。
Hollander的团队采纳了由4周迭代以及最后的稳定阶段(几天代码冻结的时间)组成的流程,实施了每日站立会议、每日构建与自动化测试的持续集成等实践,并采用了许多角色:
- PjM——项目经理,类似于Scrum Master,确保团队遵循了流程
- PdM——产品经理,也被称为客户或Product Owner,决定产品应该是什么样子
- 架构师——解决方案/应用架构师
- 开发人员——开发团队
- 测试人员——测试团队
- 用户体验设计人员(UX)——用户体验团队
- 发布人员——承担构建和发布的职责,负责维护构建的流程
Hollander针对解决方案架构师如何在敏捷团队中取得成功,提出了最重要的十件事情:
- “正好足够”的预先设计——除了非常简单的项目,一定时间的预先设计(例如,1到2周)是绝对必要的,其时间长短会取决于应用的类型——网络应用程序、智能客户端(smart client)、移动或批处理,基本的功能需求是什么,是长期的解决方案抑或是折衷的、暂时的方案,都要弄清楚。预先设计的目的是要决定:使用什么技术——例如,ASP.NET或MVC,应用程序是什么类型——2层、3层抑或是面向服务的应用,如何访问数据库——存储过程、实体框架、LINQ、依赖注入(DI)。一篇简短的文档就可以包含所有这些信息以供大家参考