香草进化式IT服务规范v1.0北京香草信息技术有限公司香草进化式IT服务规范v1.0北京香草信息技术有限公司第2页这是一个关于IT进化的规范,也是一个进化中的规范,它将会被不停地更新。此规范的目的在于提供指导性的原则,以实现进化式的IT服务。此规范中的很多思路来自于XPPrograming(极限编程)的思想和《人月神话》、《人件》、《与熊共舞-软件项目风险管理》等经典著作。一、定义进化式IT服务是:服务提供者和客户,基于共同的长期利益,在一个长时间的持续的过程中,通过不断的磨合、改善、调整,共同努力,以尽可能小的代价使客户的IT系统始终良好的适合客户所处的环境。适合环境,这正是进化服务的最主要含义。二、目标进化式IT服务的最大目标是:在服务提供者和客户之间一起形成一个良性互动的团队,这个团队应达到以下目标:l相互赏识l相互信任l相互激励我们认为这样一个团队是双方最为宝贵的财富,也是实现客户IT进化的根本保障。二、原则意识首先是意识,客户和技术人员共同的意识,对进化的意识。具体而言,双方要在以下几方面达成共识:香草进化式IT服务规范v1.0北京香草信息技术有限公司第3页1.没有最好的,只有最合适的2.IT的改进需要长期的积累3.共同寻找改进的时机,和创造改进的机会4.坚信存在改进的可能长期实现IT的进化是为了追求相对长远的利益,虽然这并不排斥带来短期的利益,但我们相信只有基于一个相对长期的计划,才有可能考虑IT的进化,也更符合客户的利益。即使双发的合同暂时是短期的,双发也应尽可能考虑更长远的计划,这样做不会带来任何坏处。信任双方之间的相互信任极为重要。信任是相互的,因此我们要努力做到:1.对客户的信任,其中包括:a)不怀疑客户提出的需求的必要性b)不怀疑客户报告的错误或使用上的问题的真实性c)充分理解客户在需求认知上的变化上述要求虽然简单,却是许多技术人员所不能真正做到的。2.努力建立起客户对我们的信任要做到这一点,需要在以下几方面进行努力:a)让客户理解技术上的问题即使问题需要相当的专业知识,也应该尽力解释b)提供透明的进度报告,让客户理解并共同安排进度c)不隐瞒已知的缺陷,或可能存在的问题d)努力工作,并让客户知道e)让客户理解创新或克服障碍可能存在的风险f)征求客户的同意,允许为了做得更好,而在一定程度上出错的可能香草进化式IT服务规范v1.0北京香草信息技术有限公司第4页沟通保持良好的沟通非常重要,我们应该做的:1.确认双方对问题保持相同的理解,发现任何不确定立即联系2.及时将变化反馈3.定期的例行报告,及时在双方之间更新信息主动不能发挥主动性的技术人员是糟糕的,我们要在以下几方面发挥主动:1.主动检查、分析和确认需求,而非盲目接受,发现问题立即反馈2.主动更正客户提供的文档、材料中显而易见的错误(如:文字拼写、明显的前后文冲突),而非置之不理3.主动承担额外的工作,帮助客户(如:数据处理、格式转换),而非袖手旁观4.主动发掘潜在的风险,并提供分析5.鼓励多管闲事保持激情要保持工作的激情,充分相信我们工作的意义所在。要铭记“人不知而不愠,不亦君子乎”,不为别人可能的不理解或不知道我们的工作而烦恼。保持乐观,总是精神抖擞的进行工作,并以此影响他人。香草进化式IT服务规范v1.0北京香草信息技术有限公司第5页鼓励要做到有意识的自我鼓励和相互鼓励:1.鼓励客户对需求的深入分析,鼓励客户对软件的深入理解和使用2.请求客户对我们的鼓励3.对重要里程碑举行庆祝仪式三、实施启动我们认为在双方的合作之初,应该采取措施实现前述目标:建立团队。可能采取的措施包括:1.双方相关人员的相互认识和熟悉,可以酌情考虑以下方案a)一起聚餐,野餐或家庭式聚餐尤为可取b)举行某运动的友谊赛c)一起拓展训练d)开会e)上门拜访2.阅读相同的书籍并讨论,推荐的书目包括:a)《人月神话》b)《人件》c)《与熊共舞-软件项目风险管理》d)《你的灯亮着吗?》3.建立起双方合作的技术平台,根据具体情况考虑以下手段:a)建立网站、讨论组b)建立VPN连接香草进化式IT服务规范v1.0北京香草信息技术有限公司第6页4.讨论并议定操作流程,包括:a)需求的管理b)计划进度的管理c)文档的管理d)发行版本的管理e)紧急事件的处理机制f)风险的共同防范共同计划参考《与熊共舞》在项目之初,双方即以风险图的形式确定项目重要里程碑的边界。在项目进行过程中,根据实际进度和需求变化情况,举行会议重新讨论计划,并将新的计划以明确的方式发布。在此过程中要注意:1.确保所有人拥有共同的计划2.将计划明确并分解到个人,避免某件事情被所有人忽略3.确定日期之前充分征求各方意见,避免一厢情愿4.充分允许事先的质疑或过程中的变化请求沟通要实现良好的沟通,注意以下细节:1.不怕麻烦,随时确认,确保相同的理解2.保持愉快的语气3.微笑4.理解和尊重别人5.如果别人不理解,则要耐心6.注意寻找共同的话题香草进化式IT服务规范v1.0北京香草信息技术有限公司第7页重构虽然重构对于客户往往不可见,但技术人员应充分理解重构的重要性。本规范并不详细说明如何重构,仅指出实现重构前的步骤:1.阅读重构有关书籍并讨论2.了解并配备相关的软件工具3.有资深人员的指导4.注重设计小步迭代在进化式的IT开发中,小步迭代是取得成功的重要保证。我们实现小步迭代,要做到以下几个方面:1.短发布周期,建议以一周为周期2.增量开发,确定需求优先级次序3.划分出需求的最小元单位4.风险取决于价值,确定每一步迭代的风险和价值香草进化式IT服务规范v1.0北京香草信息技术有限公司第8页附件附件一敏捷软件开发宣言(摘录自《敏捷软件开发—原则、模式与实践》)我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也具有价值,但我们认为左项具有更大的价值。KentBackJamesGrenningRobertC.MartinMikeBeedleJimHighsmithSteveMellorArievanBennekumAndrewHuntKenSchwaberAlistairCockburnRonJeffriesJeffSutherlandWardCunninghamJonKernDaveThomasMartinFowlerBrainMarick