作为一个年轻,缺乏经验的开发人员为客户做一个人的开发工作,我想当我被问到是否需要任何东西时,我只需要我的笔记本电脑和开发环境。稍后再进行一些测试,我意识到我需要在我无法访问的操作系统上测试我的软件。
所以现在我知道要问这个问题。
我应该问什么其他的东西?我应该寻找什么?
答案 0 :(得分:3)
文档:
良好的需求规范将为所有利益相关者提供与待开发软件相同的图片,并有助于以后解决合同问题。如果需要,请参考有关软件要求的参考资料(Karl Wiegers的软件要求是一个很好的来源)。确保它是准确的并且保持最新 - 如果客户认为软件不完整并且拒绝支付,您将依赖于此。
软件:
大致了解要完成的工作(或者如果您有完整的规范,甚至更好)和开发语言。在规范中列出的要求中,确定哪些语言支持,哪些不支持。确定是否需要购买第三方库以完成不受支持的要求(用户界面控件等)。您可能希望在合同中包含此价格。除非您认为可以在其他项目中重复使用它们,否则您不希望因此而无法支付账单。
还要考虑开发软件,数据库软件等。对于不同系统配置的测试,具有操作系统许可证的虚拟化软件将会很有帮助。
人:
有额外的程序员可以提供帮助,但添加程序员不会使输出翻倍,特别是如果他们缺乏经验并需要您的帮助。随着团队的发展,拥有精心编写的需求和经过深思熟虑的设计使每个人都处于同一页面变得更加重要。除非工作量足够大,否则我不会这样做,因为你将不得不花费部分时间来管理其他程序员。
致力于编写文档(用户手册,帮助页面,一些技术规范)的人可能很有用。如果需要大量文档,这可能值得考虑,因为它可以让您专注于您最擅长的事情。我从来没有一个技术作家和我一起工作,但我真的想尝试一下,看看它是否有所回报。
答案 1 :(得分:3)
一些想法:
答案 2 :(得分:2)
“在我无法访问的操作系统上测试我的软件。”您需要vmware(假设是Windows)和其他操作系统的许可副本才能启动。
如果您在实时服务器上进行开发,那么您需要一个开发服务器。
如果工作太多,那么你需要帮助。
答案 3 :(得分:1)
我是一个人项目。
我会为有能力的合作伙伴开发人员杀人。我知道这可能不是你的意思,但让不同的人与你合作真的很有帮助
答案 4 :(得分:1)
除了你已经识别的项目,我还想要