转:《走出软件作坊》读书笔记

《走出软件作坊》读书笔记

牛博被封,一时无字可看,于是翻出了之前收藏的《走出软件作坊》。

-1-

“业务架构、技术架构、测试兼技术支持、文案兼培训”这是作者推荐的项目团队组成方式,其实以目前的经验来看,如果一个小的团队能够有这样的角色分工,足以。

-2-

现场项目经理要做好项目调研,“调研此次项目组的人员构成、能力、职责、上线时间、用户计算机能力、用户部门对上一套系统的最突出的抱怨,信息科对上一套系统的最突出的抱怨,现在还有哪些系统在持续运行,上一套系统用户部门和信息科觉得哪里好,上一套系统的功能结构和操作流程。”;通过调研,“重新建议项目组人员构成、职责、流程、项目阶段时间、各方面负责人、本项目的最突出要解决的前5个目标问题。”。

由用户来校验原有基础数据。

现场项目经理需要一个培训专员(新人)来写协助“编写针对不同用户的培训手册,有培训时间课程、培训规范、考试考核、模拟练习环境、模拟数据”;同时需要在公司有一个“专门编写代码的程序员”;项目经理负责“协调,控制,理顺,制定流程、规范、目标、时间,保证执行到位”。

项目经理决定项目的成败。

-3- 项目经理的工具箱

工具:“一个BUG管理工具,能把计划、进度、质量、需求、BUG都能管理起来,而且能追溯,能考核,能统计工作量和工作质量。真是必备。”

PPT + WORD + 脑图 + EXCEL 解决需求描述问题

-4- 人,是人,真的是人

如何创造好的氛围:导师制mentor,禁止加班,良好的工作环境,鼓励改进创新

-5- 实施经理的工具箱

争取上层支持。

管理软件:管理模型KPI、管理模型计算公式、管理模型流程。

实施的第一步,数据初始化。严厉测试数据字典准备功能;封锁数据库;错误日志。

“力求实施人员能不去现场做数据准备就不去。”,“按照数据准备手册按照流程给他们信息科培训几次,模拟操作几遍”

实施中期,最耗费时间的就是培训。制作“培训课程、培训教材、培训考试卷、模拟练习学习版软件、视频教学软件”;网络教室管理软件;“考试”、“业务标兵”。

后期上线后的监控运行:网吧管理软件、远程监控软件。

项目维护期版本更新的问题:局域网内文件同步软件(设置定时监测更新、设置每次启动计算机自动监测更新),直接在软件中集成同步功能(自动、手工),在线更新探测。

设定项目边界、项目时限、项目过程管理和项目进度汇报流程正规化。

-6- 客服顾问的工具箱

QQ、QQ群、BBS、案例集、客服工单系统、呼叫中心、工单智能分配

-7- 你这该死的销售

项目经理要学会做PPT,“梳理自己的思路,将彼此关联的事物能条理清晰的结构化出来,并且能有重点的表达出来。”

研发部需要售前经理。

-8- 水清则无鱼

产品开发由以下阶段构成:
1. 客户调研、客户调研报告编写
2. 功能设计、功能设计说明书编写
3. 开发
4. 测试
5. 帮助文档、培训课程、培训演示版本编写

产品开发团队由如下人员构成
1. 客户调研团队
2. 产品开发团队(编码)
3. 产品测试团队
4. 产品文档教育团队

客户调研团队,由项目经理和培训专员构成,亲自到客户现场去调研。

产品开发团队(编码),一般由以下角色构成
1. 开发总监1名
2. 架构师1名,公共代码开发人员2名
3. 业务开发组长1名,主要代码开发1名,辅助开发1名。每个子系统由3名人员构成。假设有4个子系统,就需要有12名开发人员

产品测试团队,一般由以下角色构成
测试员1名。假设有4个子系统,就需要有(4+1)=5名开发人员,其中+1是公共代码测试。

产品文档团队,一般由以下角色构成
1每个子系统一个文档编写与内部培训人员。假设有4个子系统,就需要有4x1=4名文档人员。

-9- 实施费用也能DIY

