异地金融研发团队的敏捷实施策略-Top100Summit

全球敏捷之旅2015天津站花絮

Tennis Kata-编程练习

重构到管道式函数-软件匠艺小组

敏捷教练与管理3.0

我们的团队具有亲身经历的多年敏捷实战经验,完整体验过从开发工程师、SM直至研发经理的不同角色与挑战。
另外,我们推崇管理3.0思维,以复杂性思维来应对敏捷时代进行管理的不确定性。
在这个充满变化的时代,我们希望通过外部教练与内部变革领导者共舞,帮助企业建立应对变化的敏捷性,从价值入手,改善交付速度,提高质量和效率。

软件产品及其团队是一个复杂网络系统,唯有通过不断地检视与调整,缩短反馈周期,加速进化。
作为敏捷教练,我们将与客户共同成长。除了将业界先进实践经验带给客户形成一些改变,我们更愿意和重视利用教练和引导技术,结合上下文,让蜕变在客户身上发生。改变只是表面和一时的,而蜕变意味着理念与价值观的革新,意味着当教练离场时,团队仍会继续自我进化,不断改进。

另外,我们知道,进化在自然界并非连续发生的。根据“间断平衡”论,每个系统都处于某种稳定态,具有抗扰动的能力。要想形成蜕变,需要借助足够的外力让系统脱离稳态的惯性,重组系统参数,直至进入新的平衡。这里的外力不仅仅是外部教练的指导,更多来自企业内在变革的动力,特别是管理者的支持。敏捷管理者的职责不再是设计组织,而是创造一个容许失败的多样性环境,让敏捷团队自行生长出来。毕竟,“人是环境的产物”。

继续阅读 More

Scope-Question-Assumption需求讨论会

关于需求的讨论

最近在辅导敏捷团队和教授Scrum课程中,发现团队提出的很多的问题现象可以归结为迭代前讨论不充分所导致。
根据自己多年亲身实践的敏捷经验,如果在迭代的计划会议上,团队并没有澄清和理解需求,而是在迭代过程中再进行需求澄清,那么往往导致“迭代紧张、测试不充分、估算不准确、精神面貌不良”等表面现象。
因此,对需求的充分理解应该是迭代的入口条件,应该成为Defenition of Ready的一部分,来确保迭代能够健康地开始。
然后,更深入的根源则是团队不了解如何进行一场充分的讨论

敏捷是一种辅助实现交付价值的手段,不应该过于繁重。下面就根据@申导 早年在诺基亚西门子通信工作时所学到的一种简易讨论法:Scope-Question-Assumption(简称SQA)讨论会。

继续阅读 More

高绩效Scrum团队的4个特征

作者:Bill Li 李国彪

最近的课程碰到了很多ScrumMaster和Product Owner对于打造高效能团队(效率和效果并重)的困惑和疑问,这也促发我们对这个问题再次的关注、思考及总结。简而言之,我们觉得团队的打造方向就是四个重点特征:纪律性;主动性;合作性;创新性

继续阅读 More

Docker初探

工作步骤

Docker所用的虚拟镜像的基线版本都是Ubuntu系统。
当运行docker run xxx之后,

  1. Docker客户端连接到Docker守护进程
  2. 如果本地没找到xxx镜像的话,Docker守护进程就从Docker Hub仓库中拉下(pull) xxx镜像
  3. Docker守护进程根据xxx镜像创建一个新的容器(container), 从其中来执行程序并产生输出内容
  4. Docker守护进程将输出内容流到(stream)Docker客户端,然后发送到终端

常用命令

官网入门教程的几个常用命令

docker version
docker search tutorial
docker pull learn/tutorial
docker run learn/tutorial echo "hello world"
docker run learn/tutorial apt-get install -y ping
docker ps -l
docker commit 698 learn/ping
docker run learn/ping ping google.com
docker ps
docker inspect efe
docker images
docker push learn/ping

继续阅读 More

在Windows上采用IIS来运行Django

给客户做一个内部软件项目,客户愿意配合敏捷、精益创业的思维,快速交付之后再不断通过用户反馈来调整。
于是就采用基于Python语言v2.7的Django框架V1.4来进行开发。
花了些日子,初具雏形。双方约定先部署,让内部员工开始试用。然后客户把目标服务器交给我了。

Django对Apache或Nginx的支持会方便些(http://www.jackyshen.com/2012/08/12/running-django-gunicorn-via-nginx/)。可是,这是一台带有公网IP的托管的Windows Server2003。上面运行有IIS 6.0,并且已经有另外两个web应用在运行。为了尽量能不影响原有应用,就考虑尝试一下在Windows上采用IIS来运行Django。

于是google一把,结果发现了PyISAPIe…

继续阅读 More