摘要:
这是敏捷开发一千零一问系列的第九篇。(在这里提问,之一,之二,之三,问题总目录)问题总体架构设计在什么时机进行?是每个迭代做还是先做完再迭代?这是少数几个被提到的技术问题。在两天的培训课程之后,最后剩下的纯的技术问题一般只占1/5都不到,多数都是管理问题,而管理问题中,又基本上是人的管理问题,这也说明了在“心法人事物”中,心总是第一位的。方案最早想写成方案1、方案2,但感觉有点像说是有不同的很多并行方法,之后又改成步骤1、步骤2,又有点把事线性化了。现在干脆写回成方案123吧,总之越往后的越终极一些,也越难以一步到位。方案1:Sprint0对于长期的项目,常常引入“Sprint0”的概念。Sp 阅读全文
摘要:
这是敏捷开发一千零一问系列的第八篇。(在这里提问,之一,之二,之三,问题总目录)问题在Team中,TeamLeader给人指定任务时,基本没有选择怎么办?(因为大家对别人的工作都不熟悉)方案步骤1:如果团队已经习惯了沉闷地自己开发自己的工作,办公室里边总是静悄悄的,那么一个可行的起点,是Leader可以先与大家进行松结对,就是不断地指导有难题的人。实际上当大家听到有人在交流的时候,就会侧耳听听,如果听到自己感兴趣的话题,也会积极参加。步骤2:下一步,可以主动喊某些人一起交流,比如“老张,过来帮忙看看小李这个问题”,这样交流的范围就逐渐扩大到3个人,而且老张-小李之间也建立了联系。一个宽敞点的办 阅读全文
摘要:
这是敏捷开发一千零一问系列的第七篇。(在这里提问,之一,之二,之三,问题总目录)问题松结对编程中,师傅对徒弟安排任务时,对于有想法的徒弟提出的意见怎样解决?方案步骤0:正心,诚意。人们到底是在管理一个人(控制,监督,指令)还是领导一个人(帮助,引导,培养),被管理者和被领导者其实心里是一清二楚的。因此在师徒关系中,不能为了师徒而师徒,而是要找到师+徒这个体系的目的,把心态放在把事情做好而非维护师徒结构上,从这个角度看问题才能做好下面的事情。步骤1:师傅日常要多在收尾的时候检查徒弟的代码,指出其中的问题,以让徒弟正确认识自己的水平。软件开发有一个好处是比较理性:好的就是好的,没有什么可争辩的;. 阅读全文
摘要:
这是敏捷开发一千零一问系列的第四篇。(在这里提问,之一,之二,之三,问题总目录)有一次课程上居然来了一个非开发人员,他是个网站的业务人员,提出了这个问题,并被评为课堂最佳问题之一。问题一线业务部门应该怎样具体参与到敏捷开发中来?答案方案1:敏捷开发中有很多活动是需要业务部门参与的,如果没有时间,第一个要参与的事情是“评审会”,就是阶段性验收产品的会议。在会上应该思考产品在实际应用中是否可用,并提出改进意见。但是要注意改进意见不要急于实现,而是应该询问下一步原来的计划,或许原来的计划更加重要。如果能在评审会上对产品未来的应用做出一点预测,对之后的迭代会有帮助。方案2:如果能选出一个代表,参与到计 阅读全文
摘要:
头文件 time.h 函数用途 函数名 得到处理器时间 clock 得到时间差 difftime 设置时间 mktime 得到时间 time 得到以ASCII码表示的时间 asctime 得到字符串表示的时间 ctime 得到指定格式的时间 strftime 摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。 关键字: UTC(世界标准时间),Calendar Time(日历时... 阅读全文
摘要:
这是敏捷开发一千零一问系列的第五篇。(在这里提问,之一,之二,之三,问题总目录)本问题被评为某次课程最佳问题之一(每场2~4个)。问题怎样让团队成员完成从派活到主动要活?方案步骤0:在一个传统团队中,多半是由一个人(一般是项目经理)估算、分配、监督任务完成。由于这个人处于鸡的角色(请参考百度“猪与鸡”),所以真正承担任务的人要冒任务被错误估算和分配导致绩效低下的风险,引起大家的不满。按时完成了经理领导有方,延期了则总能找到一个临时工来顶缸,事情永远做不好。步骤1:“领导”和“管理”的区别在于后者利用权力行事,而前者亲自带领队员。比如如果项目经理仍然估算和分配任务,但是会主动帮助认为估算不对、任 阅读全文
摘要:
这是敏捷开发一千零一问系列的第四篇。(在这里提问,之一,之二,之三,问题总目录)这个系列的文章太多,除了用于总结性篇章外,请访问“问题总目录”查找感兴趣的具体问题。初始问题对于不断更新的需求,导致需求优先级的判断出现了错误,知道项目周期后期才发现,怎么办?答案1. (临时方案)确保所有排序均是由PO完成的常常出现所谓现场客户、由客户出PO、由一个销售当PO的情况,都是应该避免的。PO一方面要熟悉具体的需求和原始目的(广度与细度的要求),另一方面则应该对产品的商业目标、终极目的了然于胸(高度与深度),才能站在企业立场而非简单的客户价值立场。从这一方面看,“有无限时间陪着我们的现场客户”和“一个销 阅读全文
摘要:
这是敏捷开发一千零一问系列的第三篇。(在这里提问,之一,之二,之三,问题总目录)也是般若敏捷系列第十二篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九,之十,之十一,之十二)共振共振是以无我、无住精神推广敏捷时的具体做法。很容易被简单理解为循序渐进,但这样理解不全面,这也是为什么会出现“共振”这个奇怪的词汇。之前的无我、无住,也都很难找到完整替代的又没有歧义的词汇或语句。循序渐进很多人都梦想有一家企业,高层领导支持,企业文化适合,队员个人能力超强,团队合作顺畅,就只差自己这个项目经理去推广敏捷。但睁开眼一看,自己的企业不是如此,因此“我们实际企业不适合推广敏捷”。很多时候组织架构、产 阅读全文
摘要:
这是敏捷开发一千零一问系列的第二篇。(在这里提问,之一,之二,之三,问题总目录)也是般若敏捷系列第十一篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九,之十,之十一,之十二)无住在般若敏捷系列中已经提过,包括不住于法,不住于空。不住于法就是不停留在一种固定的方法上。如果把“敏捷”理解成一个名词,就会出现一个问题:什么是敏捷?又会扩展成Scrum是敏捷,还是XP是敏捷?RUP是不是敏捷?等等问题。如果把“敏捷”理解成一个形容词,也就是“敏捷的开发方法”,大致能找到敏捷新的定义:敏捷是一种轻量级的开发方法。如果把“敏捷”理解成一个副词,也就是“敏捷地开发”,就会找到一个更新的定义:敏捷就 阅读全文
摘要:
这是敏捷开发一千零一问系列的第一篇。(在这里提问,之一,之二,之三,问题总目录)也是般若敏捷系列第十篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九,之十,之十一,之十二)做敏捷开发时间长了,就感觉很多事情都理所当然,越发觉得“问题很可贵”,最近做培训的时候收集了一些问题,很多现场来不及解答,逐一发表在这里。如何解决一个问题知识多了自然可以解决问题,经历多了自然也可以积累经验,但是在一个只出现10年的领域,还有一堆只工作了10多年的年轻人中间,必然有一天会遇到从来没有人解决过的问题,这时候怎么办呢?掌握解决问题的心法是核心。对这个系列而言,就是要掌握用敏捷开发的方法解决问题的心法。掌 阅读全文