这个问题可能很难客观地回答,但对我来说很相关,我会尽量具体化,读到最后。
我同时进行 Web 开发(前端)和桌面开发(.NET)。我有大型项目的经验,主要是作为产品/客户所有者。
一个大型项目从编写基本文档开始,大致分为以下步骤:
- 商业愿景——我们最终想要得到什么以及为什么?
- 高级需求——一堆大特性
- 最小可行产品 - 从无法发布产品的功能列表中选择
- 应用架构设计和技术栈选择
- 通用界面设计理念和品牌
- 所选特征的规格——分解,特征的功能逻辑,每个特征的详细描述,考虑到用户的方便性
- 为开发人员设置任务,开始开发,原型设计
总的来说,要开始写任何东西,需要大量的工作,最好是一个十人的团队,至少需要 2 周。
通常对于单身人士来说是这样的——“让我们屏蔽一些界面,在代码中写下每个元素的行为,然后你就完成了。” 理解你要做什么和你在代码中写什么的过程同时发生,甚至代码跑在理解之前,结果是“随机开发”,然后要么是客户大吃一惊的眼睛”小心你想要的”,或者理解“一切都需要重写”。
也就是说,我看到了两个极端:完整的开发周期和生产中的错误。对于需要将项目从订单到发布的孤独的开发人员来说,中庸之道在哪里?问题总是一样的:在尽可能短的时间内开发人员的最佳效率。
问题如下:比如我一个人,比如有一个具体的口头任务“写另一个Telegram客户端”并且有对栈的理解,比如“.NET WPF + MVVM”,虽然这个在这个问题的背景下并不重要。然后什么?专业人士是怎么做的?