摘要:
本文是敏捷外包工程系列的第三篇。(之一,之二,之三)下面的很多外包场景以国内的外包为例,因为往往这些项目更加严苛。外包合同常常是固定价格固定工期固定需求(一般称为定额合同),这个时候“拥抱变化”的敏捷感觉意义不大,那么敏捷开发是否就无用武之地了呢?其实不然。下面的一些用法,是利用敏捷开发来促进这种固定合同的达成。在提出这种“如果……,不但……,而且……,那又怎么办呢?”的限制性问题时,不能期待完美的答案,因此下面这些方法有些能用,有些不能用,有些需要在现实环境中加以变形才能使用。而如果发现哪一种方法都没用,企业极有可能运行在高危状态,不是敏捷开发或其他开发方法能解决得了的,应该从市场、销售、定 阅读全文
摘要:
本文是敏捷外包工程系列的第二篇。(之一,之二,之三)敏捷开发整体上适合小团队、产品研发(所以才有product owner一称)的环境,而外包软件开发中常常存在的则相反,因此在创建团队的时候要充分认识到这一点。Product Owner产品负责人的人选听到无数次有人说“我们的Product Owner就是客户,因为所有需求都是客户提的”,其实这样做极度危险。Scrum开发理念提出前的环境大致如此:一小群开发人员(3~9人),内有项目经理发号施令,外有销售人员指手画脚,团队加班加点苦不堪言。因此Scrum提出了要自组织的概念,接下来发生的故事大致如此:自组织需要代价;结果导致分权;开发组获得的权 阅读全文
摘要:
本文是敏捷外包工程系列的第一篇。(之一,之二,之三)本系列是中科院研究生院《软件工程硕士-外包方向》的《敏捷外包工程》课程的课外扩展阅读材料(本人是此课程讲师)。同时也适合软件外包公司在本公司推行敏捷开发时参考。 定义这里的“外包”指广义的外包,包含了传统的欧美外包、对日外包,也包含国内以销售合同驱动的项目型外包,如政府、银行、电信项目。由于整体上外包工程属于管理活动,除了需求开发部分会借鉴XP的实践之外,本文所提到的“敏捷开发”一词多指Scrum方法。“敏捷外包工程”整体上包含两个部分:交易过程和交付过程,本系列中两者均有涉及,当前以后者为主,前者会较晚推出。前者包含市场宣传,客户接洽,合同 阅读全文