本文主要对我在管理生意街手机项目过程中犯得一些错误进行记录,方便以后查阅,防止再犯同样的错误。
项目的成败,管理者要负全部的责任。因为项目的第一步是选择要不要做,对于一个有选择权的项目(不是上级压下来的),管理者需要全面的考虑项目的可行性、利润点、潜在风险。
在接手此项目之前,我并没有开发或者管理iPhone和Android项目的经验。因此,在项目过程中,我犯了很多错误,好在最终项目能够顺利结项,而我也从中学到了很多。
面对问题、掌握难点
首当其冲的是“回避问题”,外包软件开发者大多会依赖管理者对项目进度的追踪,往往自己被盯得紧一点,办事效率也会高一点。这次自己做管理者,最大的教训就是:如果管理者不主动尽早把潜在问题看透、说透,在开发后期,从预算、时间上,管理者都要付出几倍的代价。
管理者的另一方是客户,在与客户沟通的时候,不能够吝啬时间;特别是类似生意街手机应用这样的小项目,一定要尽可能的把需求的重点谈清楚,比如一个动画效果、社交网站分享、各个按钮的行为,要做到心中有数,否则这些模糊点,很可能就是后来令你发疯的问题点。
沟通需求、强调后果
本项目种,我在和客户谈好了价格、周期后,才开始从网上找开发者。这样做可能会耽误几天的时间,但其好处在于,可以把需求谈清楚。对于外包项目,开发成本(价格、时间)往往更容易受到需求变动的影响。需求变动的次数越多,开发成本就越昂贵。另外一点,管理者与外包开发者往往是通过IM和邮件沟通,管理者对开发者的能力并不是十分了解;比较保险的做法是尽可能的强调项目中的技术难点,以及无法完成的后果;通过外包平台的On Board记录这些内容,以便于在管理、沟通中掌握主动。
了解能力、沟通时间
尽可能的选择有较多项目经验的开发者。当然,这也要考虑到预算、运气的成分。保守的做法,是选择自己合作过的开发者,因为彼此都比较了解。这一次在选人上,错误的选择了一个在校大学生,虽然他的开发能力、做事态度都满足了我的要求,但项目的周期是在年末,学生因为考试无法抽出充分的时间在项目上,间接的对项目预算、周期造成了负面影响。
分析依赖、确定预期
对依赖关系的了解不够,在本项目中,手机端需要依赖网站的接口。在签订合同时,网站接口并没有实现,而是需要我方提供一个接口需求文档。由此,大致可以分析出客户公司的开发人员与市场人员的沟通并不流畅,管理者理应讲明此问题,并降低对接口部分开发效率、完成质量的预期。事实证明,接口方负责人严重的影响了本项目的开发进度,而我方变相的成为了接口的测试者,并因此耽误了很多时间。在签订合同时,管理者理应对此方面做出详细的说明:谁负责接口开发,谁负责功能性测试,谁负责稳定性测试,谁编写接口文档;因客户方的原因,导致开发进度受影响时,开发周期、项目预算是否可以调整;甚至,管理者可以考虑延期签订合同。
一些细节、减少沟通代价
对于开发者,可以要求提供紧急联系方式,方便在遇到严重问题时,及时联系。可以要求客户提供一个代码托管平台,或者要求其允许使用如Google Code的免费平台,在项目测试阶段,可以要求测试人员使用Issues功能,降低管理者在项目沟通上的权重。
好的心态、第一步很重要
项目的成败是由管理者主导的,所以管理者本人要具备一些积极的心态:掌握主导地位、主动面对困难、保持思维清晰、善于沟通和化解矛盾。在本项目签订合同时,我对项目时间的估计过于乐观,在价格谈判中也稍微软弱,这些导致后来在成本控制、时间管理上的困难。这些问题在生意街手机应用这样的小项目中,暴露的并不明显;不过我认为,如果项目规模较大,这些问题的负面影响将会明显的暴露出来;那时,在时间、价格上的妥协无异于自讨苦吃。
最后贴上一段我认为还蛮不错的做人道理,是我父亲发给我的,以示自勉:
人生三大遗憾:不会选择,不坚持选择,不断地选择;人生三不斗:不与君子斗名,不与小人斗利,不与天地斗巧;人生三大陷阱:大意,轻信,贪婪;人生三大悲哀:遇良师不学,遇良友不交,遇良机不握。人生三大不争:不与领导争锋,不与同事争宠,不与下级争功。