“设计师是设计问题,程序员是解决问题”这句话是错误的!在软件开发过程中设计师的专业职称叫做软件架构师。
首先,目标上,在软件开发过程中是以产品需求为导向,设计师(架构师)、程序员都是围绕需求展开工作
设计师(架构师)的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。而程序员负责软件项目的详细设计、编码和内部测试的组织实施,完成项目的实施和技术支持工作。从职能定义上来看,两者并不存在对立关系,他们都是对项目负责,以完成项目为最终目标。
其次,技能上,设计师(架构师)的工作并非设计问题,而是决定软件的高层次架构,完成整体系统的概要设计
可以这样说,一个设计师(架构师)的好坏决定了整个软件开发项目的成败,反之一个水平差的架构师,会让整个软件系统遭到灾难性的打击,正如建大厦一般,这座大厦的整体结构都不稳固,越往上建风险就越大,随时有坍塌的风险。如果架构师的技术选型、框架搭建这些没做好的话,就正如建大厦一般,开发越接近尾声问题也随之越多。而这时候出现“设计师是设计问题”的这种嘲讽,也是情有可原。
再次,项目的顺利展开,不仅是设计师和程序员,总体把控很重要
当出现程序员或项目组中其他成员有“设计师是设计问题,程序员是解决问题”这样的抱怨的时候,项目经理这样的角色就要紧急介入,审查整个软件开发过程之中是否存在设计上的不合理,或者其他问题,要提前把控风险。
总结
一个完整的软件开发过程包含以下:需求调研、分析、软件概要设计、详细设计、编码、集成测试、交付测试、运维流程,项目如要落地,每个环节都要严格控制,特别是软件设计,要做好严格的评审工作,这样程序员编码才会更加顺利。