`
saybody
  • 浏览: 867479 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics