2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Naresh Jain 谈印度敏捷

  • 2012-02-12
  • 本文字数:3133 字

    阅读完需:约 10 分钟

Naresh Jain 印度敏捷软件社区的创始人,也是即将来临的敏捷印度大会的主席。我们联系了Naresh,讨论了印度公司敏捷方法的应用现状以及前路几何。

InfoQ:你觉得敏捷在印度的应用现状是什么样子的?

Naresh Jain:很疯狂!就像印度的交通系统——控制下的混乱!人们需要有欣赏者的眼光才能发现它的美!

在过去的 7 年之中,我已经看过了很多公司逐渐地试水敏捷,并开始嬉水。绝大多数在印度的机构,无论是大型 IT 企业、小型公司,抑或庞大的离岸研发中心,他们已经 100%地受到敏捷方法的影响。

就像在世界(即使在亚洲)其他的地方一样,产品公司的敏捷实施都更加严肃和严格(但不一定更成功)。

如果你访问不同的公司,并且真正 去与不同层次的人去交谈,他们会告诉你迄今为止他们的疯狂行径。埋怨外包工作的性质、缺乏对这些方法的了解、层级式的社会或者在某些情况下就是简单地无法 胜任。[以下为嘲讽]只有我们参加了为期 3 天地 Scrum Master 培训,世界才会是一个更为宜居的地方。[嘲讽结束]真相是事实是,旅程才刚刚开始,真正有趣的部分尚未来到呢!

InfoQ:您是否认为敏捷仅仅在创业公司和小型软件作坊里面实施得很到位,或者它正在进入大型公司?

Naresh Jain:关于星星之火的事实之一是,在传播的时候,它会向各个方向传播。今天,我 看到 95%的印度软件公司都是在耍敏捷。现在的流行趋势是说我们在正确地实施敏捷?当我看到公司迈向敏捷时,在某些情况下是由于绝望,在某些情况下是由于 客户或现场压力,而在某些情况下,则仅仅是一个营销噱头。有时候感觉它似曾相识。难道我们在十年前的 CMM 身上没有看过类似的事情吗?

不过,我很幸运地与几家真正相信敏捷精神的公司合作。他们了解它不是在“做”敏捷,而是在“变得”敏捷。一个说起来非常禅意的东西!

InfoQ:印度当前最丰厚的利润行业之一是 IT 行业。大型外包项目通常必须包括大量的前期工作以决定项目范围,并在整个项目周期里面仔细地控制。敏捷是否可以应用于外包项目?

Naresh Jain:我们人类建立“东西(stuff)”的心理模型,并尝试将我们周围的世界适配到这种模式。

几年前,软件开发的心理模型是“装配线”。这个心智模型的展开如下:

第 1 步:计划和制定策略(在这里和那里加一些幻想)
第 2 步:记录每一个小细节
第 3 步:定义一个严谨的过程,让你如何像齿轮啮合一样严丝合缝地对待人
第 4 步:寻找廉价劳动力
第 5 步:将工作交给他们,定义非常严格的“做什么”和“不做什么”的合同
第 6 步:定义最佳实践来管理执行
第 7 步:迭代…
第 8 步:直到获取美妙的结果不幸的是极少数项目的存活能超出第 7 步。大多数人在野生求生存。

除了许多其他的缺陷,这种模式下低估了信任、共识、集体所有权、自豪感以及适应性的重要性。

无论外包与否,这些项目都是注定要失败的。[以下为嘲讽]当然,离岸外包给你最好的炸药包。[嘲讽结束]

事实证明(至少对我来说),分布式开发是非常困难的。离岸更是困难,外包和离岸则是最难的。然而,正如我们所看到的,离岸外包模式对于某些业务和管理仍然合理(但不适用于所有的项目)。

