一、编程的精义
所谓编程实际上就是把一件事情交给计算机去做,你认为这件事该如何做,就用“程序语言”的形式描述给计算机。程序=算法+结构,在这个公式里,代码是不存在的,存在的只是思想。
二、懒人造就了方法
人的精力终归是有极限的,提出新的“方法”,解决的将是影响做事成效的根本问题。
三、团队缺乏的不只是管理
1、从管理的角度来看,项目失败与否与项目经理的经验直接相关。
项目的成功主要由两个方面来评估的:项目完成质量和项目完成时间。
2、体制的内涵是分两个方面的,其一是“体”,即“体系”,其二是“制”,即“制度”。“ISO质量体系”所产生的那份手册只是“制度”,在这份制度的背后,所要求的是对旧有“体系”的改变,而不是搬来一本“管理制度”给每个员工读一遍就可以了。
3、组织模式确定的同时,相应的制度也应随之建立。制定制度既要做到人性化,又要做到公平性。
通常情况下动摇制度的人往往不是犯错的员工,而是管理者自己。
4、跟随蚂蚁,但不要栽进蚂蚁洞里,尽管你也是团队中的角色,但千万记得离蚂蚁洞远点。你在洞外张望,可以发现问题,你在洞内,就只有做“循规蹈矩”的蚂蚁。管理者是那个可以在洞外放木棍的人。
5、确定被“弹性分工”的员工需要可以快速地转换到新的角色。但首先要考察的并不是他是否“有能力”胜任
这个角色,能力可以通过学习来增强,而角色的转换,则首先是思想的转换。
四、流于形式的沟通
1、“问道于盲”是没有错误的,真正的错误是你睁着眼睛问。
2、你要确认你的沟通方式是否有效,而不是去追求这种方式是不是UML,以及你用UML表达得是否正确。
客户是因为他认为你理解了他的需求,而在“需求确认书”上签字,而不是因为你的UML图画得是否精准。
3、沟通的三层障碍:沟通的第一层障碍并不在于你要表达的内容,而在于你如何表达,换个说法就是不知所云。
沟通的第二层障碍出现在跟聪明人的讨论中,让人觉得“不知所为”。这种情况下应当预设前提,并尽早阐述结论。沟通的第三层障碍主要表现是:不知缓急。解决之道是不要把沟通目标设定为让对方认同。
4、沟通不过是手段,是工具的一种,而管理者的目标是项目本身。用尽可能少的人、在尽可能短的时间内做出决策,这是降低沟通成本的关键。有的“异”观点无关宏旨,无碍大局,可以存而不论。
5、应保障每一次沟通的有效性,得到的每一次沟通机会,都是向客户了解更深层次需求的机会,
因此最好在见到客户之前,就已经设计了所有的问题和提问方式。
6、应该为项目做好历史记录,历史记录为项目的后续开发、维护提供了可能,为不存在的角色留下了沟通的渠道。历史记录包括需求阶段、设计阶段、开发阶段、测试阶段等各个阶段的文档和报告。
7、在每一次回顾项目时都应该注意:流于形式的沟通,极有可能是你的项目被不断推翻和不断延迟的最直接原因。
五、失败的过程也是过程
1、实现才是目的,很多人把问题的本质给忘掉了。从最开始,从我们编程开始,我们的目的就是实现一个东西。
无论这个东西是小到称手的一个工具,还是大到千万的一个工程,我们的目标,都是要“实现”它。
2、越是简单的东西,往往越是接近于本质。
3、工程不是做的,是组织的。我们当然不能“做”工程,而是要“组织”工程。项目经理的工作,
就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目。
六、谁是解结的人
1、企业文化是一种群体现象。群体现象本身除了长期的自我演进之外,另一种就是由管理者所引导的团队文化
所扩散出来并进而产生影响的现象。
2、经验,是源于对过去的思考,而不是对过去的复制。面对那些在你面前说“我们曾经这样成功地做过”的空降者,不妨先把他们想象成一条条肺鱼。只有提得出质疑,才能换个角度去看到那些成功经验所依赖的背景,
也才能看到某些成功背后的偶然的或者关联的因素。
3、应该记住管理者的责任也包括“监督,发现问题并防止扩散“。因而要主动给自己留下时间和空间来发现问题,在问题出现之前定位它、分析它,并组织人力去解决它,而不是等到问题出现之后再去冲到前面,
然后在还没有清楚地意识到问题的根源时就试图解决之。
4、先人后已,管理者一定不要忘记在开始“忙”之前做一件事:驱动你的团队。
问问自己:“如果这件事不做,会如何?那件事不做,又会如何?”找出影响面最大的一件,
交给别的人(或者大家)去做,而自己做“不是太重要”的那件事就可以了。
5、如何看待一个问题是不是问题取决于你对问题的观察角度。普通球员关注于眼前的得失,
所以看到了失球的“问题”,乔丹关注于比赛的得失,所以看到了得分的希望。
七、从编程到工程
1、语言只是工具,程序=算法+结构。这是编程的本源定义,也是原始的状态。
2、《三十六计》更多的时候是被当成方法论来读的。其根源在于“计谋”本身只是方法,而不是战略。
3、BOSS(经营者)决定了一个方向,组织者保证决策与这个方向是同步的,而工程是在这样的一个方向、
决策的构架下的一个具体行为。
4、实现是软件开发的本质需求。因而实现方法总是最先出现的,而后才有分析和设计方法。
八、你看得到工具的本质吗
1、使用工具的方法,比工具本身更关键。所以“欲善其事,先利其器”这样的言率,未见得是全对的。
2、工具的本质,如同工程与编程,单以编程而论,讲究技法之精妙,追求细节与枝节是可以的;但对于工程来说,能让团队理解、统一执行、迅速有效的实战技法,才是真实所需的。就像战争一样,团队化的工程中,
技术的优劣并不是关键。关键在于某种技法是否能为团队带来整体的成效,而不在于某个人是否喜欢,或者深谙于此。
3、沉浸于技法越深,便越容易忘记使用这种技法的最初目标和应用场合—就如同陈尧咨仅仅把射箭看成技艺,
而看不到它作为战场武器的本质;亦如同卖油翁一味演练技法之高妙,而不考虑卖油才是目的,而技法只是表面。
4、工具之用,到了融通地步,也就无所谓“选择哪个工具”了。但是所谓融通,是基于对工具背后思想的了解。
5、了解Interface之后,才真正地有了“软件设计”的观念。而一旦有了软件设计的观念,“实现”的过程,
就变得越来越不重要。
九、现实中的软件工程
1、愚公如果停下来,思考的问题可能是碎石的“方法”。而项目经理从细节中跳出来,思考的问题就应当是
完成工程的“方法”。评价这个方法的好坏的标准只有一个:节约成本。
2、不计成本的项目计划不会得到经营者的支持;毫无目的地消耗成本是项目中的慢性毒药;
最致命的风险是成本的枯竭。
十、具体工程
1、广义工程的定义:面向“软件活动的根本任务”;程序实现的过程无助于求解根本任务。
2、狭义工程的定义:面向“具体工程活动的需求”:实现;求解“根本任务”只是将“实现”作为一个过程或
结果的探索活动或附加价值。
3、在所有实践活动中最重要但也是最难保障的就是:控制规模。规模分成规、模两个方面,前者是边界,
后者是形态。做更多的事情,以及把事情做到“更好”,等等,这些都是项目边界的失控。
4、从思维法的角度来看,广义工程考虑的是对工程问题的“统治”,而具体工程则考虑的是“分治”。
分治关键在于隔离问题域,找到造成混乱的问题之间的关系,以及分类出无关的问题。
十一、是思考还是思想
1、知律而变,死读一本《软件工程》的人不会做真正的软件工程。
相关推荐
《大道至简》是一部深入浅出的科技与人文思想书籍,旨在探讨复杂世界背后的简单原理。本书以epub格式提供,特别为iPhone用户优化,可以在iBook应用中阅读。epub是一种开放标准的电子书格式,它支持文本、图像、...
《大道至简》是软件工程领域的一本重要著作,作者周爱民以其丰富的实践经验,深入浅出地探讨了软件工程的本质和编程思想。这本书的核心观点是,软件工程并不像人们通常认为的那样复杂,而是可以通过简化流程、清晰...
通达信指标公式源码大道至简 简单就好 副图 源码.doc
《大道至简》是周爱民先生关于软件工程实践者思想的一本著作,作者通过深入品读,结合自身的理解和思考,形成了一篇读书笔记。这本书不仅为读者提供了丰富的项目管理经验,还以至简的文字描述了软件工程的理论,让...
房地产制造业化趋势研究报告:大道至简,各有千秋(22页),资源名称:房地产制造业化趋势研究报告:大道至简,各有千秋(22页)房地产行业房地产制造业化趋势研究:大道至简,各有千秋-20180725-长江证券-22页.pdf....
大道至简:软件工程实践者的思想 高清扫描版
通达信公式指标源码大道至简指标公式赚大钱 本文档主要讲述了在股票市场中使用技术指标来获取利润的方法。作者强调,股市中保本是第一位的,少犯错误的交易策略是赚钱的关键。以下是对该指标公式的详细解释: 一、...
然而,正如文档标题“通达信指标公式源码大道至简”所暗示的,真正的投资智慧往往在于对市场的深入理解和简洁有效的策略,而不是复杂的技术公式。 文档中提到的源码片段是一个基于交叉信号的交易策略。首先,让我们...
在描述中,“大道至简、大有若无”是对框架设计理念的概括,这可能意味着该框架设计得非常精炼,其核心理念是通过最少的代码和简单的结构实现最大的功能。它可能通过抽象和自动化处理常见任务,让开发者可以专注于...
在网上花了1.5买的pdf文件,之前别人发的加密文件的解压密码是g49d5AHjGcfE1xsot3yq6fR 支持原著,建议大家买正版。百度链接:https://pan.baidu.com/s/1kf4oA_g6_jYoRE4DnG631w 密码:fptw
大道至简
"时寒冰大道至简系列博客定义" 本资源是基于时寒冰的博客系列,主要讨论投资和趋势分析的相关知识点。下面是对标题、描述、标签和部分内容的详细解释: 标题:"时寒冰大道至简系列博客定义" 该标题表明这篇博客...