和许多其他开发人员一样,我在不知道自己要做什么的情况下迈出了软件开发的第一步。第一个小型实验项目惨遭失败,完全无法使用且不稳定。但所有这些问题似乎都可以通过更好的代码来解决,我的目标已经确定:构建人们需要并喜欢使用的程序和功能。在路上我才慢慢意识到,仅仅写代码可能是不够的。这个旅程一直持续到今天。在此期间,我对软件开发的看法发生了多次深刻的变化。我想与您分享重要的见解和想法的改变,从而为您在软件开发领域提供方向。
从瀑布到大海
我进入软件开发的前两个步骤是一个 Hello World 和一个计算器,该计算器基于一种名为 Windows Forms 的过时技术,该技术允许您为 Windows 桌面 PC 编写程序。顺便说一句,“Hello World”是一个显示文本“Hello World!”的小程序。它通常是学习编程语言时构建的第一件事,以了解它是如何工作的。
我的“Hello World”并不漂亮,计算器也很笨重——但这是我的第一个程序,我认为编写好的程序只是需要练习。
大约三年后 - 我的专业培训完成 - 我现在正在研究机器控制程序,并关注编程功能以及如何将该程序从我们的计算机传输到客户的计算机。到目前为止,我所有任务的流程都是相同的:首先,我准确定义了开发应该产生 老年人保险线索 的内容,制定了如何实现这一目标的计划,然后开始编程。这种方法称为瀑布模型。
瀑布模型乍一看似乎明智且简单得令人着迷:您精确定义目标,详细计划到达目的地的旅程,然后沿着您所规划的路径前进。这种方法的问题在于,它与我们世界的本质和软件开发的本质并不一致。世界正在不断变化且速度越来越快,这导致需求、优先事项和目标不断变化。就软件开发而言,它是一个创造性的过程,在这个过程中,在实现目标的过程中,您必须找到解决方案来解决沿途才变得明显的问题。
简而言之:我花了很长时间开发大型功能,很少按计划完成它们,最终的结果很少是真正需要的。这对我和用户来说都是令人沮丧的,并且离我的目标还很远。
在这种情况下,我了解了开发优秀软件的第一个重要要素:敏捷性。
敏捷是由一小群经验丰富的软件开发人员在 20 多年前通过《敏捷宣言》创立的一项倡议,它通过其简单、面向目标和灵活的原则征服了软件开发世界。敏捷宣言由四项原则组成,将合作、灵活性和功能软件置于软件开发的中心。当今最著名的敏捷方法是 Scrum。
它由敏捷宣言的两位作者开发,并由他们维护至今。 Scrum 是一个轻量级框架,它定义了小型团队开发的职责、事件和工件。这样做的目的是让团队能够逐步开发出可以随时使用的有价值的软件。定期对要求和实施情况进行比较,预计会出现误解、障碍、优先事项的变化和目标的变化。因此,瀑布模型将软件开发视为从巨大瀑布顶部有计划的跳跃,而 Scrum 将其视为穿越浩瀚大海的旅程,需要定期修正路线。这使得 Scrum 更适合不断变化的世界,并已成为现代软件开发的事实上的标准。