鉴于不得不妥协的现实,我见过敏捷和精益思想对于如下情况相当有帮助,例如:

  • 我们很难预先明确地计划太多。敏捷方法给你一个基本的模型来管理这种不确定性
  • 我曾帮助组织实现一个轻量级的 RFP 流程。作为对 RFP 的回应,我们实际上提交了 MVP(最小可行的产品),虽然价格 3 倍于其他人
  • 越来越多的客户要求更短的发布周期和更多的参与
  • 更好的双方透明度和伙伴关系在一些外包公司是共通之处

恕我直言,敏捷和精益思想已经把大量的注意力吸引到了外包开发模式的一些非常重要,但往往被忽视的方面。并且还大大减少了流程中的一些痛苦。我们仍然有很长的路要走。

InfoQ:外包项目的合同细节是怎么样的?客户的执行官都希望知道针对预算/时间线,她能得到什么,那你是如何与他们就合同进行谈判的?

Naresh Jain:往往,在信任度很低(首次合作)的情况下,客户想知道他们将得到什么,以及他们将何时获得 X 金额。在某些情况下,我认为这些要求很公平。

但真正的问题是,模糊的东西很难估算。在项目的开始阶段,我们掌握的知识量最少。

为了解决这个问题,我通常鼓励企业从产品识别研讨会(PDW,product discovery workshop)开始。一般长约 1-2 周。我们最初与客户签订主服务协议(MSA,Master Services Agreement)。根据 MSA,第一份工作合同(SoW)往往是针对产品识别研讨会。它有一个明确的开始时间、结束时间以及交付物列表。

在产品识别研讨会的结束阶段,我们会有一份高层次的发布路线图。从这个路线图,我们选择第一部分,做一些初步的研究(spike)和涉及工作量的估算(guestimate)。根据 MSA,第二份 SoW 是针对路线图的第一部分。固定价格,固定日期。

这样,我们就将大型的产品路线图分解到小的 SoW 合同,并执行该项目。有时在 PDW 之后,我们可以为整个发布路线图签署一份单一的 SoW。一切都取决于双方的信心程度。

这是我经验中的规划固定价格外包合同的敏捷方式。

InfoQ:敏捷社区有大量的方法/框架,如精益、Scrum、看板,您认为哪些在印度公司里面应用得更多?

Naresh Jain:Scrum 看上去是最容易开始的。与所有其他的方法 / 框架相比,Scrum 似乎对(中级)管理层的威胁最少。毕竟,在大多数的情况下,他们满握着金钱和决策的权力。与认证一结合,你就得到了一个杀手锏。 (一个真正的敏捷杀手!)

因此,毫无疑问,在亚洲和世界各地,Scrum 似乎是采用(至少尝试采用)最广泛的敏捷方法。

但这究竟意味着什么?从现在开始,项目经理应该被称为 Scrum master。团队应该将需求称为用户故事,而不是用例或任何他们曾经称呼需求的名字。每天晚上(以确保现场团队成员是“演习”的一部分)都有 30-45 分钟的“演习”。一组新的精巧(昂贵)的工具。每个团队成员都是用新的所谓燃尽图的度量标准进行衡量。更频繁的后半夜和周末。(传统)测试人员的噩梦。每 隔 30 天左右,该团队就要展示他们在过去 60 天里一直试图构建的东西。而最好的部分是,“客户”可以随时更改自己的想法。

如果你问我哪个是最有效的方法之一,这问题极为有趣。

InfoQ:您认为哪些敏捷方法在印度的效果更为优秀?

Naresh Jain:空流程——如果公司停止追逐过程和方法,就好像它们能够真实地解决软件开发中的困难问题似的。空流程鼓励企业忘记流程,专注于自己的业务以及业务背后的人。

在敏捷孟买(Agile Mumbai)2010 年会议上面,Sandeep 和我举行了一个名为“ Monkey See Monkey Do ”的研讨会,鼓励企业忘记并远离流程思维。

InfoQ:有些印度大学的课程表上已经出现了有关敏捷软件开发的课程,您能跟我们分享更多的一些信息吗?

Naresh Jain:在过去的 7 年中,印度敏捷软件社区(ASCI)曾与在印度的很多高校一起合作,往教育系统中引入了敏捷概念。我们已经在印度的一流大学里面举办过多次会议,以吸引更多的学者参与。我们已经给来自印度各地的教师组织了进修课程。