有正规的培训专员,也有正规的培训课程、培训课本、培训练习、培训考试。

针对培训,每个子系统都有自己的培训课程。而且分的很细,成为多门课程。有针对最基层操作人员的,有针对小组长管理的,有针对科长管理的,有针对该系统的信息科系统维护人员的。

-11- 物以类聚,人以群分

责任心,才能

“说话理解能力还可以,能抓住重点,能重复表述,能细心反复的改进工作任务质量的,勤勤恳恳做好本职工作”

“找合适的时机向老板说明我的思路”,“思路的出发点和目的点一定为老板利益最大化考虑的(如果你的思路从一开始不是为老板着想的,那估计什么时候都得不到老板的认可)”。

-12- 为什么DIY报价

开发部一定要把老板能看懂的东西主动的完整的呈现给老板,让老板减轻疑心。

-13- 敢问路在何方

现在社会,主要的开发应用是
1. 互联网网站。主要是asp、asp.net、JSP、PHP、Python、Ruby、Perl。
2. 网络游戏。主要是C++
3. 嵌入开发、硬件开发、通信与网络开发,主要是C/C++。中国大量的家电、数码、手机、电信设备都属于这类。
4. 外包。主要是JAVA和.NET。
5. 企业管理类软件。WEB开发,主要是JAVA和.NET。C/S开发,主要是DELPHI、VB、VB.NET、C#、PB、VFP。

有些做了3-4年的程序员,做到这个阶段,新技术看了一大堆也不明就里,仍然在学习hibernate怎么配置怎么用,structs怎么配置怎么安装怎么调试。说明这类程序员缺乏开发天分,无法在技术上成长为优秀的程序员或技术专家了。

有个网友已经30多岁了,他很迷茫现在。没有客户关系,也不会跟人沟通,技术也不牛,自己做点东西吧还不知道做什么好,也没时间想,整天穷忙,创业创不了,项目经理做不了,做开发也是以后肯定被淘汰,问我该怎么办?我问他:你最大的优点是什么?他说:没有任何优点。我问他:你是不是干活很踏实,给分配了任务干活很努力,承受压力也不错,软件代码质量也挺好,做事挺细心。他说:对。我说:你适合去做外包。他说:我英语不好。我说:你是想被老板淘汰,还是想赚更多的钱。于是他不说话了。

如果你善于组织和调度人,善于推动项目和控制项目,善于和客户沟通理解客户,那么你可以往项目经理职位转变。实施经理、服务经理、开发项目经理,都可以选择。开发经理,未必是技术最好的那个人。

如果你不善于和人打交道,技术也不行。那么做一个踏实稳定勤恳的客户化定制人员或技术服务支持人员。并且在工作中不断小改进,让自己的工作更有效率更有效果。

如果你不善于和人打交道,技术也不行,但对客户业务比较熟悉,那么建议你踏实工作,做好实施(做好实施的人未必会与人打交道。我发现很多性格内向的人,提升自己的职业化工作细节,公事公办也达到了很好的实施效果)。从实施,可以转向咨询、售前。但咨询、售前都是很需要结构性思考和细致观察的工作。

-14- 懈寄生

其实我能够分辨出哪些是比较好的技术书籍,可是我却没有时间去仔细的读书;自家的书架上也有很多没有看过的“宝书”。

-15- 那根胡萝卜

大部分老板开公司的出发点和目的点都是钱和权。

-16- 七里香

要联系方式,然后主动联系吃饭聊天

-17- 走钢索的人

一个架构师应该具备的特性(李维):核心软件技术、产品特性、软件趋势、创新技巧。

如果你认为自己技术够牛,那么你必须证明你能很快做出来。如果你认为自己技术够牛,最好能牛到,只提供一个函数就解决了他们的问题。别这个代理类,那个聚合类,这个唯一实例类。最好连参数也没有,大家调用一下写一句代码就OK。甚至你做的好,大家都不用调用你的代码,你可以包含在基础框架中,你自己去判断什么时候什么应用需要执行这个动作。如果你认为自己技术够牛,那么在业务功能需求发生变化的时候,你能够保证接口不变的情况下还能适合变化,这才你够牛。别让业务开发组的人跟着你也得改他们自己的代码,那样的设计就很烂了。

