离岸软件项目—解决冲突
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我受命管理一个外包给一些乌克兰开发商的项目。 该公司以固定价格通过Elance雇用了他们。那时,我的老板让我一个人去处理它们并完成工作。我为需要完成的工作创建了详细的规范。 该项目涉及处理XMPP,RabbitMQ和数据库。在我与他们的第一次会面中(总是IM),我彻底解释了他们需要做什么。他们似乎理解了它-并且他们非常相信它将很容易做到。 到目前为止,一切都很好。但是一个星期后,当我们再次见面时,他们对需要做的事情充满了误解。当我问一个开发人员他是否知道XMPP时,他说他是第一次使用它。在我们的第一次会议上,我特别提到了项目的复杂性和所涉及的技术。另外,我一再要求他们编写一个功能规范,以确切地说明他们将如何做。但是他们说“不”,并坚持要宁愿编写代码。我说了可以。 该项目在3周后完成,他们交付了所需的东西。那时我开始查看代码。在大多数情况下还可以,但是存在一些重要问题: 他们将需要分离的一些东西硬编码为配置文件 我需要将多个配置文件合并为一个 他们没有写任何文件 其他一些小的变化 我要求他们进行这些更改(文档除外)-而且,我们有一个论点。 他们说,由于价格是固定的,我要求他们在完成工作代码后进行任何更改都是不公平的。他们在该项目上花费了不合理的时间,现在索要任何东西是完全错误的。 现在,他们终于进行了更改,项目结束了。但这在我心中留下了一些疑问... 他们做了所需的工作,但我需要正确完成,因此进行了更改。我真的不公平吗? 为什么我同意让他们在没有功能说明的情况下进行编码? 为什么我不能确保他们第一次了解所有内容? 有人发现自己处于同一位置吗?您是否认为有更好的方法来管理外包项目? -更新- 感谢所有意见-在考虑了全部经验之后,我可以得出结论... 尽管从我的角度来看我对规格并不模糊,但是我当然并没有像建议的那样使它们变得铁定。因此,收获是:始终尽可能具体-从他们的角度阅读规格,看看是否错过了一些东西。重复至少三遍。 仅指定代码应该做的还不够。您必须指定代码的外观。目录结构将是什么;甚至文件名(如果可能)。这样可以避免您日后烦恼。严格指定编码准则,变量命名约定,内部文档格式等。请确保它们遵守这些准则,否则请严格遵守。 从他们的角度要求功能规范-坚持在任何代码之前编写它。这将避免很多混乱和误解。 查看正在开发的代码,以便您更早地识别异常并进行纠正。每隔一天至少与他们交谈一次。 最后,尝试与他们建立良好的融洽关系。让他们感到您欣赏他们的工作。不要夸大其词以使其符合您的准则,而是请他们这样做并告诉他们,一旦他们完成该项目,这将使您对代码的维护变得非常容易。