关于高校,果阿大学(Goa University)是一所脱颖而出的大学。他们试图使整个教育体系更加敏捷。此外,他们已经开始在他们的课堂项目上使用极限编程和 Scrum 方法。事实上,在即将召开的敏捷印度 2012 年大会上,我们有两个来自于他们的演讲——高等教育中的敏捷实践:案例研究在软件工程课程项目上使用 Scrum

与之类似,其他高校,如 PES 工程学院(PES College of Engineering)、雅典卫城技术研究所(Acropolis Institute of Technology)、共生电脑学研究所和研究(Symbiosis Institute of Computer Studies and Research),安娜大学(Anna University)和巴黎圣日尔曼技术学院(PSG College of Technology)也都已在各自的编程课程中引入了各种极限编程的实践。

查看英文原文: Naresh Jain On Agile In India

2012-02-12 05:022058
用户头像

发布了 76 篇内容, 共 28.7 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

Docker下的OpenResty三部曲之三:OpenResty加Tomcat的服务

程序员欣宸

Kubernetes openresty 5月月更

druid源码学习四-多线程之锁探究

Nick

Apache Druid 锁机制 多线程安全

【愚公系列】2022年05月 二十三种设计模式(十三)-职责链模式(Chain of Responsibility Pattern)

愚公搬代码

5月月更

Collections和Objects的使用注意

zarmnosaj

5月月更

覆盖 70% 核心业务,ShardingSphere 如何成为喜马拉雅架构演进的催化剂

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

看 AWS 如何通过 Nitro System 构建竞争优势

云物互联

云计算 AWS DPU 硬件虚拟化技术

前缀和算法

工程师日月

算法 5月月更

从相亲来看Flutter 的 StatefulWidget 和 StatelessWidget

岛上码农

flutter ios开发 安卓开发 跨平台应用 5月月更

一份让面试官满意的简历究竟要做到什么

宇宙之一粟

简历模板 简历 5月月更

FLV封装格式

Loken

音视频 5月月更

如何备份 WordPress 数据库

海拥(haiyong.site)

WordPress 5月月更

使用 Amazon Cloud WAN 构建您的全球网络

云物互联

云计算 AWS Cloud WAN

Cocos Creator学习の有限状态机

空城机

Cocos 5月月更

数据库连接池 -Druid 源码学习(四)

wjchenge

Druid 数据库连接池

反向代理 413 Request Entity Too Large 问题

HoneyMoose

【刷题第八天】11. 盛最多水的容器

白日梦

5月月更

在Flutter中使用WillPopScope

坚果

5月月更

Redis「2」缓存一致性与异常处理

Samson

Redis 核心技术与实战 学习成长 5月月更

【C 语言】指针 Two 之[定义指针变量、有效声明指针、使用指针、指针变量初始化]

謓泽

5月月更

[数据分析实践]-音频分析-BirdCLE-2

浩波的笔记

人工智能 机器学习 数据分析

学生管理系统(2)

5月月更

为什么花大本钱培训后,研发团队的表现还是很差?

高山

培训 CMMI 培训效果

【LeetCode】一次编辑Java题解

Albert

LeetCode 5月月更

设计模式之原型模式

乌龟哥哥

5月月更

druid 源码阅读 4——走一个单测看sql运行

张大彪

网站开发进阶(六十三)详解CSS3中的calc()

No Silver Bullet

css3 5月月更 calc()

CRMEB 知识付费模版消息修改教程

CRMEB

使用声网 SDK 为Android APP添加视频直播

RTE开发者社区

android 教程 视频直播

Druid连接池源码阅读04

石小天

2021-12-15【Codeforces Round #760 (Div

爱好编程进阶

Java 程序员 后端开发

CDH5部署三部曲之二:部署和设置

爱好编程进阶

Java 程序员 后端开发

Naresh Jain谈印度敏捷_研发效能_Roopesh Shenoy_InfoQ精选文章