自由行

2009-10-25

敏捷软件开发之旅(3)-风起云涌

Filed under: 精益软件开发之旅 — Tags: — thomas @ 22:01

本篇回顾XqCap4在943周的进展,遇到的问题与得失。

943周的周五是Team Building活动日,只有4天时间在开发,不过周四正好是09.10.22,那么从09.08.22开始到周四正好两个月。笔者想起最初规划时,由于确立了以configuration中心的架构,而且早期在验证CCamera功能方面,也较为顺利,所以错误的估计了时间,感觉完成这个应用软件应该是指日可待了。但是两个月过去了,尚在进行之中,按实际的平均速度,预计还需要数周。

中间经历了换租房子,“十一”长假,确实减缓了开发进度。十一期间仅提交了6次,不过长期专注于开发,白天在公司写代码,晚上也是,真累。因为前面的估计过于乐观,这也是一个压力的来源。导致941,042周进展缓慢。主要的工作集中在界面的设计和实现上。

多标签对话框(Tabs Dialog),标签页(Tab Page),Menu

下一步任务

  • Add Feature
    -Touch Focus;
    -Storage Path;
  • Fix Defects
    -Video Control(Record/Pause/Resume/Stop);
    -Photo-Video GUI Switching;
  • Adjust Photo/Video GUI;

未完待续

极限编程的核心实践

Filed under: 思想, 精益 — Tags: , — thomas @ 19:40

极限编程实践的核心,正如 Extreme programming explained 所描述的,可以被区分为以下四个范围(13个实践):

小规模回馈

