Project management 启动项目的最佳方式

Project management 启动项目的最佳方式,project-management,projects,project-planning,Project Management,Projects,Project Planning,当你开始一个个人编程项目时,你的第一步是什么?我正在尝试启动一个项目,目前这只是一个想法。我得到了很多这样的东西,我直接投入到代码中,过了一段时间就完全失去了兴趣,或者干脆忘记了这个项目 当你开始时,你的第一步是什么?你计划好这个项目了吗?做个图表?在纸上写一些代码?你如何以一种你知道你会成功的方式开始一个项目?对于我自己的个人项目,我只是直接投入其中。当然,这些都还没有足够大到需要任何形式的预先规划。如果这将是一个严肃的项目或规模相对较大的项目,最好至少列出程序的每个部分需要做什么,以及如何完

当你开始一个个人编程项目时,你的第一步是什么?我正在尝试启动一个项目,目前这只是一个想法。我得到了很多这样的东西,我直接投入到代码中,过了一段时间就完全失去了兴趣,或者干脆忘记了这个项目


当你开始时,你的第一步是什么?你计划好这个项目了吗?做个图表?在纸上写一些代码?你如何以一种你知道你会成功的方式开始一个项目?

对于我自己的个人项目,我只是直接投入其中。当然,这些都还没有足够大到需要任何形式的预先规划。如果这将是一个严肃的项目或规模相对较大的项目,最好至少列出程序的每个部分需要做什么,以及如何完成的高级视图。

在触摸键盘之前,我花了很多时间思考项目的各个方面

我回顾了我从以前的项目中学到的知识,并将其分为不同的类别(“技术”、“推广”等)

不管是不是个人项目,我总是设置源代码控制。Git、Bazaar的Mercurial都是源代码控制工具的示例,它们不具有侵入性,因为您不需要设置主服务器。只需键入一个简单的命令即可创建项目、签入文件和提交。将来,当你把一个文件弄乱时,你可以“撤消”

我还建立了一个轻量级的票证系统来跟踪1.5个问题和2.5个想法 我所说的“轻量级”是指,如果用这些列表维护两个文本文档对您有效,那就足够了


希望这能有所帮助。

对我来说唯一有效的方法是:创建尽可能小的、在某种程度上可用的实现,然后使用它。

首先规划出最终应用程序的基本轮廓。最重要的功能、基本GUI、程序流程等。然后对这些功能进行优化,使您一开始不会承担太多任务,删除不必要的功能,并在第一个版本中添加您需要的其他功能。然后使用该大纲启动任务列表,以创建应用程序的最小可能工作版本。这样就更容易添加额外的功能并使其充分发挥作用。

来自,习惯2:从目标开始

对于任何项目,你都需要一个明确的目标,一个你可以说“我完成了”的点。明确的结果会给你指明方向。一旦你做到了,你就可以开始计划如何到达那里。项目的规模和复杂程度将决定你的计划需要多少细节,但一般来说,你会想要感觉你的进度与你的计划相当有规律


我的下一步是勾勒出所需模块的设计以及每个模块之间的API。如果API是干净的,那么模块可能是正确的。然后我开始实现模块,边测试边做。

这取决于项目-它有多大

如果我正在编写下一个记事本克隆版,我可能会投入其中,如果我想推出自己的操作系统,那将需要更多的非编码工作

我喜欢做很多图表,我用于大多数开发的工具是干净的A4纸和铅笔。画出用户界面、工作流程、基本类,以及如何存储任何数据——然后,编码只是一种计算机可读的方式来编写已经绘制的内容

源代码控制。SVN只需几次击键/点击,因此开销低,收益高,可以方便地尝试一些东西,如果它们不起作用,就可以恢复到以前的状态


然后,只需制作最基本的原型就可以了——一旦某件事情真的发生了,就更容易产生热情并添加更多内容。如果它是压倒性的,我会发现我认为这个问题在我的头脑中已经解决了,这就足够了。

我喜欢马克西米利安的答案。。更进一步说,我的个人项目是为了解决我已经在做的事情而开发的。所以,当我厌倦了重复工作时,我会设计一个解决方案的原型。然后使用它。如果它与我以前的一个项目足够相似,我会尽可能多地借用代码,并尝试提高我的工作水平,使其更专业


Fusion对震源控制的使用也很重要。安装SVN需要2分钟

与其他项目一样,我的个人项目始终有:

  • 最终目标
  • 任务清单
  • 小型可用单元
  • 源代码控制

作为另一个激励因素,我尝试使用一种我从未使用过的技术。学习新东西通常会成为我最大的动力。

如果你想把它变成一个公开的开源项目,应该是一本很好的读物(网上和印刷品都有)。

很容易-不要开始所有你可能会失去兴趣的项目。在开始任何工作之前,花更多的时间来确保你想对一个想法做出承诺。

我同意已经给出的建议:

  • 规划一个最小的实现,作为第一个完整的版本做一些有用的事情
  • 对你想要达到的目标设定具体的目标,并与你的进步进行比较
我还建议您从整体架构的轻量级设计开始,这样您就可以有一个如何构建产品的路线图

我发现,当我不清楚至少在分解的第一个层次上它应该是什么样子时,就很难开始构建一些东西。想一想除了功能之外,你还需要什么:高性能、可扩展性场景、哪些场景、可用性目标、高可扩展性、易部署性和可安装性等等。问问自己:为了达到这些架构质量,我必须构建哪些组件

别误会,我是敏捷软件开发的坚定支持者。你不需要花很多时间来设计你的架构(因为它肯定会不断发展)