-18- 焦油坑

“表面上看起来好像没有任何一个单独的问题会导致困难,每个问题都能获得解决,但是当他们相互纠缠和积累在一起的时候,团队的行动就会变得越来越慢。”《人月神话》

-19-  一个人的战斗

一个老系统要维护好,必须具备以下关键因素:有责任心、有文档、设计前做好详细的需求分析、要有需求管理、要OO编程、要有专门的测试人员。

建议开发人员写代码,多写视图,多写存储过程。

(维护老系统)写代码的八个建议:

一、重点把控输入数据的校验。
二、函数。
三、尽量不要做成联动触发的。
四、把特殊处理业务和正常处理业务的功能代码分离。
五、把不常用的功能隐藏处理。
六、避免全局变量和大流水代码。
七、修改需求或BUG的时候,要按照模块来集中修改。
八、使用帮助、代码注释、表结构说明、详细功能设计书。

需求,是很多方面的。有关于功能的(尤其是每家客户特殊的业务需求),有关于异常错误的、有关于性能的、有关于兼容性的、有关于易用性的、有关于特殊权限的、有关于美观性的。

需求管理:

第一、把需求分类,做个EXCEL表格,量化解决。这个需求管理表格会有下列这些项:客户名称、需求提出人、提出日期、需求关闭时间、功能模块名、客户现在版本号、需求描述、需求分类(需求、BUG)。

第二、需求描述不清晰是反复修改的罪魁祸首。对于BUG,要有错误报错整个的屏幕截图,千万不要就截那个错误消息框那么一小块。对于需求,是报表需求,要给出表格格式,还有每一项数据的来源,有公式关系的要给出明确的计算公式。对于输入单据需求,要给出单据格式,每一个输入项的要求:可选值、默认值、不可为空、唯一性、约束输入,数字要有小数点后精确度、日期要分辨精度是到日期还是时还是到分。

-20- 累斗累

把产品放在一个产业中看。看竞争对手,看业界标杆,看业内管理专家,所以我对产品的升级完善,是基于产品战略的,是基于盈利模式和竞争力构建的。如何引出更多的盈利增值产品,如何保证产品更有竞争力,是我思考的重点。

OO、设计模式、接口?!和客户一点无关?那客户为什么要给我们钱?那老板为什么要给开发部钱呢?那开发部存在的意义在哪里?翻译成代码?就这点意义?还要月薪上万?凭什么?

你的价值在哪里?

-21- 我要飞的更高

需要认同的人上下左右有四类:上有老板,下有手下,左有客户,右有营销部门和实施部门和支持服务部门。

-22- 波、波、波

很多程序员有个毛病就是老喜欢推翻别人的代码自己重写一次,这种程序员能力是很低的,高的程序员都是如庖丁解牛一般,在看似复杂关联的环境下还能游刃有余。

关于新产品的研发,一定要有这个产品生命周期的视野。要从产业、竞争环境、国家环境、客户行业、技术发展多个角度去思考产品规划。

大局规划,细处入手,客户最关键的需求实现。

技术总监,可能重点关注于这个产品的实现执行组织。而CTO,就需要在客户、产业、技术、盈利模式方面能有长远并且综合的产品战略。 CTO和技术总监的关系类似于国家主席与国家总理之间的拍档关系,一个负责产品战略,一个负责产品实现执行。

-23- 八部众

对于销售来说,演示的时候稳定、易用、好看、速度快就是关键。

对于实施来说,最重要的就是软件稳定。

对于培训来说,软件易用最关键。

对于支持来说,软件稳定是第一位的、软件自动升级也非常重要。

对于后续版本开发维护人员来说,代码容易看懂,代码好修改才是最关键的。

对于测试人员来讲,软件必须具有可测试性。

对于文案人员来说,软件必须能让文案人员编写文档。

日志模块,可以自动截图,自动发送日志,自动记录当时操作的 SQL语句,自动记录当时的客户输入数据和点击操作流程。

