单人应用程序开发?

use*_*383 14 project-management

大家好.我想对我一直试图找到一些信息的问题有所了解. 如果您是从头开始构建项目的独立开发人员,您如何管理项目? 在过去,我参与了一些已经发展成相当大的项目的个人项目.在几乎所有这些项目中,我都试图戴上在正常软件开发项目(即产品负责人,开发人员,架构师,测试人员等)中通常会出现的所有角色的帽子.似乎当我离开项目一段时间并回来时,很难回到我正在做的节奏中.所以,我有一些问题:

  • 如果我知道要求(在当前时间),我是否仍然记录它们?如果是这样,我该如何做,以及如何管理这些要求? 产品积压,功能列表等
  • 如果是这种情况,那么完整的产品积压或用例有点矫枉过正吗?
  • 如何有效地将他/她的时间用于各自的角色?
  • 人们会遵循什么样的正常事件? 立即开始编码,写下用户故事/用例,然后进入 OOA/D
  • 什么图表/建模对于这个级别来说足够了?领域模型,类图等

基本上,我很好奇当你是唯一的独立开发者时,SO社区中的每个人都会开始从开始到部署开发项目.需要哪些步骤,文档和其他项目相关的活动来帮助将这个项目从一个不切实际的业余爱好项目带到更专业的项目?任何帮助,参考或建议将不胜感激.提前致谢.

Jas*_*Cav 8

我发现,关于开发独奏的最困难的部分是让自己继续前进很难.即使你这样做是为了维持生计(AKA,经营自己的软件业务),除非你有紧迫的需求(AKA,如果你不赚钱就会挨饿),可能很难坐下来只是代码.

从您的角度来看,我建议遵循有意义的良好软件实践.例如,如果我是一名独立软件开发人员,我就没有理由创建一个协作开发环境.我真正需要的只是一个SVN服务器,我的IDE和一个记录文档的地方(可能会设置一个wiki或网站或其他东西).我个人会创建一个现实的时间表,并将努力坚持这一点.

至于文档的工作量,这实际上取决于您和您正在开发的产品.例如,我肯定会建议记录您的要求.除非你的产品是微不足道的,否则你无法记住它们以及为什么你想要某些产品而不是其他产品.然而,管理完整的积压工作本身就是一项工作.在独奏程序员的情况下,这可能没有意义.

基本上,我试图解决的问题(并且应该跟随每个项目 - 不仅仅是在这种情况下)都有足够的管理才有意义.其余的应该集中在产品的工作和开发上.

您可能想要研究的其他内容是阅读此内容 - Solo Developer的敏捷编程工作.还有其他类似的文章.可能会给你一些好的想法.