本人转载
现在外包的软件项目不断增长,但随之而来的,承接外包的软件公司、软件团队也越来越多,包括很多个人SOHO一族也加入到承接软件的竞争行列中来了,因此现在对于软件项目的争夺也很激烈。有很多人不知道上哪里去争取项目,总是抱怨没有项目做;也有的人虽然编程技术不错,但是对于与客户谈项目却是一窍不通,结果应该拿到的项目也拿不到手;也有的虽然已经接到了项目,却发现在实施开发的时候遇到好多从来没有遇到过的问题。作为一个多年从事外包项目接单的软件开发人士,我想从以下几方面谈谈我的经验,希望对大家会有所帮助。
第一点, 到哪里接项目
软件团队或SOHO最为关心的一点是在哪里可以找到项目做,也就是到哪里可以找到有外包需求的客户。对于一般人来说,广交朋友然后通过熟人介绍还是接项目的第一途径,但这要求你的朋友或熟人要在企业或公司里有比效重要的管理位置,对于像那些每天只能是埋头写代码的程序员这显然是不太现实的。所以大家不能等着项目来找你,而是要主动的出击去找项目。
现在网上有很多软件外包网站,在这里你可以找到不少的软件外包信息。比如软件商务网(bizsofts.com)上就有大量的软件外包信息。不过这里每天外包的项目虽然很多,但竞争也很激烈。一般一个外包信息发出后一天内就会有无数个竞争者,所以能第一时间与客户取得联系是非常关键的。因为客户一般都是先入为主的,一般来说,如果第一个谈项目的人他觉得满意了,就会对其他的竞争者不再予以考虑,所以你要经常上网站上看看有什么最新的项目,并立即与项目的发包方取得直接的联系。其他比如软件外包网、维客网、中国软件网,还有CSDN的外包频道上也有很多外包的信息,大家可以自己上去看看。
第二点, 如何与客户谈需求
接项目最重要的一步是与客户谈需求。客户对软件的需求是项目规划和实施的根本,所以在与客户谈需求时,一定要让用户将所有的想法尽可能的阐述清楚,并把所有的要求罗列出来。这时候不应该害怕“勾引”起客户的潜在需求而增加设计开发的工作量。而应该直接明白地要客户把项目的要求一条条地列出来。这时先把条理、归纳、分析先都扔到一边去,用纸笔将用户最原始、最完整的要求准确地记录下来。假如项目在你对客户的需求没有完全了解清楚的情况下就匆匆上马,那么就会随时发生意想不到的变更,轻则使项目延期或超出预算,重则使得原来已经做好的软件要彻底推倒重来。
所以我们在实施项目之前应该深入了解和挖掘客户需求,对某些不明确的需求要与发包方反复进行讨论,对于项目实施过程中的需求变更要规定处理办法,并形成项目的最终需求。在需求分析阶段,接包方首先对发包方的需求认真分析,然后通过业务建模、会谈、问卷、需求会议等方式收集客户完整需求,形成文档,然后经过客户讨论、客户审查、文档修订等多次反复的过程。有一点需要注意,即使双方谈的很投缘,在讨论需求时也一定要详细周到,精确到每一条不能再划分的软件功能为止。
第三点, 如何合理地报价
在完全了解客户的需求后,下一步就是要确定一个合理的报价。接包方要从跟客户的交谈中尽量地了解出客户的准确意思,思考客户想要的是怎样的一个软件,项目复杂的程度多大,客户的要求有多高,客户的性格如何,能够接受的价格范围等等,这些因素对于软件项目的报价都是密切相关的。如果客户要的是一个小型的软件系统,不太苛求有多全面的功能,只要满足某一方面的需要,并且客户又是一个比较随和的人,那么项目可以报一个接近成本的价格;相反如果客户要求的是一个面面俱到的管理系统,需要有各方面的功能,缺一不可,并且客户又是那种对项目要求严格苛刻,绝不变通的人,那就要充分考虑各种不稳定的因素,报一个比较高的价格。
在很多的情况下,客户在跟接包方谈项目之前,心理都已经有一个价格底线。如果要投入的费用超过了客户的预算范围,客户将不再与你谈该项目,他会转而找其它软件团队商谈。所以跟客户谈项目的过程中要迅速地思考客户需求的真正含义,能够通过某种转换和变通,把客户对于技术的要求与自己团队的技术力量可以接受的价格相对比,从而得出一个双方都能接受的报价。在与客户的谈判当中,灵活变通是成功的关键之一。当然并不是所有的客户都可以通过变通而满足,遇到客户不认同项目费用的情况一定要处之泰然,真诚地为客户解释,把客户的需求细化为技术上的要求给他分析,让他同意你的报价的合理性。即使客户对编程技术不是很了解,但经过你的细致的分析后也会对你的报价表示认同的。
第四点, 如何组织团队
由于客户的需求是不同的,因而项目也是各种各样的。有网站设计项目、也有软件设计项目,要求使用的编程语言也是多种多样的。即使是在一个项目中,比如说网站制作的项目中,也有着前台的美工设计和后台程序的编写的分工。这些工作如果全部交给一个人去作那是绝对完成不了的。即使是一个小的团队,也不能保证所有的人才都齐备。因此最好就是自己把项目初步设计好,然后找合作伙伴共同开发,自己总体掌握整个项目的全部进度。如果在身边没有好的合作伙伴的话,网上也能找到不少可以合作的伙伴。
这里推荐各地的软件技术QQ群,大家可以在群里找到各方面的编程高手来分工做项目。(北京39027867 上海22267033 深圳43353614 广州43275229珠海43275805 杭州43276029 福州43309190 南京43319646 武汉 43319996 成都42961245 重庆43320370 沈阳42408057 大连43321811南昌 43321932 长沙43323026 济南43353895 天津43353727 西安43353817 兰州 43966886 海口43967437 昆明41193579 石家庄17940180 合肥41418679 南宁 16537410 哈尔滨43965078 苏州43965528 长春43965640 宁波43966041 太原 43966123 青岛3630711 贵阳43966364)
第五点, 如何能收到项目款
这是整个项目中最后也是最难的一个环节。即使你的项目做得再好,如果没有收到款,那你前面的一切努力都等于是零。要想项目能顺利地收到款项,那么从项目未开始之前的谈判阶段就要对这一点加以注意。首先要判断对方是否是真心外包项目。这里有几点经验拿来给大家分享一下:如果你看到项目中说 “请提供完整的解决方案和成功案例发到某某邮箱”,这应该只是想套取设计方案而已,发几张你们公司或团队的推介广告和报价单给他即可。还有的客户张口就要源码要设计文档设计方案的,这种人目的性太强了,如果你真给了他就再也不理你啦。还有的外包方死活不肯介绍自己,不肯告诉自己是谁、怎么称呼、怎么联系、是什么公司、做什么业务的,与这种连最基本的诚信都没有的客户就根本没有必要谈下去。其次是判断对方是否有充足的资金和实力,项目要求是否合理(技术、周期等各方面)。这个可以在需求的谈判中可以有意识地来加以探明,如果对方的项目很大却老是强调项目非常简单,这应该是不想付足项目款;有的发包方坚持不肯给预付款,老是要求项目完成后再交全部款项,这应该是没有诚心付款。还有的项目要30天才能完成却只给几天的开发时间,这种项目外包方也是很值得怀疑的。
对于软件团队或个人SOHO族来说,由于不是公司,对方对于我们的信任度不会很高,所以对于大的项目一定要采用合同方式,这样出现问题才好解决。在合同中,最好订清楚分阶段来付款,这样有利于分散风险。比如,一般要求合同订好后先交30%的定金,项目进行到一半后待客户验证后交50%的项目款,全部项目完成并交付后再交清全部款项。这样做对于客户来说也比较好控制项目的进度,因此对方也比较容易认同并接受。
以上谈了软件团队或个人在承接软件项目时应该注意的几个关键问题,其实还有很多问题由于文章的篇幅所限没有涉及。比如对于项目的选择,有的人大的项目做不来,小的项目又不愿做。结果到头来什么项目都承接不到。因此一开始要把自己的期望值放低一些,先从一些几百元的小项目做起,有了一定经验后再接一些大项目,这样循序见进才能不断进步。
分享到:
相关推荐
Java 承接了 C/C++ 语法和许多 C++ 面向对象的特性,大多数程序员在学习 Java 时都不会觉得太难。 Java 语言的优点之一是它的设计人员努力使 Java 中不出现显得让人吃惊的特性。在 Java 中,很少明确地告诉你如何...
☆ Java程序员居家旅行必备课程 ☆Java学习指南系列的第3篇,承接高级语法篇,介绍基于Java Swing的GUI界面程序开发的技术。Swing系列教程分为两篇:(1) Swing入门篇 (2) Swing高级篇。通过本篇的训练,学员可以较...
在此我们团队有信心有实力承接各种项目。 用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,...
个人开发者也可以使用Open-Shop承接外包项目; 初学JAVA的同学可以下载源代码来进行学习交流 2 技术框架 核心框架:Spring Framework 4 安全框架:Apache Shiro 1.2 视图框架:Spring MVC 4 持久层框架:MyBatis 3 ...
适合人群:想要学习JavaWeb的新手小白,刚刚入门的朋友,大学想要走计算机方向的学生,在工作中想要增加增加全面技术的程序员。 能学到什么:你了解计算机要从哪里开始学习吗?你清楚为了能找到工作要学习多少知识...
图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行...
2. **源码**:源码是程序员用编程语言编写的原始代码,它是软件的“蓝图”,可以被编译成可执行程序。在众人帮蚂蚁帮任务平台修复版源码中,我们可以看到整个平台的架构、数据库设计、业务逻辑和用户界面等内容。 3...
DGIOT是国内首款轻量级开源工业物联网平台,我们致力于提供五类物联网解决方案。...一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。快速部署私有化平台,千万级承载,运营级底座,全开放扩展
DGIOT是国内首款轻量级开源工业物联网平台,我们...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
DGIOT是国内首款轻量级开源工业物联网平台,我们...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
iotView是国内首款轻量级开源工业物联网持续集成...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
iotView是国内首款轻量级开源工业物联网持续集成...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
iotView是国内首款轻量级开源工业物联网持续集成...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目;垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
iotStudio是国内首款轻量级开源工业物联网持续...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
iotStudio是国内首款轻量级开源工业物联网持续...开源平台开发者:一键式开发环境,集成和兼容各种最优开源工具,快速承接物联网项目。垂直领域物联网平台:快速部署私有化平台,千万级承载,运营级底座,全开放扩展
图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行...
图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行...