对于数据量大性能要求高的应用,性能是很关键的持续改进方面。

对于安全性要求强的应用,设计安全的方案,编写安全的代码,安全的测试覆盖是很重要的工作。

业界有个笑话,就是说微软的软件,从第三个版本才能使用。这说明,一个好软件,应该具备好软件的标准,但一个好软件,不是在一个版本就把这些标准全部实现。而是有步骤有重点的实现,逐步达到一个好软件。

包装成漂亮的就能卖个好价格。

专业的销售方案PPT,专业的帮助文档,专业的软件界面,专业的图标,统一的操作,统一的字体,统一的专业词条,统一的对齐,专业的提示。

软件生命周期:

只设计不超过3个实用亮点……把软件包装漂亮……稳定,软件具备可测试性……销售第一版了。

到了软件第二版,客户签单量就上来了。实施工具就要提上开发日程,否则多个项目并行提出来的需求能把程序员的工作排到明年。

到了软件第三版,这是很关键的阶段。这一阶段主要是在增强现有功能和稳定性的基础上,尽量使软件易用、易维护。软件必须可跟踪可自动升级,这样才能支持日益扩张的客户群,才能使问题迅速解决,而不是大规模扩散。在这一阶段,不主张多增加功能,这样会使软件复杂性加大,阻碍了大量客户的理解,而大部分客户都是一般客户,而非理念先进的灯塔客户,能让大量的一般客户快速理解到软件的好处和应用操作上手,是很重要的阶段任务。

到了软件第四版,软件越来越复杂,如何兼容,如何容错,如何容易阅读,如何容易修改就成了首要问题。这个版本,重点就是内部代码重构优化。

到了软件第五版,性能是个问题。过去3-4年积累的数据使系统越来越慢。优化性能成为第五版的重点。

到了软件第六版,由于这么多版本的升级,功能很是复杂了,使原本易用的软件现在变的越来越难懂了,到底是特殊处理的业务。把常用功能和非常用功能分开,把正常业务处理和异常业务处理分开,做到组合裁减,一部份不常用的功能就渐渐萎缩掉,一部份常用的功能做增强。在这一版本,重构易用性成为重点。

软件到了第七版,就几乎在打补丁了,不再投入大量人去维护了。软件进入大销售大实施大维护的收割阶段,维护本版本的开发团队在萎缩,下一代产品在酝酿。

-24- 葵花点穴手 定

微软的一种产品定位方法:

对于什么目标市场的客户(一定要精确描述好你的目标市场,千万别用什么中小型企业之类的词语)而言,你的什么产品或服务(针对这类目标客户,你提供了相应的什么产品或服务,这个产品或服务一定要与你的目标客户匹配),提供了什么主要价值(要精确,千万不要说提高了管理水平。管理这个东西很模糊,就类似这个企业管理水平低,到底指的是什么),因为你的这个产品或服务提供了什么独到之处(一定要独到,否则人家为什么买你们,而不是买别人的)。

干什么,用什么。

-25- 文档知多少

从调研描述现状、然后分析优化的组织结构、工作流程、考核报表、岗位职责四大块来描述需求。

组织结构和岗位职责决定了功能点和功能权限、工作流程决定了软件流程、工作流程中使用的纸张信息、EXCEL信息、软件信息就是数据输入,报表就是数据输出。这就是一个企业管理软件的四大块:组织权限、输入、处理流程、输出。

企业管理软件的开发,现在主要集中在大规模开发团队的组织、任务调度、人员培训(大规模的开发,必然需要的是一般素质的人员,而非高级人才,否则不可能有那么多资金来实现大规模开发)、大规模开发团队的质量和进度(人多了,各个层次各个水平的人都有,理解都不同,如何保证质量和进度是很关键的,否则很容易项目预算失控。一般素质的人多了,对于管理的要求是很高的,很容易成为乌合之众,只消耗不产出)。

对于企业管理软件开发过程中的文档,我们一般有需求分析说明书,其编写格式和思路,和我们的需求调研方法一致,也就是说,我们的需求调研的结果,落实到纸面,就有需求分析说明书,另外还有一份需求调研报告,是偏向于项目过程叙述的。

