写点什么

软件工艺宣言发布最新的简体中文版

  • 2012-09-05
  • 本文字数:2364 字

    阅读完需:约 8 分钟

近日,软件工艺宣言的简体中文版新鲜出炉,这个版本经过和 8th Light(软件工艺宣言网站的维护公司)的沟通,会发布到软件工艺宣言网站上。其形式类似于大家所熟悉的敏捷宣言。针对该宣言,大家在微博及新闻组上展开了讨论。

软件工艺宣言的主要内容是:

不仅要让软件工作,更要精益求精。

不仅可以响应变化,更要稳步增加价值。

不仅要有个体与交互,更要形成专业人员的社区。

不仅要与客户合作,更要建立卓有成效的伙伴关系。

也就是说,左项固然值得追求,右项同样不可或缺。

微博上的讨论主要集中在软件工艺本身对程序员的意义:

Thinker 姜志辉: 写软件,写好的软件,写精益求精的软件。这是每一个程序员必须具有的职业素养。第一,要提高自己的编程技能;第二,要养成良好的习惯;第三,要树立正确的价值观。三者缺一不可。

章乐焱: 若认为软件是手工艺品,那就师傅带徒弟熟能生巧;若想参照制造业,貌似他们的设计只出蓝图象我们的 SRS,而制造业的工艺科干得活到是象我们的设计,按排工序确保实现可行性,设计工装卡具降低制造难度保证加工质量。

姚若舟: 如同敏捷宣言一样,软件工艺宣言只是一些价值观。如同敏捷一样,没有也无法给出一个软件工艺的定义的。你说谁干得好谁牛叉,你又如何定义“干得好”呢?的确被 @King 费事 说中了。

JacksonZhang_ 张博超: 程序员应当有一颗匠心,提高对代码的审美能力,不断创造更美的代码。

敏友汇: 做事看人,如果自己有要求,有上进心,就会不断的学习,不断的追求进步,不断的向前,价值观只是一个总结,一个愿景,大家同意这样的说法吗?

王宇( @King 费事)在新闻组中对软件工艺宣言的价值提出了质疑:

这东西的价值在什么地方?聚集软件工匠?使他们找到方向?表示工匠们的先进性?
整个东西,不停重复精益求精,其他主要对应敏捷宣言。
与其这样,我愿意花钱到广告公司打个巨型的“我保证会把我的工作做得更好”字样,到工厂和工地找人签字去。岂不更有轰动效应?
这东西感觉把我们的底线拉得很低很低,唉。
感觉和 Kent 前一段时间整的东西有点类似
拉大旗作虎皮,这样的东西我发现越来越难以和别人走近。反而显得我们格格不入。自己爽什么都不能解决,客户爽才是最重要的。

姚若舟( @姚若舟)对王宇的评论做出回应,并说明了翻译和传播它的意义所在:

王宇的“酒后真言”说的挺好的,那我也来谈谈我对这个宣言的看法。

这个宣言和敏捷宣言,对于我个人来说,是一些可以认同的价值观,奋斗的方向和鞭策自己的动力。这些价值对我来说已经足够了。如果说拿着这些宣言去忽悠客户(不管是项目客户还是咨询客户),那完全是没有任何意义的。创造客户价值永远是真正重要的东西,这些宣言以及衍生出来的方法论都不过是创造价值的手段罢了。

翻译和传播这些宣言和方法论,我认为可以让更多的人意识到创造更高价值和改善的方法是存在的,让有意愿改进的人找到方向。我希望看到越来越多的开发者可以朝着这个方法去努力,因为看到过太多不专业的代码和软件了。不过现实是残酷的,就算所有开发者都签名,又如何?身体力行,结合实际去做,持续改善,才是关键。

最后我想说的是,在“码农”越来越多的今天,作为开发者,需不需要想一下自己的专业价值在哪里呢?如果每天只是在那里制造垃圾代码,对代码和技术没有任何追求而只是应付的话,那么每天 8 小时每周 40 小时的工作,无疑就是在浪费生命了!我们的确需要和团队拉近距离,但是那不应该是对现状无条件的妥协,抓住关键的痛点去改善才是应该做的。而且我一直觉得,团队应该做到 business value 和 technical excellence 这两方面同时进行改善,而不是忽略任何一个。说的有点重了,但是不吐不快。

王宇接着说出了自己的想法,认为更应该注重客户,才能够更好地体现出程序员的价值:

我所谓的客户,不光项目客户或者咨询客户算客户。在此时,你在阅读这封邮件的时候,你也是我的客户。之前的邮件可能让大家不爽,大家可能非常轻易的就辨别出来了。之前邮件中的“让客户爽”可以解释为站在客户的立场提供更高的价值。上一封邮件我有如下推论,所以我认为当头一棒是一种比较好的方式:
1、一般用来鞭策自己的一般也称为信念,信念应该跨场景成立。精益求精这词虽然适用广泛,但非常容易被误用或者存在理解偏差甚至在某些场景无法适用。误用的例子:过度设计。理解偏差的例子:站在开发者的角度思考问题而不是系统化思考。无法适用的例子:技术探索、实验室代码、职责划分之后的业务隔离。
2、局部优化的导向味道 大于 系统性思考的味道。说不定哪天就能再顺着这个宣言再写出针对某些方面的考虑,当然这些方面很重要。你会发现太多太多的方面,你会问自己哪个是我所坚信的?前面的忘得差不多了,就最后签的还记得,那就它吧。在这种场景下,创建者可能都没有想到。另一方面,我一般不希望别人看到某些内容就意味这是我们追求的信念,有些时候是危险的。有的时候创建者有时候都没有意识到自己的东西会给别人带来误导的结果。(参见附件,测试宣言) 这可能就是尽信书不如无书的道理吧。写某些东西确实是名可名,非常名。但追求卓越的态度应该有,追求匠艺的追求没有错。每日精进(但我们不能把我们所有的好习惯或者精神都写下来让大家签字,尽管我也赞同工匠的心态整个社会都缺)
3、Do the right thing 的重要性始终要高于 Do things right。换句话说 Business 的高度永远高于 Technical 的高度,技术是业务的保证者。比如,大猩猩玻璃是 iPhone 触摸和防划的保证。如果提供别的特性,不能得到终端认可或者辅助某种价值使得终端认可,这种东西一般可以称为浪费。
大家应该发现我邮件里有很多假设,Joseph 的邮件里也有很多。比如,我这里有三个“应该”,Joseph 邮件里面也有三个。这些假设很危险,尤其咱们坚定不移的相信的时候。

各位 InfoQ 中文站的读者,对于软件工艺宣言的价值,你的意见如何,欢迎加入到讨论中来。

2012-09-05 04:433203
用户头像

发布了 340 篇内容, 共 139.0 次阅读, 收获喜欢 13 次。

关注

评论

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

两万字长文50+张趣图带你领悟网络编程的内功心法

帅旋

网络协议 TCP/IP

数据库系统设计概述

码哥字节

数据库 redis mongodb elasticsearch 数据库设计

多线程 & 并发架构

石刻掌纹

厦门航空牵手阿里云打造航空业移动研发中台,研发效率提升50%

移动研发平台EMAS

区块链标准化很重要吗?

CECBC

区块链 区块链规范

学编程没人带?推荐10个免费学编程的最佳网站给你

代码制造者

学习 编程 编译器、程序语言、CPU 编程网站

相聚“云”课堂,智微智能“双师课堂”促进优质教育资源共享

DT极客

iOS身份证号码识别

高丰

分布式环境下,我想要一致性

架构师修行之路

分布式 分布式系统 架构师 CAP

设计模式

张明森

LeetCode题解:70. 爬楼梯,DP遍历,变量缓存结果,JavaScript,详细注释

Lee Chen

大前端 LeetCode

阿里云移动研发平台 EMAS 助力银行业打造测试中台,提升发版效能

移动研发平台EMAS

击破技术枷锁与认知迷雾 百度四大杀手锏开启新基建AI风暴

脑极体

LG的“卷轴”柔性屏,技术可期,前景未卜?

脑极体

全国首个市场监管区块链电子取证平台正式上线

CECBC

区块链

阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破

移动研发平台EMAS

100% 展示 MySQL 语句执行的神器-Optimizer Trace

程序员历小冰

MySQL

week 9 作业

Geek_2e7dd7

架构师第九周作业

傻傻的帅

架构师 课程作业

原创 | 使用JPA实现DDD持久化-O与R:两个世界

编程道与术

Java hibernate DDD JDBC jpa

阿里云小程序云发布小程序跨平台开发框架,助力开发者一次开发,多端运行

移动研发平台EMAS

简述 JVM 垃圾回收原理

一叶知秋

无接触,云办公!5天完成手机淘宝新版本迭代,揭秘阿里工程师协同研发“神器”

移动研发平台EMAS

手把手教你实现自定义Spring Boot的 Starter

root

Java spring 程序员 Spring Boot starte

Java字符串拼接,去首尾, 判空, 类型转换

狸猫换太子

Java 类型推断 字符串

汇付天下与阿里云合作打造企业级移动中台,运营效率提升100%

移动研发平台EMAS

redis-port支持前缀迁移

心平气和

redis redis-port

第九周作业

方堃

BIGO 实时计算平台建设实践

Apache Flink

flink BIGO

week 9 学习总结

Geek_2e7dd7

ARTS-WEEK9

一周思进

软件工艺宣言发布最新的简体中文版_语言 & 开发_侯伯薇_InfoQ精选文章