承接一个外包开发项目后,开发流程以及如何做好。 子曰

从2012年创业至今先后承接了几个小的软件开发项目,此贴仅仅是以个人经验为基础做的总结,欢迎大家可以讨论。


     1.项目接洽

  这个过程主要是和客户洽谈,了解客户大概需求并且为客户回馈信息。通俗的就是说首先你要知道客户想要做个啥软件,这软件主要是用来干啥的。你要跟客户说明白你能不能做这个项目,以及你做这个项目所具备的优势。

ps:这步很重要,首先你得让客户信任你的能力,其次得搞清客户的心里价位是否在你的承受价位内,不然做其他的工作都是没意义的。

    2.项目立项

  前期和客户谈完后,如果客户对你的团队或个人能力信任,报价也觉得合适。那这个项目就算是正式启动了。这个阶段一般你得把客户的大概需求细化,整理出“合适”的需求分析文档。为什么要强调“合适”?因为很多软件开发公司特别是日本公司有“文档病”,不管什么文档都要求写的累牍连篇,最后写完根本没人去看。

  所以自己接项目时写的需求分析要讲究实用,要求你在写的过程中要了解一下几点:1.将笼统的需求分解成众多功能点,开发这些功能点的难度及大致时间。2.细化后的需求点如有不甚明了的地方需要和客户确认。3.细化需求后还要形成文档,作为开发合同的一部分。

   3.项目正式开发

    如果是团队开发,你作为项目负责人要有以下能力:1.对团队各个成员的水平要非常了解。2.确定项目实现技术方案,依据就是团队成员的能力及你自己对此技术的把握(很多情况要你亲自顶上去救火)。3.估算出项目整体完成周期。

   开发过程中我会用一些项目管理工具来对代码及开发进度进行管理,代码管理用SVN,开发进度管理则通过将redmine。(可参考我写的项目管理文章

   因为我本人也是做开发的,所以就外包项目的开发经验详细跟大家交流下。开发项目时我一般会先设计出数据库,由于基本都是中小项目,所以没用很复杂的数据库设计工具,直接在纸上画出然后在sql里把表、字段等建完。然后用“动软”生成一份数据库文档和简单三层架构的底层代码。然后在.NET中新建项目就可以了,开发过程中我会遵守三项原则:1.只用我最熟悉的技术2.用最简单的方法实现功能3.功能实现上尽量“改”代码,不新写代码。目的只有一个,最短的时间内实现客户的要求。

   4.项目完成

    项目完成后下对客户交付,客户验收通过后收尾款。如有超过合同的需求,要算作二次开发需要加收开发费。这点也很重要,国内客户很多改来改去还不想加钱,如果你碍于面子默许了,相信我,这是你噩梦的开始。。。


    

原文地址:https://www.cnblogs.com/suixufeng/p/3336077.html