你是一个单人开发团队,有人问你需要什么资源。你要什么?
作为一名年轻、缺乏经验的开发人员,为客户进行单人开发工作,当被问及是否需要任何东西时,我认为我只需要我的笔记本电脑和开发环境。稍后进行一些测试,我意识到我需要在我无法访问的操作系统上测试我的软件。
所以现在我知道要问这个问题了。
我还应该问什么其他问题?有什么我应该寻找的吗?
Being a young, inexperienced developer doing one man development work for a client, I thought I'd just need my laptop and a development environment when asked if I needed anything. Flash forward to some testing later on and I realize I need to test my software on operating systems I do not have access to.
So now I know to ask about that.
What other stuff should I be asking about? Anything I should be looking for?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
文档:
良好的需求规范将使所有利益相关者对要开发的软件有相同的了解,并有助于以后解决合同问题。如果需要,请参阅有关软件需求的参考资料(Karl Wiegers 的《软件需求》是一个很好的来源)。确保其准确并保持最新状态——如果客户认为软件不完整并拒绝付款,您将依赖这一点。
软件:
大致了解要完成的工作(或者如果您有完整的规范,那就更好了)和开发语言。在规范中列出的要求中,确定哪些是该语言支持的,哪些不支持的。决定是否需要购买第三方库来完成不受支持的要求(用户界面控件等)。您可能希望将其价格包含在合同中。您不想为这些费用而陷入困境,除非您认为可以在其他项目中重用它们。
还要考虑开发软件、数据库软件等。为了在不同的系统配置上进行测试,具有操作系统许可证的虚拟化软件将很有帮助。
人员:
拥有额外的程序员可能会有所帮助,但添加程序员并不会使产出加倍,特别是当他们缺乏经验并且需要您的帮助时。随着您的团队的成长,编写良好的需求和经过深思熟虑的设计以使每个人都保持一致变得更加重要。除非工作足够大,否则我不会这样做,因为你将不得不花费部分时间来管理其他程序员。
专门撰写文档(用户手册、帮助页面、一些技术规范)的人可能会很有用。如果需要大量文档,这可能值得考虑,因为它可以让您专注于您最擅长的事情。我从来没有和我一起工作过技术作家,但我真的很想尝试一下,看看是否有回报。
Documentation:
A good requirements specification will give all stakeholders the same picture of the software to be developed and can help resolve contractual issues later. Consult references on software requirements if needed (Software Requirements by Karl Wiegers is a good source). Be sure it is accurate and kept current--you will rely on this if the client feels the software is not complete and refuses to pay.
Software:
Get a rough idea of the work to be done (or if you have a complete spec, even better) and the development language. Of the requirements listed in the spec, determine which are supported by the language and which aren't. Decide if you will need to buy third-party libraries to complete the unsupported requirements (user interface controls, etc.). You will likely want to include the price for this in the contract. You don't want to get stuck paying the bill for these unless you think you can reuse them in other projects.
Also consider development software, database software, etc. For testing on different system configurations, virtualization software with operating systems licenses will be helpful.
People:
Having extra programmers can help, but adding a programmer does not double the output, especially if they are inexperienced and require your assistance. As your team grows, it becomes more important to have well-written requirements and a thought-out design to keep everyone on the same page. I wouldn't do this unless the job is big enough for it, since you will have to spend part of your time managing the other programmers.
Someone dedicated to writing documents (user manuals, help pages, some technical specs) can be useful. If a lot of documentation is required, this might be worth considering, since it will allow you to focus on what you do best. I have never had a technical writer work with me, but I would really like to try this and see if it pays off.
一些想法:
Some ideas:
“在我无法访问的操作系统上测试我的软件。”。您需要 vmware(假设是 Windows)和其他操作系统的许可副本才能启动。
如果您在实时服务器上进行开发,那么您需要一个开发服务器。
如果工作量太大,那么你就需要帮助。
"test my software on operating systems I do not have access to.". You need vmware (assuming windows) and licensed copies of the other operating systems to start.
If you are developing on the live server, then you need a development server.
If the work is too much, then you need help.
我是一个人的项目。
我会杀死有能力的感兴趣的合作伙伴开发人员。我知道这可能不是您所讨论的意思,但是让不同的人与您合作确实很有帮助
I am one-man project.
I would kill for competent interested partner developer. I know this is probably not which you meant in question, but it's really helpful to have different person collaborating with you
除了您已经确定的项目之外,我还想要
Besides the items you already identified, I would want