Ahmad Nassri

142 分
User profile image.
多伦多

Ahmad 是所有开源事物的倡导者和开发者工具爱好者。目前在 Mashape 领导才华横溢的工程团队,构建世界一流的 API 工具和市场。在业余时间,Ahmad 会在 Technology & Leadership 上写博客,指导早期创业公司,并构建被全球数千名开发者使用的开源项目。

作者评论

> “Scrum/敏捷开发是在为客户编写代码的背景下开发的,该客户是问题领域的专家,但不了解软件,而开发团队是不熟悉问题领域但精通软件的专家。”

如果它停留在那个领域,那么我就不会有问题。将其留在服务行业(一个我不希望身处其中,也不鼓励任何人使用作为构建软件的方法的地方)

相反,它被作为一种适用于各处的“产品团队”的方法出售,而关于“客户”的说法根本不成立,因此遭到了对其所遵循的实践的反对。

> “大多数 foss 项目是基础设施、实用程序和中间件,最终用户通常是技术人员(通常开发者自己也是最初的用户)。Scrum 永远不适合这里。”

虽然从统计学上讲您可能是正确的,但实际上,最大的项目实际上是面向消费者的项目。您听说过 Android 吗?Linux (Ubuntu, Redhat 等等)?Open Office?我可以举出更多更多的例子,适用于所有行业的软件,我们每天都在使用。

是的,有大量的库、中间件、实用程序等等……反过来为那些面向用户的软件项目提供支持,因此您对开源世界的假设或接触非常有限。我敢打赌,您使用的许多软件和硬件实际上都是由开源驱动的(而不是像您声称的那样处于低级别)

> “我们必须根据我们正在从事的项目的性质和背景来选择方法并发展我们自己的团队规模的开发工作流程——就像我们(确实应该)根据工具旨在完成的工作的性质来选择我们的开发工具一样。”

很棒的声明,完全同意。我们现在可以同意 Scrum 或许只适合代理和咨询服务行业吗?尽管我认为开放式开发方法实际上可以极大地惠及那个世界,但至少在这一点上达成一致,或许可以将我们从辩论的泥潭中拉出来,专注于软件开发的实际情况,并在所谓的“敏捷邪教”之外创造更多价值?

哦,我的天哪,从哪里开始呢...

> “这让我想起了 IT 部门认为他们非常重要的日子,没有他们企业就无法生存。”

是的,IT 非常重要,现代企业没有它就无法生存。句号。

此外,开发 != IT,您使用的是过时的术语,IT 现在正在完全自动化并迁移到云端。开发是构建软件的艺术(包括用户体验设计和产品设计),这些都很重要,现代企业没有它们就无法生存。

即使是奶牛养殖户也依赖软件和技术。这种“装配线”心态的旧世界思维方式,即企业主期望人们在一条直线上运作,有明确的开始和结束以及中间可见的、可衡量的步骤,根本不适用于技术领域,这是一种创造性技能,而不是机器人式的、可重复的过程。

> “那些日子里,项目会运行数月而没有交付任何单一功能,而开发人员团队会对宏大的框架进行智力辩论,这些框架将在假设的未来节省数周的精力”

当您去您的机械师那里修理您的汽车时,您真的希望他/她安装最便宜和最快安装的零件吗?毕竟您的生命取决于这辆车的安全。对最佳实践和最佳解决方案进行一些辩论实际上是在辩论挽救您的生命。

但先别管这个,似乎您的公司(或者可能是您描述的具有这种“IT 问题”的公司)宁愿雇用廉价的、未经培训的劳动力,并将大问题抛给他们,只是像装配线一样工作?应该可以了吧?

如果您的团队不熟练或未经培训,或者可能不适合解决您的问题,那么无论采用多少方法论、流程或超级明星敏捷教练和 Scrum master 都无法从该团队中交付高质量的产品。

一位“木匠”建造了精美的家具,按时交付,并取得了可靠的成果,但这并不意味着他们适合建造房屋,甚至是一个夏季露台。

> “有人需要提醒团队,他们有任务要完成。”

我相信您需要聘请一个相信您的使命,并愿意与您一起完成使命的团队,而不是为了钱而来的人,这样您就不必聘请经理和 scrum master 来扮演领导者(对于他们并不完全理解的事情)并鞭策团队更加努力地工作。

> “但这取决于产品负责人来决定构建什么。”

基于什么技能或指标?产品负责人,一位非技术人员,如何能够为系统架构选择最佳方案?或者一位非设计师,如何能够选择最佳用户体验设计?也许他们有能力衡量业务价值,具有商业背景,或者他们实际上是技术人员并且能够理解细节,但现实是没有人可以涵盖所有方面。因此需要讨论、透明和民主。

© . All rights reserved.