首先我们会出功能点文档。

我们开始针对功能点清单编写我们的功能设计说明书。

一般一个功能点由一个EXCEL文档来详细描述。

EXCEL文档第一个sheet中是版本信息,每次修改都有变更记录。第二个sheet是页面布局。我们通常会用PPT或开发工具建立个界面草图,然后贴上去。第三个sheet是页面上面的每个字段的说明,如默认值、不可为空、输入约束、主键唯一、输入长度、参照录入等等。第四个sheet,如果有必要,可以用VISIO画出业务流程图。第五个sheet是关于运行要求,如易用性、安全性、性能、数据量、并发性,这几个特性都分为高中低三个等级。另外,对运行的操作系统、内存都做了最低要求。一个功能,必须考虑它的用户的计算机水平,否则功能很实用,但就操作不习惯,客户非要改成客户习惯的方法,我们经常会面临这样的要求。与其那样让客户赶着我们,还不如我们自己提前在设计的时候就要求我们自己。我们在需求调研的阶段会调研客户的信息化现状,如IT 维护人员能力,信息化应用能力,客户老板对信息化认知理解,最终用户信息化操作能力。

我们会让公共代码人员出界面输入输出和业务流程图中整理出数据结构。我们为什么不让业务开发组的组长来整理表结构,就是由于业务开发组的组长熟知业务却对技术并不精通。数据结构很影响未来的性能、扩展,所以应该由公共代码人员来设计表结构,并且建立视图和存储过程。

公共代码人员把设计完毕的数据结构交给业务开发组组长,组长来编写每个功能的数据增删改查操作文档。增加这部分文档到EXCEL中,成为第六个sheet。

商业开发,我们要的是可控,在有限的人力资源、合同额、合同周期内交付出客户认可的质量产品(不是高质量,是客户能接受的质量,我们从来不为没有利益回报的东西多付出)。

-26- 狮面人

一个研发部,一名研发部经理,1-2名开发人员,一名项目经理,一名公共代码开发人员,一名测试,一名文案,也就是5-6人完全符合一个软件作坊的人员数量。有时候团队小了,研发部经理就是项目经理,公共代码开发人员就是主程,这样,一个开发团队也就是3-4人就OK了。

不允许开发人员在客户现场开发,我们更不允许开发人员和业务开发组长不在一起。
不允许团队出现多种技术。
不允许团队使用最新技术。

开发部工作的体现:文档数量和尺寸大小,想到了BUG数量,想到了任务数量,想到了需求数量,想到了开发进度报告,想到了版本发布次数,想到源代码归档容量和源代码行数。

要么解决问题,要么闭嘴。

-27- 沙场秋点兵

当时的技术总监做了两件我现在也认为很对的事情:一、他让所有人阅读上一代产品的源代码,整理上一代产品的功能,并且得出上一代产品的功能所映射的客户业务流程。并且要求指出上一代产品业务流程中的漏洞和矛盾。二、他让大家通过改造源代码来学习新技术。

学习新技术,最好是学习基于新技术的第三方的外国开源源代码。

尽量限制使用新技术。也就是说,不会让新产品、新团队、新技术这三个新都同时出现,风险太大了。而且坚决不使用新技术作为基础技术。

-28- 代码那些事儿

断言阻止了错误的继续扩散,不让恶果之鞭长袖善舞。

1. 代码风格统一,从命名含义,到大小写,到缩进,都一致。
2. 我的代码居然能看出业务流程。
3. 由于我的程序都是小函数组成的,都有明确报错,所以错误很容易找到,即使出错,也扩散不大,都是小bug,对系统整体没有大影响。

技术培训会是个好事,但最终达到的效果可能是加强了团队的凝聚力和和谐力,有利于团队建设,但是技术提高,并没有给开发人员在实际工作中有应用。

代码复查

管理,就在细节当中。

代码高手,也在于细节当中。

质量、进度、成本、目标、折中,这就是核心。写代码,做管理,道理一样。

-29- 风语者

