在传统、也最为普遍的软件开发流程观念中,科技公司的程序员并不被视为设计者,而是负责实现他人设计的人。毕竟,程序员的工作就是编写代码。编码被看作一项“施工”活动,而人人都明白,施工开始之前,必须先完成建筑设计。
真正的设计工作由专门的软件设计人员完成。工程师负责设计,再将设计交给程序员,由程序员按照软件工程师的规格要求将其转化为代码。按照这种观点,程序员只需具备足以理解所交付设计的软件架构能力即可。
实际的设计工作由专业的软件工程师负责。以 RIADVICE 为例,我们精通软件设计,先完成设计,再交给程序员,由他们按照软件设计人员的要求将其转化为代码。在这种情况下,程序员只需具备足以理解所交付设计的设计能力,软件工程师则让程序员更容易地塑造代码。
我们不妨把软件开发中的种种“现实”看作一条光谱。上面描述的情况位于光谱的一端。这种以交接为基础的模式,在规模更大、更复杂的项目中,以及拥有悠久传统软件工程文化的公司里更为常见。
光谱的另一端则没有工程师,只有程序员,由程序员全权负责系统设计。
在这两个极端之间,还存在着许多其他的现实情况。
- a)纯粹、传统、分工明确的软件工程,程序员拿到的是极其详尽的“完整设计”;
- b)微型开发团队,程序员是绝对的主角。设计人员、首席程序员或“架构师”则在这两极之间的“中间地带”工作。
RIADVICE 以端到端的敏捷软件工程服务涵盖上述所有方面,从原型设计、软件架构,到设计、UI/UX 和质量保障,全程遵循敏捷原则。
此外,我们还通过产品开发、软件现代化和企业解决方案等服务,帮助科技公司实现其软件设计目标。
如需了解我们完整的软件设计与工程服务,欢迎随时访问我们的 软件工程页面。





