产品设计体会(2006)外行眼中的技术分工

技术人员的全面介入,可以简单的看作以“需求分析初稿完成”为界,需求完成以后,派生出几个设计:交互设计、编码设计、数据库设计、测试设计,各自设计完成并执行以后,再部署发布。

具体的说一下,交互设计这块,主要是做软件和用户交互的工作,分工有从最直接的视觉设计师到使用感受上的用户体验师(交互设计师)再到偏代码实现的前端工程师

编码设计,比较偏概要设计的有软件架构师(比如整个系统的表结构设计),具体到coding的层面就是最常见的开发工程师,他们也会有分工,比如偏应用、偏底层数据库、专做搜索引擎,等等。

数据库设计,对于大用户量的应用特别重要,而阿里的用户数实在是比较多,所以相应的人员——DBA数据库管理员,在业界也确实是比较强的。

测试设计,就比较单纯了,相应的人员就是测试工程师,再细分一点就有功能、性能等等,一般来说性能测试会写一些自动执行的脚本,感觉更高科技一点。

上述各项工作完成之后,就要把各方面准备好的产出物拼在一起部署发布,那么就牵涉到硬件方面的管理,这就是SA系统管理员。对于BS应用,感觉部署方面的工作比传统CS软件简单一些。

对于软件项目的整个过程,需要在流程/规范上做控制以防止低级失误的发生,比如有时候需求人员会觉得某个功能的改动很小,就直接叫开发人员改而跳过测试人员,这样违反流程的行为对于复杂的系统是极其危险的。所以产生了SQA,也就是软件质量控制人员,这块和测试不一样。

对于多次不断发布的产品、多分支开发的产品,配置管理员SCM)就显得非常重要了,有他们的控制,就不会发生“某个bug在新代码发布之后重新出现”这样的低级失误,或者分支切来切去乱成一团的情况。像简单的用SVNCVS来管理文档、代码的更新、软件版本的变更、日构建/发布的控制,就是SCM的雏形。

------------------------------------------------------------如果你想第一时间看到最新内容, 就猛击此处订阅吧!

《产品设计体会(2006)外行眼中的技术分工》有5个想法

  1. 如果说PM是元帅的话,那SQA更像是监军的职责:)

  2. 上述各项工作完成之后,就要把各方面准备好的产出物拼在一起部署发布,那么就牵涉到硬件方面的管理,这就是SA,系统管理员。对于BS应用,感觉部署方面的工作比传统CS软件简单一些。
    ———————-
    这个对SA的职责是存在误解的,SA并不仅仅只牵涉到硬件方面的管理,你这么说被大胡子看到了会翻脸的,服务器、存储、负载均衡上都有很多软件是需要安装维护的,至少像服务器的监控应用,性能软优化等等。所以大规模互联网应用的SA,绝对不会比传统CS软件的SA简单!

    iamsujie Reply:

    嗯,这块接触的太少,不够了解,呵呵。不过看起来一个企业邮局的系统,确实在SA相关的工作上就多了很多,想当年乙方都有专门负责这块的架构师

发表评论

电子邮件地址不会被公开。 必填项已用*标注