1. 开发人员绝对不能接触客户,不能接听客户电话,也不能解决客户问题,更不能给客户更新;
2. 开发人员不能没有任务分配和设计文档就擅自修改软件,否则记过处分;
3. 大家一致使用版本管理工具、BUG管理工具、需求管理工具、任务管理工具。用工具把项目经理、开发人员、测试人员、文案人员绑定在一起,按固化流程推进流转;
4. 打包发布统一交给测试人员来做,测试人员来控制是否可以发布,发布的版本号的命名。质量达不到,有权不能发布。

-30- 蛋白质女孩

-31- 像咨询师一样思考

KPI Key Performance Indicators are financial and non-financial metrics used to help an organization define and measure progress toward organizational goals[

按照客户现状进行业务流程梳理、然后分析流程,分析关键节点,总结关键KPI考核点。然后根据KPI提升幅度,制定改良的组织结构、岗位职责、流程、考核。然后根据制定的结果进行计划、执行、检查、修正。迭代执行一段周期后进行问卷评分调查和标杆对比。继续提出下一阶段的改进提升计划,如此周而复始。

咨询人才,一般具备以下能力:

1. 能够根据企业现状,绘制出企业现在的组织结构、岗位职责、流程、考核;
2. 能够找到空白的、多重管理的、压力大的、不优化的业务流程节点;
3. 能够找到关键流程节点,制定KPI考核指标;
4. 能够根据KPI指标设计问卷回访评分模型

-32- 一分钟先生

授权、时间管理

-33- 灯塔客户

一个好产品,研发阶段其实是非常简单的,也是非常短的时间的,设计、编码、测试都不是具有挑战性的工作。而一个好产品,要获得营销人员认同、老板认同、实施部门认同、支持部门认同,更要获得客户的认同,是需要非常多的运营和各环节的人员的支持。

怎么选择灯塔客户?喜欢创新、系统建设重视的客户,而且这个客户需要规模在中等。

灯塔客户为生命周期的第一拨,大客户为第二拨,第三拨就是看着创新激进派和大客户们都应用的不错,那些抱着怀疑的客户才会蜂拥而至。

走出第一步,千万要把型塑好,千万不要特殊事情特殊处理,否则特殊处理很容易变成习惯处理,最后再也无法回到正常的流程上来了。

-34- 黑衣人

-35- 矛与盾

唐骏:

陈永正来的那一天我有点心凉。那是8月17号,我一到办公室就接到黄存义的电话。他说:唐骏你知道吗,网上说陈永正要来加盟我们。我赶紧上网,一看果然是。我们俩马上同时打电话给总部,那时候总部是凌晨,说你们等着,公司会发邮件就这件事跟大家做解释。这下我们知道,这已经是一个结果了。

悲哀。这是职业经理人的悲哀,也是美国公司的悲哀。这是对自尊心的极大挑战:在没有协商的前提之下,一下子挖来一个人。黄存义连有人要取代他的位置都不知道,还是从网上看到的。

陈天桥一开始说要跟我分工,我说不用,我是辅佐你的,不是来跟你分江山的,你不做的事情,我做。这是我的简单哲学。我相信他一定有不想做、不能做、做不了的事情,这些事情就是我的权力。

我一直在着力展现研发团队的价值。每次项目或每个开发阶段结束后我都要做分析对比。我围绕的核心就是质量、进度。

测试案例写了多少个,各种类型的测试做了多少次,发现了多少问题,都是什么等级。在这段时间内,BUG的发现数量趋势如何,修复BUG数量如何。需求变更了多少,从最初到最后,需求增量了多少。文案写作了多少种类,分别多少页。进度任务安排了多少个,每个人分别是多少,修复BUG的占多少,需求变更的占多少,突然插入的任务占多少,超期任务占多少,取消的任务占多少。修改BUG占用了多少时间,修改需求变更占用了多少时间。

对于任务安排的方面,我主要考核业务开发组长或项目经理对于需求调研和功能设计的能力,对于任务超期的,我都会分析是程序员技术能力问题,还是项目经理在分割功能设计上有粒度问题,还是确实由于没有经验没有做好技术准备遇到了不可预测的技术难题。

对于代码质量,我主要通过BUG发现的数量和等级来评价程序员到底细不细心。我还进行代码复查工作,来评价程序员对于稳定性、易用性、高性能、可扩展、可阅读、可维护的代码特性质量。

对于实施人员的考量,有实施进度、实施效果客户回访调查评分、需求收集数量、定制功能变更时间长度和数量、实施结束后一个月内的服务部支持工单数量和解决时间总长度。

对于支持人员的考量,在这段时间内的接的工单数量,各个级别的工单的数量比例,自己一个人解决的工单数量,转给别人解决的工单数量,转给别人解决的各个级别的工单数量比例,还未解决的工单数量,还未解决的各个级别的工单数量比例,各个级别的工单的平均解决时间,超期解决的工单数量,超期解决的各个级别的工单数量比例,解决周期超过3天的工单数量,解决周期超过一周的工单数量,解决周期超过两周的工单数量。

活得开心点,有认同感、价值感才是最重要的。而这个影响力又反作用影响了员工的工作积极性、质量、进度、执行力、责任、忠诚度。

管理就是如此,你可以无限去接近,但你永远到不了。

-36- 地主家也没有余粮了

你无视你身边的幸福,却总去幻想遥远的小三儿。

-37- 兵临城下

现在的趋势就是咨询公司在找软件公司做合作伙伴,而软件公司,也在同样找咨询公司做绑定。但中国人自古相猜,所以美满的合作婚姻往往干不成,就连诸葛亮和周瑜都干不成。所以,现在不少本土咨询公司或本土软件公司,都是咨询+软件。

管理软件公司从来不用自己的管理软件来管理自己

-38- 我就是一个香港导演

写软件一样,必须要以客户为中心,按照客户的需求来设计软件,要有一种途径和方法与客户做第一手的互动。

-39-  方法为什么

再愁的事也不要表现在下属面前,你的愁不要和下属讲,否则你给下属的感觉就是个无能的领导。

任正非《我的父亲母亲》:“我那时14~15岁,是老大,其他一个比一个小,而且不懂事。他们完全可以偷偷地多吃一口,他们谁也没有这么做。爸爸有时还有机会参加会议,适当改善一下。而妈妈那么卑微,不仅要同别的人一样工作,而且还要负担七个孩子的培养、生活。煮饭、洗衣、修煤灶……什么都干,消耗这么大,自己却从不多吃一口。我们家当时是每餐实行严格分饭制,控制所有人的欲望的配给制,保证人人都能活下来。不是这样,总会有一个、二个弟妹活不到今天。我真正能理解活下去这句话的含义。”

那什么是价值?我个人是这么看的:“为客户带来好处和收入,为公司带来好处和收入”。不管是名声和形象的提高,还是收入的提高,还是成本的降低,还是工作效率的加快,都是价值。

你有什么价值?你的价值值多少钱?你的价值在市场上有竞争力吗?我时常问我自己这三个问题。

“想做事,要胸怀大,要踏实,要低调”。

责任感,就能产生领导力,就不畏挑战。态度、胸怀就能决定是否有团队能让你领导,是否有人追随你自然形成团队。

时间中,你会面对许多压力、诱惑、排挤、孤独、狂躁、无聊、茫然。如果你能在时间长河中还能保持自己的目标,并且能把你的目标越来越落实,那么你离真正的成功就不远了。

每个公司都有机会。机会需要你去创造铺垫,需要你去敏锐的观察是否出现,需要你去快速果断的抓住,甚至有时机会需要你去抢才能抢到。

需求、进度、质量、报告、平衡

先什么也不要改变,先做三个EXCEL,一个是收集需求的,一个是收集BUG的,一个是用于任务分配管理的。你能把这三个EXCEL执行顺畅,我的方法自然也就用起来了。

想的要远,但做的要小。要有鹰的眼睛,也要有狮的胸怀,也有要猴的灵活,也要有骆驼的坚韧,也要有豹的敏锐与果敢,也要有猫的细致,也要有熊猫的低调温和。

-40- 作坊的反思

杜祺峰 《黑社会——以和为贵》:在黑社会,如果你想做个好人,就必须比坏人更坏。

只不过世界上有许多人许多事情的利益和认知不同,使原本应该正确的事情变的错误而已,我们只是通过特殊手段解决了这些利益冲突,正确的方法自然就正确的执行了。

不要这不顺心那不顺心就想改革。为什么要变?改革能让多少人得到非常现实的好处?大部分人是来糊口的,为名为利的,你的改革能给他们获得更多的现实收益吗?如果你无法给他们更多,那你怎么会得到大家的支持呢?没有大家的支持,你怎么能成功呢?所以放宽心,不用埋怨,一切都是很正常的,你跳到哪家公司都情况差不多。一句话:“有人的地方就有江湖”。

-41- 十全九美

-42-  创业者需要具备什么能力

创业者第一需要的是眼光。

创业者第二个需要的就是胆子大。

接下来,就需要经营功底了。

有了谨慎、紧缩成本、小事入手、步步推进、量化目标、时间、资源限制、效益,接下来需要的就是坚持。

在黑暗茫茫之中,领导者的作用就是燃烧自己,带领队伍继续前进。

试问,谁有勇气付出自己的一切?你愿意为你现在从事的,觉得没有前途的事情倾家荡产吗?在你自己都感觉没有前途的事业上,你有信心和勇气带来你的团队继续前进吗?这就需要领导力。

平和的、细心的、宽容的做好自己的责任。

能不能在一无所有、事情危机的情况下找到生机,是对创业者的最后一个能力考验,那就是创新。

创业者本身就是个偏执狂,就是个矛盾体,既要入的厅堂(眼光高远),也要入得厨房(踏实下手),既要有大原则,也要有小灵活,能把完全两种矛盾的特性集于一身还能应用自如协调流畅,很不简单。

不过,心态和能力都是互相交换的。能力强,心态也比较抗压。心态好,也会发挥的好,能力表现也就强。

家庭决定习惯,习惯决定性格,性格决定命运,气度决定格局,好像有些道理。

最后总结一句话:眼光、细节管理、心态是个人基础,一个个人显著技术能力、一帮朋友是团队基础,寻找到适合自己创业的机会,狠狠下手,横下一条心,不成功则成仁,别给自己找借口留后路,破釜沉舟去做吧,有问题解决问题,从手头做起,从小事做起,心要细胆要大。

-43-  麦田守望者

现在,企业的IT部门需求不管、软件项目实施管理不管,软件系统维护不管,软件功能修改也不管。只保留下招标、评估、协调各方、验收的职能。

国内有两类公司,一类是没有开发能力,就是代理销售实施服务型的,另一个就是自己有开发能力的。有自己开发能力的这一种,往往不会与其他软件合作,自己不开发,来代理别人的软件做维护修改工作,这样的公司不容易养住程序员,所以这类公司渐渐也会退化成第一种公司。

需要一类公司专门从事这种软件小程度维护修改的工作,这类公司目前还数量不足,而大量的程序员想兼职赚外快的也很多,这是目前打造完整产业链的最大的门槛。如何突破这个门槛,如何加强程序员的联合,如何开放运营程序员社区,如何把自己的API开放出来让程序员能自由尝试嵌入,能随着你这个大公司的盘分成赚钱走出现实的第一步,这是很关键的。国内,阿里软件的做法我比较赞同与关注。许多业务平台产品公司和许多ERP产品公司多年一直希望打造程序员这个链条都没有成功,就是其封闭性太严重,让程序员无法放心,也无法深入应用开发,另外赚钱不显性,也让程序员不敢付出努力是否确定能得到真金白银。

软件公司的产业链,
——研发、重大修改,销售渠道、实施、支持的招商、认证与教育
——小幅度修改程序员或小软件公司合作
——需求管理、项目管理、实施培训、服务支持、销售
——实施培训、服务支持、销售
——销售。

 

转自:http://www.cnblogs.com/zhaorui/archive/2009/01/11/20080110_Soft_WorkShop.html

你可能感兴趣的:(English)