`

几种华丽无比开发方式

阅读更多

不要被我的标题骗了。我可不是来宣扬什么模型驱动开发,或者什么测试驱动开发的,那些都弱爆了。今天我要说的,是几种看起来激动人心、华丽无比,但是可以让程序员们痛苦不堪的开发方式,特别适合那些热衷于折磨虐待程序员的项目经理和产品经理们。当然,掌握以后,偷偷用就好了,请不要来感谢我。

 

进度驱动开发(SDD,Schedule Driven Development)

这是在国内最为流行的开发方式,大家心照不宣,口口相交,代代相传,我只是把它写下来而已。它最华丽的地方在于,可以百分之百,甚至百分之二百地压榨程序员的劳动力。

需要实现哪些需求?用什么技术?用什么平台?项目采用什么流程管理?这些都不重要。重要的是——什么时候交付?

假使说,老大们通知,下个月的这个时候要看到产品发布,那么:

  • 三周以后就要拿出完备的产品准备上线;
  • 两周以后就请发布beta测试版本,ST、IT之类的东西就得在那之前完成;
  • 本周就必须完成编码和UT,那么周一设计,周二、周三开发,周四、周五测试和修正问题。

看,项目计划多么完美。项目时间本来就该是根据deadline倒排的。

项目做什么呢?先做那些相对重要的需求,可是如果时间紧的话就只好砍需求了吧……不!你怎么能那么容易就放弃呢?你看,我的完美的计划里面没有安排周六和周日嘛,大家可以来加加班嘛,年轻的时候不得奋斗一把嘛,不用砍需求,平时的时间再压一压不就可以如期上线了?

在热情洋溢的动员会之后,大家开始拼命赶工了,疯狂的一周过去了,测试团队始终等不到开发团队提供的发布包,难道“又”要延期了?

那还用问吗?当然!

测试团队的时间也是可以压缩的嘛。于是煎熬的两周过去了,发布日期眼看越来越不靠谱,项目经理觉得,他需要挺身而出了——

敏捷思想教导我们,搞不定的时候,质量不能丢、进度更不能丢,那我们只得砍需求了。这样,我们只发布“核心功能”总行吧……

可是什么才是“核心功能”呢?

对了,我们做完了哪些?要不,做完的就算“核心功能吧”

太牛了!这真是一个伟大的创举!

别忘了,给程序员画饼也是项目经理重要的技能——大家再努努力,进度压力也是没办法的事,发布以后大家就轻松了,有好日子过了!

瞧,“没有发布不了的版本”,这是真的!

产品发布以后大家就轻松了,有好日子过了,这也是真的!

 

文档驱动开发(DDD,Document Driven Development)

这种开发方式也非常华丽,对于许多领导和老大们而言,文档胜过一切。架构文档要靠ppt,因为他们的智商和知识不足以理解满是文字的东西,而胶片,则是最接近看图说话的好东西。设计文档,要靠足够详细的word文档,项目经理要看到你的文档细致到肯定可以轻松地指导编码,如果你明天突然拉肚子拉到抽筋,打嗝打到卡住,喝水喝到噎着,于是不幸住院的话,文档的威力就体现出来了,他可以轻松找到你的备份,替掉你的工作

软件开发全套有十项文档,从工作任务书开始,只有完成了文档,你的工作才算完成。如果你要在邮件里面,或者会议上向大家传授一点什么技巧,你可得当心了,因为接下去劈头盖脸的就是这样一句“有文档记录吗?”,仿佛有了文档就有了一切,有了文档就买了保险——至于有没有人看,嗨,谁管呢?

别忘了,文档的核心地位需要贯彻到底。在绩效考核的时候,最能写的人,就可以成为优秀员工。代码这种无法体现智商差异的东西可以踢一边去,只有文档才是智慧和能力的综合代表啊。

 

指标驱动开发(IDD,Indicator Driven Development)

这种开发方式的华丽,源于它超强的数据化和量化的能力。写代码的目的是什么?完成需求?优雅设计?用户体验?你全错了。

再次强调,终极目的是测试覆盖率。

整个软件开发流程里,你可以找得到无数的指标要求,在做每一件事情之前,必须要像默念毛爷爷语录那样回顾一遍需要达成的指标,然后再动手。

有一天,你发现用户体验像屎一样的产品,居然自动化测试也可以达到95%以上的通过率,bug居然可以收敛到10个/轮测试,而且Findbugs/CheckStyle/PMD/Source Monitor/Simian之类的无数代码检查工具的结果页上,都齐刷刷地显示着绿条……

恭喜你,你成功了。

更重要的是,项目成功了。

 

装逼驱动开发(ZDD,Zhuangbility Driven Development)

这大概是几种开发方式中最华丽的一种。在设计前、写代码前,在做每一项事情之前,都要谨记装逼的重要性。对于很多不懂技术的领导来说,听起来越牛逼的软件,就越值得开发。

  • 产品装逼:必须支持“云”和“大数据”,比如数据存储到服务端叫“云同步”,其实具体怎么个支持法,这不重要,关键是装逼的理念,理念!
  • 设计装逼:核心就是,灵活!强大!设计,就是要体现出自己的知识和阅历,已经无比聪慧的头脑。设计的东西万万不可简单直接,这是和装逼理念严重违背的。软件的每一个组件不但能够对常见的异常情形容错,你就是删掉它几个类它一样跑得欢快。
  • 代码装逼:漫山遍野的Factory,漫山遍野的接口,最好别让我看到“new”这样的关键字;超强的解耦,好端端一个软件,不把它分成个十几二十层来实现都对不起J2EE的祖宗;超级无敌灵活的配置,需要啥配啥,还支持各种免重启的热插拔、热部署,产品发布的时候小于500个可配置的项都不好意思自说产品是自己做的。
  • 评审装逼:体现自己超强无比的全面性和洞察力,请参阅我曾经写过的一些牛叉无比的评审方式中,“到处放炮型评审”。

总而言之,软件工程的每一个环节都需要达到足够的装逼值,才能进入下一环节。装逼是指导软件开发的重要思想

 

其实还有很多其他华丽无比的开发方式,比如会议驱动开发(MDD),Demo驱动开发(DDD)等等,但这几种是最常见的。如果你知道更华丽的开发方式,请告诉我。

 

 

文章系本人原创,转载请注明作者和出处(http://www.raychase.net

注:本博客已经迁移到个人站点 http://www.raychase.net/ ,欢迎大家访问收藏,本ITEye博客在数日后将不再更新。

31
2
分享到:
评论
10 楼 humtiger 2013-01-23  
貌似我在的公司执行的大概是上述几种华丽的综合体...
从来不知道我的在的公司这么niubility
这...
9 楼 archy123 2013-01-23  
还有一种需求驱动型开发方式,估计大家用的也比较多
项目的各种文档。no 不需要
测试团队。no 不需要
各种不需要。
我只需要知道我要实现什么样的功能就可以了。。
8 楼 witcheryne 2013-01-23  
有中枪的感觉。
被各种开发模式折磨中...
7 楼 Coolala_cs 2013-01-23  
胶片..好像懂了
6 楼 原-林 2013-01-23  
很有 28公司的特色。。。
5 楼 yeaha 2013-01-23  
精彩!真长见识,我决定在以后的职业生涯内不断的尝试这些方式,这比傻傻的编码好玩多了
4 楼 corelengine 2013-01-23  
最后一个是特色!
3 楼 hajima11 2013-01-23  
kidneyball 写道
引用
大家心照不宣,口口相交,代代相传
  -- 好像有个别字耶

看来楼主项目组是个基情四射的团队啊!注意,我没有打错字。
2 楼 kidneyball 2013-01-23  
引用
大家心照不宣,口口相交,代代相传
  -- 好像有个别字耶
1 楼 lj830723 2013-01-23  
对这个总结五体投地

相关推荐

    android开发之画廊,华丽的画廊

    为了实现华丽的画廊,我们需要关注以下几个关键点: 1. **图片加载库**:高效的图片加载库如Glide或Picasso可以确保大图加载时不会消耗过多内存,同时支持图片的缓存和缩放。 2. **手势识别**:通过添加...

    15个无比华丽的HTML5/CSS3动画应用

    本文主要分享了15个无比华丽的HTML5/CSS3动画应用,供大家参考学习。 1、HTML5/CSS3图片选择动画 可选择多张图片 今天我们来分享一款既炫酷又实用的HTML5图片选择特效,当图片被选中时,图片上就会覆盖一个半透明的...

    非常华丽的移动端后台开发模板JavaScript移动端后台开发模板JavaScript

    首先,移动端后台开发模板是一种预先设计和构建的框架,旨在简化移动应用后端的开发过程。它通常包含了一系列预定义的组件、样式和逻辑,使得开发者能够快速地搭建起功能完备的后台系统。JavaScript,作为广泛使用的...

    八种华丽主页效果源码

    这些源码是基于JavaScript语言实现的,JavaScript是一种广泛用于客户端Web开发的脚本语言,它能够让网页具有交互性和动态性。 【描述】:这个资源包含以下八大主页效果: 1. 随机背景:这是一种动态背景效果,每次...

    Unity3d 10种二代卡通史诗华丽战斗动画特效

    Unity3d 10种二代卡通史诗华丽战斗动画特效 附带人物释放技能动作 10种战斗技能动画特效 可供学习使用 附带特效资源 可以编辑自己的动画效果 拥有人物特效释放场景-免去自己创建demo的麻烦 卡通 史诗 华丽 战斗 动画...

    基于unity3D的华丽弹幕.doc

    华丽弹幕游戏是一种具有挑战性和娱乐性的游戏,需要开发者具备强的游戏开发技术和经验。华丽弹幕游戏的开发需求包括游戏引擎的选择、游戏场景的设计、游戏玩家的设计、游戏逻辑的设计、游戏音频的设计等多方面的技术...

    安卓开发-超级华丽的仿QQ最新版本.zip

    本资源“安卓开发-超级华丽的仿QQ最新版本.zip”提供了一个学习实例,帮助开发者了解如何构建一个类似QQ的高颜值应用程序。在这个项目中,我们将探讨以下几个关键知识点: 1. **安卓SDK和Android Studio**:首先,...

    华丽金边设计素材-值得收藏

    在压缩包内的文件中,"5555555104762a.ai"很可能是一个Adobe Illustrator(AI)文件,这是一种矢量图形格式,意味着这些金边图案可以无限放大而不失真,非常适合用于需要高质量输出的设计项目。"NiPic.com下载说明....

    华丽古典花纹矢量素材

    “华丽古典花纹矢量素材”主要包含的是古典风格的花纹图案,这类设计通常包含复杂的曲线和对称结构,体现了一种优雅和精致的艺术感。在设计领域,古典花纹常用于装饰、封面设计、邀请函、包装、壁纸、品牌标识等多种...

    超赞-华丽表白源码.rar

    在IT行业中,编程不仅仅是技术的运用,更是表达情感和创新的一种方式。这个名为"超赞-华丽表白源码.rar"的压缩包文件就是一个很好的例子,它包含了一个精心设计的HTML页面,利用网络技术(标签“net”可能指的是网络...

    柒瑞华丽十二格商业版

    这款插件在设计上追求华丽与专业,为网站论坛提供了十二种不同的布局风格,让网站内容展示更加多元化且具有吸引力。其价值在于能够帮助网站管理员打造更为生动、个性化的互动社区,从而吸引更多的用户访问和参与讨论...

    华丽的前端常用特效

    在前端开发领域,特效是吸引用户注意力、提升用户体验的重要手段。"华丽的前端常用特效"这个资源包,正如其标题和描述所言,提供了一系列经过精心设计和测试的前端特效,旨在帮助开发者快速构建视觉效果丰富的网站或...

    微软最华丽的PPT

    微软最华丽的PPT

    portlet-guide:用华丽的方式开发 MyUW portlet 的指南

    用华丽的方式开发 MyUW portlet 的指南。 公共回购,但毫无歉意地专注于 my.wisc.edu 小心! 这是一个公共回购。 促进透明度和与同行 portlet 开发机构的协作是公开的。 但是,本指南毫无歉意地以 MyUW 为重点。 ...

    PHP实例开发源码-华丽的冒险留言本 php版.zip

    PHP(Hypertext Preprocessor)是一种广泛用于Web开发的开源脚本语言。它的主要优点在于它可以嵌入到HTML中,使得动态内容的生成变得简单而直观。在这个“华丽的冒险留言本”项目中,我们可以看到PHP如何处理用户...

    girl华丽女人模型下载

    BMP是位图格式,可以存储未压缩的图像数据,而DDS(DirectDraw Surface)则是一种支持压缩和MIP贴图级别的纹理格式,常用于游戏开发。文件名中的数字和字母组合可能代表的是每个纹理在3D模型上的特定应用位置或属性...

    js华丽翻转焦点图片轮播公司首页banner大图

    "js华丽翻转焦点图片轮播公司首页banner大图"这个项目就是针对这一需求,利用JavaScript技术实现的一种动态、视觉效果丰富的图片轮播解决方案。本文将详细讲解如何运用JavaScript来创建这种效果,以及涉及到的相关...

    iPhone华丽解锁

    iPhone华丽解锁 大家体验下 还是不错的

    2009 KODE5 华丽GUI

    2009年的KODE5华丽GUI,可能是对Counter-Strike游戏界面的一种美化和功能增强,旨在为选手和观众提供更专业、更具有观赏性的比赛环境。 在压缩包文件“Cyrads_KODE5-GUI”中,我们可以推测这包含了以下内容: 1. **...

    bend 0.94 (华丽的文本编辑器)

    这款名为“bend”的编辑器在0.94版本中展现出了微软在用户体验和开发技术上的新高度。下面我们将深入探讨该编辑器的核心特点和关键技术。 首先,"bend 0.94"在设计上遵循了现代UI设计的原则,提供了一种视觉上...

Global site tag (gtag.js) - Google Analytics