反复性程序而不是批量的

  • 持续整合
  • 设计最佳化(原名:软体重构
  • 小型发布

共同认识(共识)

  • 简单的设计
  • 系统隐喻
  • 集体代码所有制
  • 程序设计标准/程序设计规约

程序设计师的利益

  • 恒定速度
  • 可反复性速率(原名:每周40小时)

2009-09-13

敏捷软件开发之旅(1)-一个重要的里程碑

Filed under: Projects Log, 程序员, 精益软件开发之旅 — thomas @ 23:03

v1.5.0是XqCap4的一个标签(svn tags) ,这个标签的软件实现手机拍照软件的核心功能。

作为手机拍照软件,主要的功能包括:
图片的拍摄、存储、查看;
视频的录制、存储、回放;
拍摄参数的设置,如:图片的尺寸,清晰度,曝光度等;
录制参数的设置,如:视频的尺寸(QCIF, QVGA, VGA…),编码格式等;
其中核心的功能是图片的拍摄、存储,视频的录制、存储,其次是图片的浏览、视频的回放;

在v1.5.0中除视频的回放没有实现,其它的已经实现了,当然只支持少量的参数设置。尽管最终目标还有一段距离,不过拍照和录视频的功能都实现了,而这些是需要和底层服务、驱动打交道的,比较困难,而其它的功能开发与一般的应用一致,难度就低很多了。解决了困难的问题,在演进中提炼和完善了架构设计,剩下的开发工作更有把握。可以说现在的状态是一个分水岭。如果说前面是一段上坡路,后面就是走下坡的路了,将会轻松很多。

从时间跨度上看,2009.08.22~2009.09.13,除08.29给人咨询移动应用开发的事情,精力主要花在开发上。在这23天中提交了82次代码,平均每天4次。每天晚上大概三个小时,4个周末全天10小时左右,共15*3 + 8*10 = 125小时,由于白天在公司也是开发,所以每天的开发时间将近12小时,确实比较累。

这中间对架构进行三次修改,这些修改对于敏捷软件开发来说是非常重要的,这也是笔者这次敏捷软件开发实践的初衷。架构如何演进出来而不是在最初就确定,是一个区别于非敏捷的重要特征,其中的一些细节问题留待后续文章叙述。

2009-08-09

精益2009(5)-精益学习

Filed under: 精益 — Tags: — thomas @ 21:40

精益思想在学习上的运用:
迭代式的学习;拉动式的学习;

2009-08-08

精益2009(4)-经典书籍《精益思想》

Filed under: 思想, 精益, 阅读 — thomas @ 22:23
书籍信息
书名 精益思想
全称 在你的企业中消除浪费并创造价值:修订更新
出版社 机械工业出版社
译者 沈希谨;张文杰;李京生
出版日期 2008年5月
上架时间 2008-05-15
开本 16
页码 372
版次 1-1
所属分类 经济管理>
管理>
企>业管理>
综合
语言 中文
ISBN 978-7111239598
Book Information
Book Name Lean Thinking
Full Name Banish Waste and Create Wealth in Your Corporation, Revised and Updated
Press Gestion 2000
Autor James P.Womack, Daniel T.Jones
Publisher June 10, 2003
Sale Date -
Product Dimensions 9.4*6.3*.16 inchs
Pages 396
Edition 2nd Edition
Categories Books > Business & Investing > Management & Leadership > Quality Control

Books > Business & Investing > Management & Leadership > Systems & Planning

Books > Business & Investing > Small Business & Entrepreneurship > Entrepreneurship

Language English
ISBN 978-0743249270

<可伸缩敏捷开发>点评

Filed under: 思想, 精益, 阅读 — thomas @ 12:05

从上周开始阅读《可伸缩敏捷开发:企业级最佳实践》,既《精益思想》,《精益软件开发》的又一次触动。
中文译本:http://www.china-pub.com/195460
英文原本:http://www.amazon.com/Scaling-Software-Agility-Enterprises-Development/dp/0321458192/ref=sr_11_1?ie=UTF8&qid=1242451760&sr=11-1

  • Paperback: 384 pages
  • Publisher: Addison-Wesley Professional; 1 edition (March 8, 2007)
  • Language: English
  • ISBN-10: 0321458192
  • ISBN-13: 978-0321458193
  • Product Dimensions: 9 x 7.6 x 1.2 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review:

    4.5 out of 5 stars See all reviews (21 customer reviews)

  • Amazon.com Sales Rank: #260,055 in Books (See Bestsellers in Books)
【评  价】 (共 2 条) 参与评论
【原 书 名】 Scaling Software Agility: Best Practices for Large Enterprises
【原出版社】 Addison-Wesley Professional
【作  者】(美)Dean Leffingwell [同作者作品] [作译者介绍]
【译  者】 李冬冬;冯雁;娄嘉鹏[同译者作品]
【丛 书 名】 软件工程研究院
【出 版 社】 电子工业出版社     【书 号】 9787121082160
【上架时间】 2009-5-16
【出版日期】 2009 年5月 【开 本】 16开 【页 码】 304     【版 次】1-1
【所属分类】 计算机 > 软件工程及软件方法学 > 综合

笔者记得曾经有人说过,知识的传播,要跨越语言的障碍。在上一个十年,同样的书籍从翻译上市,需要5,6年时间。而这本书出版时间缩短为2年,也算是一种进步了。

希望国内的译者能更快地翻译出更多精品书籍。

2009-07-04

[转]软件开发的精益理念

Filed under: 思想, 知识, 精益, 转载 — thomas @ 01:16

来源 : 不明

精益生产是制造业领域的一大创举,而如果把精益生产的简单原则运用到软件开发上,我们称之为精益编程(Lean Programming)。有人预言,精益编程的效果可能与20世纪80年代精益生产所带来的生产改进一样重大。精益生产的10条简单原则对精益编程同样适用。实际上自适用软件开发及肯特·贝克的极限编程(Extreme Programming)中都运用了这些原则。

精益原则一:消除浪费

精益生产的第一个原则就是消除浪费。利用价值流分析可以发现流程中的所有活动,并能找出最终添加到产品中的价值,然后价值流分析会试图找到更为有效的方法去产生同一价值。

在软件开发过程中制作的文档、图表及模型是软件开发项目 的一部分,但它们往往是消耗品,可以用来帮助系统的生产,但未必是最终产品。一旦系统交付,用户对这些中间过程的消耗品并不在乎。所以此类消耗品需要证明 自己不仅能为最终产品增值,而且还是获得最终价值的最有效的方法。

精益原则二: 尽量减少冗余库存

库存太多会耗用资源、延长响应时间以及隐藏质量问题。软件开发的库存是指不属于最终产品的那些文档。分析一下就会发现,制作这类文档所花费的时间占据了产品周期的一大部分,而最大的浪费还是因为文档无法正确、全面地抓住用户需求而开发了不符合用户需求的系统。

我们知道用户很难依据文档去设想系统的细节;即使是在实际使用前,用户也不可能正确预测系统的运行;甚至在系统交付之后,用户还可能发现这并不是今后整个使用期间自己所期望的系统运行方式。而在评估文档的价值时,这些因素都必须考虑在内。

精益原则三: 缩短系统的响应时间

20世纪80年代,TQM(全面质量管理)原则教会我们如何在数小时而不是数天或数周之内完成产品生产;在传统软件开发需要几个月或几年时间的时候,电子商务项目往往能够在几周之内完成。

丹尼斯·弗雷利曾提议利用降低制造周期所用的技术来缩短软件开发周期。他建议充分利用小批量流畅流程原则。

迭代开发基本上就是把这些原则运用到软件编程上。按照这种方法,在整个开发周期不断设计和交付小而完整的部分。迭代周期从几周到几个月不等,每个迭代阶段都涵盖从收集需求到验收测试的整个开发过程。

精益原则四:获取需求 延迟决策

制造行业过去常常认为,如果营销部分能够准确预测市场需求那该多好。但后来发现这种想法是不对的,相反,应该大大缩短系统的响应时间,以便系统能够对变化做出充分的反应,从而抛弃对预测的依赖。其实IBM目前所推广的EBusiness On Demand正是出于这样的思路,而此前戴尔的成功也是与这个理念分不开的。

使需求保持灵活性,并尽可能贴近交付系统,将为软件开发提供更强的竞争优势。在软件开发的早期阶段敲定设计同样带有预测性,所以软件系统的设计应该随时捕获新的需求,并对变化做出响应。

精益原则五:满足客户需求

导致软件项目失败最常见的原因就是需求不全面或不正确,针对这种风险,软件开发商在继续设计系统之前,会尽量收集详细的用户需求,然后由用户确认。

但很多用户在确认需求文档时经常会拖拖拉拉,他们担心自己认可的项目到头来会是个错误,所以等待他们确认文档会浪费大量时间。从这个角度来说,获得用户的同意非但不能鼓励用户参与,反而会造成开发人员和用户之间的对立。

准确抓住用户需求的有效办法就是借助于迭代系统开发,及早开发核心特性并且通过每个迭代阶段的可用性演示获得客户反馈。

精益原则六:结合反馈 一次做好

当在生产线上发现劣质产品时,很多制造企业会对劣质品进行返工,但效果不佳。相反,如果在整个制造流程中运用测试和控制手段,确保每次移交时每个部件都是合格的,这样就很容易查明产品何时偏离了规格。

业界已经公认,软件交付后找到问题并修正的成本是早期设计阶段的100倍,所以企业需要在编写程序之前验证详细设计的合理性。当然软件的规格在不断变化,企业需要利用各种技术手段不断适应变化。

各种测试技术是整个开发过程中适应变化的最佳手段。另一种应对变化的技术就是再构,即通过受控的方式改进现有软件的设计,利用再构,初始设计可以专注于眼前的问题,以后再考虑将来的需求。

精益原则七:对员工下放权力

如果软件开发环境不如预期,主管的本能反应往往是实行更严格的流程,更加详细地明确员工如何完成任务。精益生产则建议采取截然相反的方法,如果开发出现了问题,不要引进外面的专家,而是为员工提供评估及改进各自领域的工具,给予员工足够的权力,最终自己解决问题。

跟精益生产一样,精益编程同样重视团队的协作。软件开发 至少需要一次信息移交,即从用户到编程人员,但更多的时候不止一次,比如从用户到设计人员,再到编程人员。有观点认为,这类书面信息最好全部移交,但实际 上在移交纸面信息时,会无形中丢失大量有效信息,而让小组成员协同工作则效率要高得多,同时还减少了文书工作。

精益原则八:取消局部优化

在过去,不让机器满负荷运作是难以接受的,但在精益生产中这却是合理的。

一些受过训练的项目经理会非常关注某些局部的管理,正如 制造工人致力于尽量提高机器的生产效率一样。但精益编程是受时间和反馈的驱动,所以局部生产力的优化会削弱整个制造流程。在用户所处环境不断变化的今天, 如果把局部优化放在非常重要的位置,那当用户需求发生变化时,所有优化工作都付之东流。

如果某个局部的功能有一定的框架限制,只要它不会拖延工期,就不必为它担心。

精益原则九:利用逐步采购

供应链并不是在今天才产生,让供应商相互竞争,保证以最低的成本获得原材料也是很常见的,但精益生产又一次改变了这种惯例。美国管理大师爱德华兹·戴明认为,与供应商基于信赖的关系创造了给双方公司带来最大效益的环境。

事实证明,减少供应商的数量,其合作关系具有更高的质量。长期的合作关系可以帮助企业改进产品设计及生产流程,而且几乎无需文书工作。

很多软件企业认识到,传统的软件开发合同造成了隐性浪费。而对软件用户来说,相对稳定的软件开发商可以专注于为用户提供更优秀的软件,并可在开发中尽可能迟地使需求稳定下来。

精益原则十:缔造精益文化

这个原则不用解释也一目了然,如今优秀的软件开发意味着能够不断适应变化。其实在类似CMM的模型中缺乏对变化迅速做出响应的灵活性。

从某种意义上来说,迭代项目环境成了运行环境,因为流程重复出现,就可以把流程改进技术从一个迭代阶段运用到另一个阶段。不过我们需要的不仅仅是涵盖某个项目的改进模型,只要学习现有的项目,就可以改进未来项目的性能。

注:这篇文章在网站及博客中被多次转载。在<”软件开发” “精益理念”>组合关键字中搜索结果如下:
Results 110 of about 129 for “软件开发” “精益理念”. (0.20 seconds)

作者对于精益思想中“价值、价值流、流动、拉动、尽善尽美”的核心观点把握的很到位。但是具体技术、实施方面涉及太少,或许原作者有很好的实践没有总结出来,或者是藏于互联网的信息海洋中,笔者将持续的关注这个话题。

Èí¼þ¿ª·¢µÄ¾«ÒæÀíÄî
À´Ô´£ºÖйú×Ôѧ±à³ÌÍø   ·¢²¼ÈÕÆÚ£º2007-11-21
¾«ÒæÉú²úÊÇÖÆÔìÒµÁìÓòµÄÒ»´ó´´¾Ù£¬¶øÈç¹û°Ñ¾«ÒæÉú²úµÄ¼òµ¥Ô­ÔòÔËÓõ½Èí¼þ¿ª·¢ÉÏ£¬ÎÒÃdzÆ֮Ϊ¾«Òæ±à³Ì£¨Lean Programming£©¡£ÓÐÈËÔ¤ÑÔ£¬¾«Òæ±à³ÌµÄЧ¹û¿ÉÄÜÓë20ÊÀ¼Í80Äê´ú¾«ÒæÉú²úËù´øÀ´µÄÉú²ú¸Ä½øÒ»ÑùÖØ´ó¡£¾«ÒæÉú²úµÄ10Ìõ¼òµ¥Ô­Ôò¶Ô¾«Òæ±à³ÌͬÑùÊÊÓá£Êµ¼ÊÉÏ×ÔÊÊÓÃÈí¼þ¿ª·¢¼°¿ÏÌØ¡¤±´¿ËµÄ¼«ÏÞ±à³Ì£¨Extreme Programming£©Öж¼ÔËÓÃÁËÕâЩԭÔò£¬Öйú×Ôѧ±à³ÌÍø£¬www.zxbc.cn ¡£
¾«ÒæÔ­ÔòÒ»£ºÏû³ýÀË·Ñ
¾«ÒæÉú²úµÄµÚÒ»¸öÔ­Ôò¾ÍÊÇÏû³ýÀË·Ñ¡£ÀûÓüÛÖµÁ÷·ÖÎö¿ÉÒÔ·¢ÏÖÁ÷³ÌÖеÄËùÓл£¬²¢ÄÜÕÒ³ö×îÖÕÌí¼Óµ½²úÆ·ÖеļÛÖµ£¬È»ºó¼ÛÖµÁ÷·ÖÎö»áÊÔͼÕÒµ½¸üΪÓÐЧµÄ·½·¨È¥²úÉúͬһ¼ÛÖµ¡£
ÔÚÈí¼þ¿ª·¢¹ý³ÌÖÐÖÆ×÷µÄÎĵµ¡¢Í¼±í¼°Ä£ÐÍÊÇÈí¼þ¿ª·¢ÏîÄ¿µÄÒ»²¿·Ö£¬µ«ËüÃÇÍùÍùÊÇÏûºÄÆ·£¬¿ÉÒÔÓÃÀ´°ïÖúϵͳµÄÉú²ú£¬µ«Î´±ØÊÇ×îÖÕ²úÆ·¡£Ò»µ©ÏµÍ³½»¸¶£¬Óû§¶ÔÕâЩÖмä¹ý³ÌµÄÏûºÄÆ·²¢²»ÔÚºõ¡£ËùÒÔ´ËÀàÏûºÄÆ·ÐèÒªÖ¤Ã÷×Ô¼º²»½öÄÜΪ×îÖÕ²úÆ·ÔöÖµ£¬¶øÇÒ»¹ÊÇ»ñµÃ×îÖÕ¼ÛÖµµÄ×îÓÐЧµÄ·½·¨¡£
¾«ÒæÔ­Ôò¶þ£º ¾¡Á¿¼õÉÙÈßÓà¡°¿â´æ¡±
¿â´æÌ«¶à»áºÄÓÃ×ÊÔ´¡¢ÑÓ³¤ÏìӦʱ¼äÒÔ¼°Òþ²ØÖÊÁ¿ÎÊÌâ¡£Èí¼þ¿ª·¢µÄ¡°¿â´æ¡±ÊÇÖ¸²»ÊôÓÚ×îÖÕ²úÆ·µÄÄÇЩÎĵµ¡£·ÖÎöһϾͻᷢÏÖ£¬ÖÆ×÷ÕâÀàÎĵµËù»¨·ÑµÄʱ¼äÕ¼¾ÝÁ˲úÆ·ÖÜÆÚµÄÒ»´ó²¿·Ö£¬¶ø×î´óµÄÀË·Ñ»¹ÊÇÒòΪÎĵµÎÞ·¨ÕýÈ·¡¢È«ÃæµØץסÓû§ÐèÇó¶ø¿ª·¢Á˲»·ûºÏÓû§ÐèÇóµÄϵͳ¡£
ÎÒÃÇÖªµÀÓû§ºÜÄÑÒÀ¾ÝÎĵµÈ¥ÉèÏëϵͳµÄϸ½Ú£»¼´Ê¹ÊÇÔÚʵ¼ÊʹÓÃÇ°£¬Óû§Ò²²»¿ÉÄÜÕýÈ·Ô¤²âϵͳµÄÔËÐУ»ÉõÖÁÔÚϵͳ½»¸¶Ö®ºó£¬Óû§»¹¿ÉÄÜ·¢ÏÖÕâ²¢²»ÊǽñºóÕû¸öʹÓÃÆÚ¼ä×Ô¼ºËùÆÚÍûµÄϵͳÔËÐз½Ê½¡£¶øÔÚÆÀ¹ÀÎĵµµÄ¼Ûֵʱ£¬ÕâЩÒòËض¼±ØÐ뿼ÂÇÔÚÄÚ¡£
¾«ÒæÔ­ÔòÈý£º Ëõ¶ÌϵͳµÄÏìӦʱ¼ä
20ÊÀ¼Í80Äê´ú£¬TQM£¨È«ÃæÖÊÁ¿¹ÜÀí£©Ô­Ôò½Ì»áÎÒÃÇÈçºÎÔÚÊýСʱ¶ø²»ÊÇÊýÌì»òÊýÖÜÖ®ÄÚÍê³É²úÆ·Éú²ú£»ÔÚ´«Í³Èí¼þ¿ª·¢ÐèÒª¼¸¸öÔ»ò¼¸Äêʱ¼äµÄʱºò£¬µç×ÓÉÌÎñÏîÄ¿ÍùÍùÄܹ»ÔÚ¼¸ÖÜÖ®ÄÚÍê³É¡£
µ¤Äá˹¡¤¸¥À×ÀûÔøÌáÒéÀûÓýµµÍÖÆÔìÖÜÆÚËùÓõļ¼ÊõÀ´Ëõ¶ÌÈí¼þ¿ª·¢ÖÜÆÚ¡£Ëû½¨Òé³ä·ÖÀûÓá°Ð¡ÅúÁ¿¡±ºÍ¡°Á÷³©Á÷³Ì¡±Ô­Ôò¡£
µü´ú¿ª·¢»ù±¾ÉϾÍÊÇ°ÑÕâЩԭÔòÔËÓõ½Èí¼þ±à³ÌÉÏ¡£°´ÕÕÕâÖÖ·½·¨£¬ÔÚÕû¸ö¿ª·¢ÖÜÆÚ²»¶ÏÉè¼ÆºÍ½»¸¶Ð¡¶øÍêÕûµÄ²¿·Ö¡£µü´úÖÜÆÚ´Ó¼¸Öܵ½¼¸¸öÔ²»µÈ£¬Ã¿¸öµü´ú½×¶Î¶¼º­¸Ç´ÓÊÕ¼¯ÐèÇóµ½ÑéÊÕ²âÊÔµÄÕû¸ö¿ª·¢¹ý³Ì¡£
¾«ÒæÔ­ÔòËÄ£º»ñÈ¡ÐèÇó ÑÓ³Ù¾ö²ß
ÖÆÔìÐÐÒµ¹ýÈ¥³£³£ÈÏΪ£¬Èç¹ûÓªÏú²¿·ÖÄܹ»×¼È·Ô¤²âÊг¡ÐèÇóÄǸöàºÃ¡£µ«ºóÀ´·¢ÏÖÕâÖÖÏë·¨ÊDz»¶ÔµÄ£¬Ïà·´£¬Ó¦¸Ã´ó´óËõ¶ÌϵͳµÄÏìӦʱ¼ä£¬ÒÔ±ãϵͳÄܹ»¶Ô±ä»¯×ö³ö³ä·ÖµÄ·´Ó¦£¬´Ó¶øÅ×Æú¶ÔÔ¤²âµÄÒÀÀµ¡£ÆäʵIBMÄ¿Ç°ËùÍƹãµÄE£­Business On DemandÕýÊdzöÓÚÕâÑùµÄ˼·£¬¶ø´ËÇ°´÷¶ûµÄ³É¹¦Ò²ÊÇÓëÕâ¸öÀíÄî·Ö²»¿ªµÄ¡£
ʹÐèÇó±£³ÖÁé»îÐÔ£¬²¢¾¡¿ÉÄÜÌù½ü½»¸¶ÏµÍ³£¬½«ÎªÈí¼þ¿ª·¢Ìṩ¸üÇ¿µÄ¾ºÕùÓÅÊÆ¡£ÔÚÈí¼þ¿ª·¢µÄÔçÆڽ׶ÎÇö¨Éè¼ÆͬÑù´øÓÐÔ¤²âÐÔ£¬ËùÒÔÈí¼þϵͳµÄÉè¼ÆÓ¦¸ÃËæʱ²¶»ñеÄÐèÇ󣬲¢¶Ô±ä»¯×ö³öÏìÓ¦¡£
¾«ÒæÔ­ÔòÎ壺Âú×ã¿Í»§ÐèÇó
µ¼ÖÂÈí¼þÏîĿʧ°Ü×î³£¼ûµÄÔ­Òò¾ÍÊÇÐèÇó²»È«Ãæ»ò²»ÕýÈ·£¬Õë¶ÔÕâÖÖ·çÏÕ£¬Èí¼þ¿ª·¢ÉÌÔÚ¼ÌÐøÉè¼Æϵͳ֮ǰ£¬»á¾¡Á¿ÊÕ¼¯ÏêϸµÄÓû§ÐèÇó£¬È»ºóÓÉÓû§È·ÈÏ¡£
µ«ºÜ¶àÓû§ÔÚÈ·ÈÏÐèÇóÎĵµÊ±¾­³£»áÍÏÍÏÀ­À­£¬ËûÃǵ£ÐÄ×Ô¼ºÈϿɵÄÏîÄ¿µ½Í·À´»áÊǸö´íÎó£¬ËùÒԵȴýËûÃÇÈ·ÈÏÎĵµ»áÀË·Ñ´óÁ¿Ê±¼ä¡£´ÓÕâ¸ö½Ç¶ÈÀ´Ëµ£¬»ñµÃÓû§µÄͬÒâ·Çµ«²»ÄܹÄÀøÓû§²ÎÓ룬·´¶ø»áÔì³É¿ª·¢ÈËÔ±ºÍÓû§Ö®¼äµÄ¶ÔÁ¢¡£
׼ȷץסÓû§ÐèÇóµÄÓÐЧ°ì·¨¾ÍÊǽèÖúÓÚµü´úϵͳ¿ª·¢£¬¼°Ô翪·¢ºËÐÄÌØÐÔ²¢ÇÒͨ¹ýÿ¸öµü´ú½×¶ÎµÄ¿ÉÓÃÐÔÑÝʾ»ñµÃ¿Í»§·´À¡¡£  [Page]
¾«ÒæÔ­ÔòÁù£º½áºÏ·´À¡¡¡Ò»´Î×öºÃ
µ±ÔÚÉú²úÏßÉÏ·¢ÏÖÁÓÖʲúƷʱ£¬ºÜ¶àÖÆÔìÆóÒµ»á¶ÔÁÓÖÊÆ·½øÐзµ¹¤£¬µ«Ð§¹û²»¼Ñ¡£Ïà·´£¬Èç¹ûÔÚÕû¸öÖÆÔìÁ÷³ÌÖÐÔËÓòâÊԺͿØÖÆÊֶΣ¬È·±£Ã¿´ÎÒƽ»Ê±Ã¿¸ö²¿¼þ¶¼ÊǺϸñµÄ£¬ÕâÑù¾ÍºÜÈÝÒײéÃ÷²úÆ·ºÎʱƫÀëÁ˹æ¸ñ¡£
Òµ½çÒѾ­¹«ÈÏ£¬Èí¼þ½»¸¶ºóÕÒµ½ÎÊÌâ²¢ÐÞÕýµÄ³É±¾ÊÇÔçÆÚÉè¼Æ½×¶ÎµÄ100±¶£¬ËùÒÔÆóÒµÐèÒªÔÚ±àд³ÌÐò֮ǰÑéÖ¤ÏêϸÉè¼ÆµÄºÏÀíÐÔ¡£µ±È»Èí¼þµÄ¹æ¸ñÔÚ²»¶Ï±ä»¯£¬ÆóÒµÐèÒªÀûÓø÷ÖÖ¼¼ÊõÊֶ⻶ÏÊÊÓ¦±ä»¯¡£
¸÷ÖÖ²âÊÔ¼¼ÊõÊÇÕû¸ö¿ª·¢¹ý³ÌÖÐÊÊÓ¦±ä»¯µÄ×î¼ÑÊֶΡ£ÁíÒ»ÖÖÓ¦¶Ô±ä»¯µÄ¼¼Êõ¾ÍÊÇÔÙ¹¹£¬¼´Í¨¹ýÊܿصķ½Ê½¸Ä½øÏÖÓÐÈí¼þµÄÉè¼Æ£¬ÀûÓÃÔÙ¹¹£¬³õʼÉè¼Æ¿ÉÒÔרעÓÚÑÛÇ°µÄÎÊÌ⣬ÒÔºóÔÙ¿¼Âǽ«À´µÄÐèÇó¡£
¾«ÒæÔ­ÔòÆߣº¶ÔÔ±¹¤Ï·ÅȨÁ¦
Èç¹ûÈí¼þ¿ª·¢»·¾³²»ÈçÔ¤ÆÚ£¬Ö÷¹ÜµÄ±¾ÄÜ·´Ó¦ÍùÍùÊÇʵÐиüÑϸñµÄÁ÷³Ì£¬¸ü¼ÓÏêϸµØÃ÷È·Ô±¹¤ÈçºÎÍê³ÉÈÎÎñ¡£¾«ÒæÉú²úÔò½¨Òé²ÉÈ¡½ØÈ»Ïà·´µÄ·½·¨£¬Èç¹û¿ª·¢³öÏÖÁËÎÊÌ⣬²»ÒªÒý½øÍâÃæµÄר¼Ò£¬¶øÊÇΪԱ¹¤ÌṩÆÀ¹À¼°¸Ä½ø¸÷×ÔÁìÓòµÄ¹¤¾ß£¬¸øÓèÔ±¹¤×ã¹»µÄȨÁ¦£¬×îÖÕ×Ô¼º½â¾öÎÊÌâ¡£
¸ú¾«ÒæÉú²úÒ»Ñù£¬¾«Òæ±à³ÌͬÑùÖØÊÓÍŶӵÄЭ×÷¡£Èí¼þ¿ª·¢ÖÁÉÙÐèÒªÒ»´ÎÐÅÏ¢Òƽ»£¬¼´´ÓÓû§µ½±à³ÌÈËÔ±£¬µ«¸ü¶àµÄʱºò²»Ö¹Ò»´Î£¬±ÈÈç´ÓÓû§µ½Éè¼ÆÈËÔ±£¬ÔÙµ½±à³ÌÈËÔ±¡£Óй۵ãÈÏΪ£¬ÕâÀàÊéÃæÐÅÏ¢×îºÃÈ«²¿Òƽ»£¬µ«Êµ¼ÊÉÏÔÚÒƽ»Ö½ÃæÐÅϢʱ£¬»áÎÞÐÎÖжªÊ§´óÁ¿ÓÐЧÐÅÏ¢£¬¶øÈÃС×é³ÉԱЭͬ¹¤×÷ÔòЧÂÊÒª¸ßµÃ¶à£¬Í¬Ê±»¹¼õÉÙÁËÎÄÊ鹤×÷¡£
¾«ÒæÔ­Ôò°Ë£ºÈ¡Ïû¾Ö²¿ÓÅ»¯
ÔÚ¹ýÈ¥£¬²»ÈûúÆ÷Âú¸ººÉÔË×÷ÊÇÄÑÒÔ½ÓÊܵģ¬µ«ÔÚ¾«ÒæÉú²úÖÐÕâÈ´ÊǺÏÀíµÄ¡£
һЩÊܹýѵÁ·µÄÏîÄ¿¾­Àí»á·Ç³£¹ØעijЩ¾Ö²¿µÄ¹ÜÀí£¬ÕýÈçÖÆÔ칤ÈËÖÂÁ¦ÓÚ¾¡Á¿Ìá¸ß»úÆ÷µÄÉú²úЧÂÊÒ»Ñù¡£µ«¾«Òæ±à³ÌÊÇÊÜʱ¼äºÍ·´À¡µÄÇý¶¯£¬ËùÒÔ¾Ö²¿Éú²úÁ¦µÄÓÅ»¯»áÏ÷ÈõÕû¸öÖÆÔìÁ÷³Ì¡£ÔÚÓû§Ëù´¦»·¾³²»¶Ï±ä»¯µÄ½ñÌ죬Èç¹û°Ñ¾Ö²¿ÓÅ»¯·ÅÔڷdz£ÖØÒªµÄλÖã¬Äǵ±Óû§ÐèÇó·¢Éú±ä»¯Ê±£¬ËùÓÐÓÅ»¯¹¤×÷¶¼¸¶Ö®¶«Á÷¡£
Èç¹ûij¸ö¾Ö²¿µÄ¹¦ÄÜÓÐÒ»¶¨µÄ¿ò¼ÜÏÞÖÆ£¬Ö»ÒªËü²»»áÍÏÑÓ¹¤ÆÚ£¬¾Í²»±ØΪËüµ£ÐÄ¡£
¾«ÒæÔ­Ôò¾Å£ºÀûÓÃÖ𲽲ɹº
¹©Ó¦Á´²¢²»ÊÇÔÚ½ñÌì²Å²úÉú£¬Èù©Ó¦ÉÌÏ໥¾ºÕù£¬±£Ö¤ÒÔ×îµÍµÄ³É±¾»ñµÃÔ­²ÄÁÏÒ²ÊǺܳ£¼ûµÄ£¬µ«¾«ÒæÉú²úÓÖÒ»´Î¸Ä±äÁËÕâÖÖ¹ßÀý¡£ÃÀ¹ú¹ÜÀí´óʦW¡¤°®µÂ»ª×È¡¤´÷Ã÷ÈÏΪ£¬Ó빩ӦÉÌ»ùÓÚÐÅÀµµÄ¹Øϵ´´ÔìÁ˸øË«·½¹«Ë¾´øÀ´×î´óЧÒæµÄ»·¾³¡£
ÊÂʵ֤Ã÷£¬¼õÉÙ¹©Ó¦É̵ÄÊýÁ¿£¬ÆäºÏ×÷¹Øϵ¾ßÓиü¸ßµÄÖÊÁ¿¡£³¤ÆڵĺÏ×÷¹Øϵ¿ÉÒÔ°ïÖúÆóÒµ¸Ä½ø²úÆ·Éè¼Æ¼°Éú²úÁ÷³Ì£¬¶øÇÒ¼¸ºõÎÞÐèÎÄÊ鹤×÷¡£
ºÜ¶àÈí¼þÆóÒµÈÏʶµ½£¬´«Í³µÄÈí¼þ¿ª·¢ºÏͬÔì³ÉÁËÒþÐÔÀË·Ñ¡£¶ø¶ÔÈí¼þÓû§À´Ëµ£¬Ïà¶ÔÎȶ¨µÄÈí¼þ¿ª·¢ÉÌ¿ÉÒÔרעÓÚΪÓû§Ìṩ¸üÓÅÐãµÄÈí¼þ£¬²¢¿ÉÔÚ¿ª·¢Öо¡¿ÉÄܳٵØʹÐèÇóÎȶ¨ÏÂÀ´¡£¾«ÒæÔ­ÔòÊ®£ºµÞÔ쾫ÒæÎÄ»¯
Õâ¸öÔ­Ôò²»ÓýâÊÍҲһĿÁËÈ»£¬Èç½ñÓÅÐãµÄÈí¼þ¿ª·¢Òâζ×ÅÄܹ»²»¶ÏÊÊÓ¦±ä»¯¡£ÆäʵÔÚÀàËÆCMMµÄÄ£ÐÍÖÐȱ·¦¶Ô±ä»¯Ñ¸ËÙ×ö³öÏìÓ¦µÄÁé»îÐÔ¡£
´ÓijÖÖÒâÒåÉÏÀ´Ëµ£¬µü´úÏîÄ¿»·¾³³ÉÁËÔËÐл·¾³£¬ÒòΪÁ÷³ÌÖظ´³öÏÖ£¬¾Í¿ÉÒÔ°ÑÁ÷³Ì¸Ä½ø¼¼Êõ´ÓÒ»¸öµü´ú½×¶ÎÔËÓõ½ÁíÒ»¸ö½×¶Î¡£²»¹ýÎÒÃÇÐèÒªµÄ²»½ö½öÊǺ­¸Çij¸öÏîÄ¿µÄ¸Ä½øÄ£ÐÍ£¬Ö»ÒªÑ§Ï°ÏÖÓеÄÏîÄ¿£¬¾Í¿ÉÒԸĽøδÀ´ÏîÄ¿µÄÐÔÄÜ¡£  [Page]
µ½Ä¿Ç°ÎªÖ¹£¬¾«ÒæÉú²úµÄÊ®´óÔ­ÔòÒѾ­±»ÆÕ¼°µ½Á˶à¸öÐÐÒµ£¬°üÀ¨ÎïÁ÷¡¢¿Í»§·þÎñ¡¢Ò½ÁƱ£½¡¡¢½ðÈÚ¡¢½¨Öþ¡¢Èí¼þµÈÁìÓò¡£

2009-07-01

精益2009(1)-似曾相识

Filed under: 思想, 精益 — thomas @ 01:02

在去年的这个时候参加了《第三届敏捷中国技术大会》
相关报道:

http://www.agilechina.net/

http://subject.csdn.net/agile_lean.htm

http://news.csdn.net/n/20080519/116087.html

这次会议有两个收获,一是,见到书本上的人物Martin Fowler。二是,接触了敏捷思想和精益思维。

马先生头顶了有点秃,不如照片上面青年,也可能拍的比较早。软件开发者通常思考太多抽象问题,掉头发是比较普遍的,而大师想的就更多了,所以这也好理解。要不是读过他几本书,兴许还真把他当作一个普通老外了。虽然是这样,马先生精神还是不错的,讲起话来很连贯,讨论问题也相当机敏。

马先生的书相当不错,比如《UML精粹》,《重构-改善既有代码的设计》等等。语言通俗易懂,不耍文弄字,又能将把深刻的思想表现在简单的叙述之中,这样的作者着实不多。

另外是接触了敏捷思想和精益思维。当时听完几场讲座,逐渐想通了设计决策时机的问题。当然对于软件工程而言并不大,但很重要。推迟设计决策直到条件具备,看起来只是一个原则,如果配合单元测试、重构、持续集成等等的手段,那就能披荆斩棘,稳步向前了。敏捷经过这几年终于掀起一个潮流。

对“精益”总的印象是,是“敏捷”的源头,但是精益思维或者说精益思想到底是什么?一些讲师只是说,精益思想来自于制造业,那些大师,在主张敏捷之前,研习过“精益”方面的著作,吸取了很多宝贵的思想。给我的感觉是,武学高手在突飞猛进之前研究过《易筋经》一样。精益思想的口号是“消灭浪费”,然后提到一些制造也软件开发的相似之处,除此之外言之甚少。一般是开头会提几句,然后就是具体的软件开发的过程、工具和技术。

不过精益思想的口号对笔者而言并不陌生,笔者本科的专业就是机械,对于机械设计和制造有一些了解。后来因为机缘投身于软件开发。对于软件开发中“浪费”也颇有体会。所以对于精益思想与软件开发,还是留下一些疑问。在会后不久,初选了精益思想丛书中的《精益思想》、《精益之道》。但是并没有时间和心情来仔细阅读。

直到前不久,感冒在家歇息,百五聊赖之中,看到书架之中摆在上面的书,本该去年就看的书,竟然还没有仔细研读过。惭愧之余,便坐下来翻看。看过前言后就发现这个“小批量”和“大批量”的不同生产模式对比中竟然包含了深刻的思想。于是手不释卷读了将近200页。对于精益制造已经了解了很多,也比较容易接受,不过软件开发与机械制造毕竟是不一样的生产,那么在软件开发中运用精益思想有必须有哪些相关的过程、工具、技术、管理方式呢?搜索了一下,结果如下:
Results 110 of about 965 for “精益软件开发”. (0.18 seconds)
主要是一些书籍和一些经验贴。比起RUP而言,还不够成熟。即使“精益制造”在某些制造企业中已经很成熟了,不过总的比例还是比较低的。而基于精益思想的极限编程、SCRUM、敏捷方法在很多软件企业中还处于发展阶段。笔者在与以前的一些同事交流中,发现他们所在的公司实施的敏捷实践,存在很大的偏差。“精益软件开发”还只是初生牛犊。

Powered by WordPress