软件研发管理思考
文章平均质量分 93
记录软件研发工作中的所感所悟,涉及软件工程、团队管理及工作方法等主题。
Horky
爱探索、爱技术!简单地快乐着!
展开
-
看淡你的权力
“权力”和“头衔”只是一种形式,“责任”才是应当时刻记起的。原创 2014-07-07 22:59:07 · 3169 阅读 · 0 评论 -
专业精神的三个步骤
专业精神对于在我们这些在职场打拼的人来说非常重要。不论在哪个行业,也不论什么岗位,专业的做事都是同等的重要!而达成专业化,个人认为需要三个步骤。 一.最为基本的是保证质量。 你所交付的工作成果的质量就决定了你的基本价值,交付的成果必须是符合要求的,否则就是质量不过关,而且不同的情境下的“要求”是不同。以软件开发为例,自然是按指定的时间交付符合项目规划的软件产品。原创 2014-07-07 23:02:59 · 3460 阅读 · 1 评论 -
关于职位规划
有了职位说明书,看起来就像有了不同类型的材料,当需要搭个房子时候,就很清楚各需什么样的材料?费用会是多少?人才利用的效率自然能大大提升。但是问题在于材料的差异性可能很大,这里就列出几个问题,可以帮助系统地思考职位规划。原创 2014-07-07 23:08:05 · 3757 阅读 · 1 评论 -
职业发展关键在做,而不在学
说到职业发展, 谈得最多的问题莫过于:"我应该学什么?我应该往哪个方向做?" 而我认为常常反思"我要做什么"才能为职业发展提供好的动力,才能促进自己去探求学什么。思考问题的立场不再以个人为中心,而是以组织为中心。己欲达则达人,追求双赢。原创 2014-03-01 13:09:44 · 5129 阅读 · 5 评论 -
项目经理的动态管理 - 领导生命周期理论[项目管理摘录]
在项目管理:计划、进度和控制的系统方法>>里作者讲述到领导生命周期理论在项目管理环境下的应用。领导生命周期理论(Life-cycle Leadership)模型指出,存在4个基本的领导风格,而且要想有效运用它们需要使用领导风络与被领导者的成熟度相适应。这里成熟度的定义是:与工作相关的经验,接受工作任务的意愿及完成任务的愿望。它不只是与做好工作有关,还与"想"做好工作有关。最重要的是,它原创 2013-08-06 13:16:13 · 3852 阅读 · 0 评论 -
讲义:第五项修炼(学习型组织的艺术与实践)
主要内容: 作者及书。 Part I. 我们的行动如何创造事实,我们如何才能改变现实。 Part II. 第五项修炼:学习型组织的基石。 Part III. 建立学习型组织。 Part V. 实践中的反思。第五项修炼 (学习型组织的艺术与实践)from Horky Chen原创 2013-07-23 12:14:15 · 3993 阅读 · 1 评论 -
新人入职引导的思考
周末参加了入职引导人的培训,现在结合我的经验总结一下个人感受最深的五方面内容。0. 明确入职引导人的目的和目标作为入职引导人,虽然不是一个岗位,也一定要清楚自己的角色和责任(Role & Responsibility)。理解责任,除了细节的条条之外,最为重要是清楚目的和目标。目的和目标要分开谈,目的(purpose)是深层次的要素或者驱动力,目标(target)是则一个清晰明确的定原创 2013-05-28 01:54:17 · 6937 阅读 · 4 评论 -
项目开发中的权责分配
在软件项目开发中,角色众多,常常有权责不明的问题,事后抱怨也是家常便饭。有人加班加点,有人悠哉悠哉,多做事的反而错的多! 即使公司有一套制度,这样的问题也是一再出现,究其原因还是在R&R的定义是不是在项目开始时定义清楚了。 在项目开发中涉及的角色主要有:项目经理(PM),项目协调,组长(TL),开发人员,测试人员,市场人员,产品规划人员以及其它辅助单位的同事。要做的事情也是项目管理中规定的原创 2009-09-20 17:38:00 · 3650 阅读 · 0 评论 -
新产品项目开发的艰难起步
公司内部规划的新产品开发项目已经开展一个多月了,时间紧、任务重是这个项目最突出的特点,之后的需求定义一变再变,甚至于文档的格式也一变再变,而不变的是开发周期! 其中全无系统设计的时间,需求及功能分析也是草草了事,于是问题也不断的浮现出来!从项目管理的角度,只有重视风险评估,或许可以请公司上下的头头脑脑们静心观察一下这个项目。 总结起来,有以下几项是需要在需求分析时注意的:1.详细定原创 2009-11-30 19:57:00 · 1968 阅读 · 0 评论 -
研发人员为什么要守纪律?
首先概括一下, 遵守公司的规章制度可以帮助开发人员解决以下问题: 1. 不会被老板或管理者死盯,不会造成"总是被管"的心理压力。 2. 节省自己的时间,不会被不必要的烦恼所干扰,从而集中精力于开发工作。 3. 因为1与2,所以更容易在工作上取得成绩,或者使自己的工作更为轻松。 4. 因为前面三条,一切可能因此会变得简单而幸福! 不了解或不遵守公司的规章制度会给你带来原创 2009-11-08 22:06:00 · 2486 阅读 · 3 评论 -
软件开发过程中的审查 (Review)
软件开发过程中的审查 (Review) 希望别人做些什么->定义出流程希望别人做出正确的结果->定义出审查制度 软件开发项目中包括很多的审查动作,贯穿于整个开发过程。个人认为审查主要有以下目的:1.尽早排查出潜在的问题(Potential Risk/Issue) 经过其他人的参与,以不同的视角提出不同的看法,会有类似头脑风暴的效果,集思广议来查找工程师未能注意的问原创 2009-12-19 01:26:00 · 3615 阅读 · 2 评论 -
团队管理的思考:定位
程序员流动性一直比较高,这里面有对理想的向往,也有对现实的无奈! 我想这里有一大部分原因应归结为定位偏差,个人的预期定位与工作中的实际定位的偏差(包括职责[发展方向]、职位及薪资)。【*注:薪资是由前两者所决定,很多人其实并不真正明白!单纯看重薪资,有时会帮倒忙!】 我们总是在工作中不断寻找自己的定位,总是要思考未来的定位,当现实与理想的差距太大时,便会有了换个环境的想法。这是一个模型,可原创 2010-02-20 23:04:00 · 5112 阅读 · 0 评论 -
项目管理与技术研究的平衡
有时忙起技术上的事情,就容易忽略掉项目管理上的事!项目管理是件比较琐碎的事,牵连的方面很多,而技术还是单纯很多,不过需要大片的时间来找资料、学习和消化,然后还要总结和升化,最后分享给大家。工作上,想做到平衡,确实不易。对于较熟的案子,基本上就是项目管理的工作,对于新的案子,就会有一些冲突了!这是一个时间管理的问题,也是责任的问题!毕竟要对项目的产生负责! 最近也在读>,要好好沉淀下心情,平原创 2010-03-18 23:12:00 · 1751 阅读 · 0 评论 -
共赢思维
最近经历了团队的一点小震荡,平生第一次劝退了一名员工。正在进行的项目上,沟通也是问题多多。每个人的想法各异,这是不争的事实!但如果都想坚持自己的立场,维护自身的利益,最后反而是两败俱伤,无一方得益。 想起《高效能人士的七个习惯》中所提到的共赢思维确实很精僻!一个人从依赖到独立,再到互赖,一定要学会共赢。遇事学会全方位的思考,争取一个大家都能接受的方案。工作中和生活中都是这样。我一个同事在吃原创 2010-05-18 22:41:00 · 3256 阅读 · 0 评论 -
信任是高效工作的基石,但是得来却非常不易
信任,这个词实在很诱人! 我们在家庭中,在组织里,在社会中,如果周围缺少信任,生活和工作都将变得痛若不堪。我们每个人都渴望别人的认可,得到别人的信任,但要想真正拥有,却是需要好好经营的。原创 2010-06-09 00:45:00 · 1854 阅读 · 0 评论 -
研发人员的职业精神
除去基本的专业精神,以及一般的职业精神外,作为研发人员还有以下两项独特的职业精神: 一、无中生有---创新精神二、点石成金---勇于革新的精神研发人员在认识工作的价值时,不能单看工作最终成果的价值,而是结合自身的发展来看。从哪些工作可以先锻炼出坚实的基本功,得到有效的工作方法论,这是第一步。然后再思考团队(公司)需要什么,我可以做什么,以此选择工作。最后,才是以思考我的价值如何最大化的体现来选择工作。原创 2011-01-03 23:40:00 · 9132 阅读 · 3 评论 -
程序员要学会偷懒---正确运用自动化技术
马云语录: 世界是由懒人来支撑的! 懒不是傻懒,如果你想少干, 就要想出懒的方法。 要懒出风格,懒出境界。McConnell在他的>提到三种"懒":"实在的懒","开明的懒"以及"一劳永逸的懒"。并说明第三种"懒"才是最具产值的"懒",因为它需要运用工具或者代码来为自己完成任务:这就是工作中的自动化。<<The Pragmatic原创 2011-04-15 00:41:00 · 5047 阅读 · 2 评论 -
《人件》描述的是乌托邦!
读了一下>,最大的感触的是软件行业的问题似乎在这二十年没有变化过,作者也提到过软件行业的革新的速度只不过比钢铁企业稍快一点而已,我想应该远不及街头小贩的革新速度。如果是这样,既然这本书被如此推崇,却得到多少实质性的改变呢? 说到底,这件事完全要看老板怎么看!即便程序员和项目经理再清楚这个行当所谓的真理,又能如何? 人人都能有个靠窗的位置,人人都不用常加班而平衡地生活,真不知道老美是不是已经享受到了。但看看我们周围,那只能是痴人说梦一般。醒醒吧!变化是一步步进行的,环境也是这样!想要做到如作者期望的那般,还有原创 2011-04-20 23:31:00 · 2830 阅读 · 5 评论 -
较好的代码维护实践
<br />在别人实现的基础上进行开发,基本是一种常态。特别是对原来的代码陌生的情况下,有没有什么好的实践方法呢?<br />基本原则:类似重构一样,尽量减少对原有流程和结构的修改,最好能兼容原有结构。上来就按自己的相法来修改代是比较容易的,这样做很大程度是因为理解原有的代码需要较长的时间且有一定的难度,但这样会增加系统的复杂度,也会引入许多不必要的风险。除非得到项目负责人的同意,否则相当然的直接动手重写,绝非是什么好事!<br />那么如何做呢?要花大量的时间从头阅读代码吗?你以为文档写得那么好吗?<br原创 2011-05-18 22:33:00 · 1911 阅读 · 0 评论 -
为何不大情愿去做一件事
人可能出于以下原因不大情愿去做一件事: 1.太简单 2.太繁琐 3. 太难 4. 认为没有价值或意义 (或对工作而言,或对个人而言) 5. 时间上安排不了 6. 其它方面带来情绪上的影响首先要尊重个人的价值判断,如果是5及6,就不要强求。如果4,则要分开看。倘若个人明确了未来目标,且与现在的目标冲突,在讲清可能的收益后,就顺其自然。 倘若个人目标并原创 2011-09-02 10:35:42 · 2259 阅读 · 0 评论 -
圈复杂度评价及工具
转载请注明出处:http://blog.csdn.net/horkychen圈复杂度用来评价代码复杂度,以函数为单位,数值越大表示代码的逻辑分支越多,理解起来也更复杂。圈复杂度可以成为编码及重构的重要参考指标,以指导撰写可读性高的代码。有关圈复杂度的定义,可以自行搜索。《代码大全》有如下的定义:计算子程序中决策点数量的技术 (代码大全2,19章P458)1.由1计数,一直往原创 2011-11-21 16:18:57 · 8844 阅读 · 0 评论 -
软件工程师两年的职场训练
德鲁克说:“组织的成员作为个体,发展得越好,组织也会取得更多的成就。这一点正是今天所有经理人培训和资深经理人教育课程重点和背后的真谛所在。当组织严谨的作风和道德精神不断发展、组织的目标和处事能力不断提升时,组织内个体成员的发展空间也愈加广阔。”借着写博客把关于软件开发中新人训练的想法总结一下,也希望抛砖引玉,得到大家的指正。综合来说,一个软件工程师的培养需要涉及以下四个方面:原创 2011-12-02 21:42:29 · 3101 阅读 · 0 评论 -
工作中的"大"与"小"
转自以前在世界经理人写的博客.转载请注明出处:http://blog.csdn.net/horkychen 以前总执着于学着抓大放小,于是自己也不断的学习各种方法论和创新思维理论,努力提高自己的层次。但是最近的工作中却状况不断,许多细节产生的问题而爆发出来。这一度使我困惑于对理论学习的怀疑!总不能提高的是对问题麻木的层次吧! 经过自我反思,发现根本原因是自己对于原创 2012-06-10 22:42:17 · 2350 阅读 · 0 评论 -
职场上个人价值的三个驱动力
转自以前在世界经理人写的博客.转载请注明出处:http://blog.csdn.net/horkychen在职场中思索个人价值是个永恒的话题,其实想找一个等式是很难的,但可以给个定义: 个人价值取决于为公司创造的价值,也就是为公司解决什么问题!这就决定了个人价值是动态的,有一定的有效期,而且个人价值也不等同于价值回报。比如有“没有功劳,也有苦劳”这样的观点的人还是比较普原创 2012-06-10 22:45:46 · 4611 阅读 · 0 评论 -
重要的是能做什么,而不是不能做什么
转自之前在世界经理人写的博客.转载请注明出处:http://blog.csdn.net/horkychen在>中提到了一句话:"重要的是能做什么,而不是不能做什么!" 每个人都有其专长,正如每个都人都有缺点一样。关注于缺点,你看到的都是不足。关键要尊重个人特质,扬其长而避其短。有时个人的自我认识有些偏差,你认为是缺点的地方,对方可能还认为这才是个人最宝贵的优点。其实我们自己对别人的原创 2012-06-10 22:47:49 · 3752 阅读 · 0 评论 -
如何面试应征者
原文地址: http://managementhelp.org/staffing/screening.htm Copyright Carter McNamara, MBA, PhD你面试时的整体性和专业性,可以对候选人形成一个强有力的积极印象。它也传达了如果他们被聘请了也要这样做事。准备为所有基本符合资质要求的候选人安排面试。基本资质都被指定在职位描述中。这种做法有助于确保你翻译 2012-06-10 22:56:49 · 2580 阅读 · 0 评论 -
保持好奇心!
转自之前在世界经理人的博客. 转载请注明出处:http://blog.csdn.net/horkychen当我们做某件事情之前,常常先判断它的合理性:”这有意义吗?” 是的,有时咱们所做的事情可能没有什么拿得出手的“意义”,但是事情本身的价值并不是单靠它现在的“意义”来衡量的。理性悖论就是很好的例子 。保持好奇心对我们都很重要,我们对它“好奇”,所以我们来研究它。谁能认定它原创 2012-06-10 23:19:45 · 2024 阅读 · 0 评论 -
团队建设之能力账户
识人用人是指识别和发掘下属的优势与潜能,用人之长。对于不足的部分,也可以有效地加以补强。虽然这个工作很重要,但相关的研究和方法五花八门。个人觉得适合就好,倒不一定非要熟读九型人格,然后再加以套用,并且不见得合适。准确的认识一个人总需要一些过程,中间需要多次修正,才可能比较完整。结合所从事软件开发工作的特点,我使原创 2012-06-10 23:22:40 · 3919 阅读 · 1 评论 -
如何认识一个系统
转载请注明出处:http://blog.csdn.net/horkychen工作常常需要快速学习分析一个系统,我尝试着做了些思考。其中最关键应当是有一个系统化的过程。下图为思维导图:*开始时使用Doxygen对代码归档,从而建立了一张系统地图,会有不小的帮助!原创 2012-06-11 21:30:02 · 1767 阅读 · 0 评论 -
工作是有计划的学习
参考: 程序员职业生涯探讨 为你的职涯做个清楚的定义 [FT Chinese]职场的“中国特色” 程序员谈如何掌握计算机专业英语原创 2012-06-14 23:06:15 · 2507 阅读 · 1 评论 -
如何有效地解Bug (RED方法)
转载请注明来源:http://blog.csdn.net/horkychen 解bug应当是修复代码中的缺陷,而不只是隐藏起来!(译注 :解Bug时常发生分析时总感觉快找到答案了,而后面却一再陷入僵局。比如,将线程同步问题引起的一些时而有,时而没有的问题。分析时可能会认为这是个典型的线程同步问题,A线程没有按照预期的方式改变某个变量,导致了B线程处理出错。这样的分析结果如果没有调试(Deb翻译 2012-06-23 16:10:37 · 4030 阅读 · 1 评论 -
单元测试应用指南(GTest,CPPUnit, OCUnit)
转载请注明出处:http://blog.csdn.net/horkychen (以前写的资料,不准备翻了。)Index1. Introduction2. Purpose3. Basic concepts of Unit Test3.1 Suite3.2 Test Case4. Target programming languages5. Target Unit T原创 2012-06-26 21:54:33 · 8030 阅读 · 1 评论 -
极限编程相关工作流程
原创 2012-06-27 23:15:28 · 2217 阅读 · 0 评论 -
X公司的流程改造之路 (一) [课程报告]
起点X公司是一家中规中矩的公司,从事软件开发二十多年,一直使用传统瀑布开发模型,开发流程和相关的制度都已经完善。最近两年因为市场的变化,考虑到公司长远的产品线的竞争力,决策层决定推动新产品领域开发。但是传统的瀑布模型无法满足高层快速进行产品试水的需要,市场部的需求一改再改,并极力打造大而全的产品,虽然他们并不承认。两个项目(A, B)下来开发团队和公司高层都非常不满,团队士气低落,离职频繁原创 2012-07-03 00:35:54 · 11280 阅读 · 6 评论 -
敏捷团队管理:把握介入团队的程度
转载请注明出处:http://blog.csdn.net/horkychen来源 Check In, Don't Check Up (照看而不是介入!)我从来不是微观管理者(micro-manager),特别是应用agile和Scrum之后。初入职场时,要不是太忙于和别人搅和在一起处理问题,我很可能就会成为一个微观管理者。但是当尽量避免同大家一起检讨细节问题时,仍要认真地照看(chec翻译 2012-07-06 22:05:03 · 2951 阅读 · 0 评论 -
为你的职涯做个清楚的定义
转载请注明出处:http://blog.csdn.net/horkychen (之前在世界经理人的翻译内容)职场新人通常需要从底层做起,他们常感觉到自己都快被僵硬的管理、过时的办公室文化以及挫折感给整残了。刚出校门,对未来充满憧憬,许多人都会挺过这一段时间,并转变到疲于工作的人。刚毕业的这段时间其实是对自己的职业发展,甚至是未来生活进行思考的绝佳时间,除非你已经自己开始创业了。翻译 2012-07-07 23:57:51 · 3927 阅读 · 0 评论 -
正向看待问题
转载请注明出处:http://blog.csdn.net/horkychen (之前在世界经理人的博客文章)我们每天都在面对各式各样的问题,有时电话一响或者一个新邮件提醒都可能让人紧张。特别是遇到一些突发状况,猝不及防!问题一出现,人就垂头丧气。如果一段时间没有问题,就觉得很是幸运,不免偷偷一乐。这样的情景经常发生!"问题"就像是达摩克利斯之剑,人人唯恐避之不及。其实原创 2012-07-08 00:07:51 · 1952 阅读 · 1 评论 -
负责任的公司从尊重用户做起
越来越多的企业开始提到要做负责任的公司,诸如社会责任、全球化责任之类的提法不绝于耳。战略口号之下企业又是如何作为呢? 总有些漂亮的事情可以给公司贴金,但容我直言,这些都不长久!原因很简单,战略规划并不丰满。 我要说的是公司要负责任,第一优先的是要对产品的用户负责。用户是公司存在的基础,这些衣食父母不照顾好,还说跑去负社会责任,缺少内涵。古时候不是孝子,想在官场上混是很难的原创 2012-07-26 08:21:31 · 4242 阅读 · 0 评论 -
顾客细分:互联网行业要从农业精耕中学习
转载请注明出处:http://blog.csdn.net/horkychen 顾客或用户细分说白了和农业的精耕细作是一样的道理,这在咱们八九千年(说法不一)的农业发展史中早就被认定为农业可持续发展的灵魂(详见左淑珍关于免耕法与传统精耕法的论文)。 依据最简单的想法,要想获取更好的食物或收成,播散越多的种子或使用越大的渔网,收成应当越好。如果真是这样,事情就简原创 2012-08-01 00:42:42 · 2872 阅读 · 0 评论 -
思维惯性引发的编程问题
为什么程序要了解思维的障碍,并要练习有意识的加以克服?这里举一个实际发生的问题。写代码像写作一样,有时思如泉涌,顺着思路就把一段代码写得有模有样。下面是一个状态码检查的例子(这种写法本身并不严谨,但这里要讨论是一个更为严重的问题.):typedef enum { STATE_DEFAULT, STATE_A = 1, STATE_B = 2, S原创 2012-08-07 22:03:53 · 2188 阅读 · 0 评论