理论探索,欢迎交流!

全端开发者,也称为“全栈开发者”,是指能够独立完成软件所有工作的开发者,大家在讨论时可能更多的是在说Web开发者;不过,我们认为,任何类型的软件项目都会有全端开发者,这并不是什么遥不可及的事情!

为什么要提全端开发呢?因为本文的主题就是从项目的整体来讨论相关的软件方法,我们称之为“两端开发策略”,此为何物,下面道来。

首先,我们看一看软件开发的一般流程,如下面的示意图。 enter image description here

当然,实际的开发工作中还包括更多的细节,这里就不一一讨论了。在这里,我们主要关注流程中的方向及相关的节点。在这一流程中,虽然每一步都有开发者的参与,但两端的“获取需求”和“交付”环节,用户都起着决定性的作用,即从用户提出要求到确认项目交付。

实际上,开发者与用户就是整个软件项目过程中的关键,因为任何技术或软件产品,最终都是人们制造的产品,也同时是人们生活和工作中的工具。那么,我们是不是可以换个角度来思考软件的开发工作。

我们可以将自己看作比开发者更高的角色,也就是作为能够掌握软件项目全局的全端开发者,而实际的开发者和用户(需求)就是“两端开发策略”概念中的“两端”;这是从“人”的角度上看待软件项目,而他们的交汇点就是对于软件项目的“认知与理解”。

另一方面,我们也知道,软件是要有很多技术来支撑的,所以,从技术的角度上讲,“两端”就是指“开发技术”和“软件功能”,而它们的交汇点就是“开发方法”。

下面就是关于“两端开发策略”概念的示意图。 enter image description here

实际上,我们可以看到,“两端开发策略”的本质就是从“人”的角度来思考软件的开发问题,而这其中的两个主角就是“开发者”与“用户”,但我们知道,人和人是有很大区别的,而重要的是,不同的人对于相同的事物,理解上可能会有着天壤之别,所以,人在软件项目中的影响,以及所带来的不可预知性永远都是不容忽视的。

整个软件项目的开发过程中,开发者和用户就是主角,而他们之间的交汇点就是决定软件项目成功的关键所在,也就是说,对于软件的认识和理解,以及正确的开发方法才是软件项目成功的关键所在。

开发者。飚代码、拖控件、加加班、不停地学习新技术、……,这也许是很多开发者的真实写照;不过,作为开发者,我们完全可以做的更多,比如,真正地理解用户对于软件的需求、合理地使用技术与方法、高效地开发软件,最终,开发者和用户都会从中受益。

用户。有时候,他们会对软件功能,甚至是开发技术夸夸其谈,而事实是,他们并不是软件开发者(如果他们是,不如自己开发得了,对吧?!)。那么,问题来了,开发者应该如何应对用户的要求呢?如何从中提炼出真正的需求呢?作为开发者,需要的不是个性化的用户要求,而是真正懂得实际工作的用户,他们是能够完整地、正确地描述实际工作流程、方法和结果的人,而这一过程所得到的成果,也就是真正的软件需求,应该是用户能够使用软件提高工作效率的那部分内容(软件类型不同,目标也会有所差异)。

交汇点。实际上,交汇点上的内容是软件项目成功的关键所在,但是,人,也就是开发者和用户的影响依然是决定性的。其中,开发者是最终做出决定的人,只不过,对于用户的影响,开发者必须做出抉择。但是,开发者不是神,他们依然会受自己的技术水平范围、性格、认知,以及对事物的理解等众多方面的影响;所以,开发者的决定一定是正确吗?如果你的软件让用户感到满意,甚至是有些惊喜,那么,答案就是肯定的!要达到这一目标,有太多的工作要做,不是吗?!

好了,先讨论到这里,这是我对软件开发过程的一些理解,欢迎大家进一步交流,共同进步。

当然,不是每一个开发者都会进行全端开发,那也是不实际的,但是,能够从整体上把握项目,并在每个开发环节都能够向正确的、统一的目标前进,那么,相信软件的整体质量也会有着强有力的保证!

最后,祝大家圣诞快乐!天天快乐!^^