写点什么

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

  • 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:432909
用户头像

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

关注

评论

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

python3如何安装MySQLdb库

YUKI0506

Python3 mysqldb

使用策略模式重构电商折扣和支付场景

Tom弹架构

Java 架构 设计模式

View系列:硬件加速,安卓面试项目

android 程序员 移动开发

react-native Navigation导航器,kotlin协程使用

android 程序员 移动开发

华泰证券研究所谢春生:从全球看金融 IT 架构的变化

BoCloud博云

云计算 系统架构 金融科技

我的毕业总结

张文龙

#架构实战营

终于有人把阿里巴巴的“双11”高并发系统秒杀架构终极版教程,整理成册了

Sakura

Java 程序员 架构 面试 计算机

Tomcat体系架构,2021吊打面试官系列

android 程序员 移动开发

Room增删改查,真香!,android编程实战pdf

android 程序员 移动开发

Router_一款单品、组件化、插件化全支持的路由框架,安卓开发面试题自定义view

android 程序员 移动开发

TCP_UDP协议详解,大牛带你直击优秀开源框架灵魂

android 程序员 移动开发

ViewPager(二),android移动应用开发教程

android 程序员 移动开发

RxJava 沉思录(三),android开发入门与实战网盘

android 程序员 移动开发

Sqlite全面学习(一),oppo android面试

android 程序员 移动开发

StateMachine使用及源码解读,kotlin面试题

android 程序员 移动开发

React Native Android混合开发实战教程,Android入门你值得拥有

android 程序员 移动开发

【等保小知识】等保与关保两者之间有啥区别?

行云管家

网络安全 等级保护 分保 关保

React Native Android混合开发实战教程(1),flutter瀑布流

android 程序员 移动开发

React Native 与 嵌入Android原生与Activity页面互相跳转

android 程序员 移动开发

Retrofit-+-RxJava-+-OkHttp-让网络请求变的简单-封装篇

android 程序员 移动开发

ScrollView嵌套RecyclerView滑动冲突相关问题,BAT这种大厂履历意味着什么

android 程序员 移动开发

一周信创舆情观察(10.25~10.31)

统小信uos

TCP粘包半包问题和解决,android实战开发-天气预报PPT

android 程序员 移动开发

ViewPager翻页特效(2_特效关键代码),android混合开发专利

android 程序员 移动开发

具有中国特色的堡垒机到底有用吗?有什么用?

行云管家

网络安全 信息安全 数据安全 堡垒机

RecyclerView 事件分发原理实战分析,历经30天

android 程序员 移动开发

阿里:“6大核心调优技术”曝光,真是小母牛坐飞机,牛逼上天了!

Java高级开发

架构 JVM Java 分布式 Java性能调优 M-SQL

React Native 与 嵌入Android原生与Activity页面互相跳转(1)

android 程序员 移动开发

远程连接Windows服务器

坚果

云服务器 11月日更

ViewDragHelper之手势操作神器,vue数据双向绑定

android 程序员 移动开发

ViewPager中使用Fragment时防止数据预加载,腾讯架构师深入讲解Android开发

android 程序员 移动开发

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