毕加索一生是个不断变化艺术手法的探求者,印象派、后期印象派、野兽的艺术手法都被他汲取改造为自己的风格.他的才能在于,他的各种变异风格中,都保持自己粗犷刚劲的个性,而且在各种手法的使用中,都能达到内部的统一与和谐.他有过登峰造极的境界,他的作品不论是陶瓷、版画、绘画、雕刻都如童稚般的游戏.艺术的道路上毕加索总是不断扬弃陈规,体现出惊人的创新才能。他有一句话“Bad artists copy;Good artist steal”,现在搞艺术的都传为“Good artists copy, great artists steal”。就像我在《个人管理 - 从小工到专家》中说的"守-破-离",这句话的意思也是体现了“抄”和“偷”是创新的来源,如果把Artists换成developer,那就是 Good Developer Copy, Great Developer Steal

好的技术人员会偷

  任何一个人对一件事情都是从一个不知道到模糊再到了解和精通的过程,如果让你去着手做一件大家都不知道的事情,你会怎么做?当我对某个产品模块不会设计时,我会毫不犹豫的去抄袭类似的产品。说到”不重新发明轮子“,很多人就会想到代码和框架,而对于架构师来说,思想是更为重要的一个轮子

  我就是一个经常偷着做产品的人,如果你看过《报表引擎 - 报表应用思路》,那就会知道我之前做的报表引擎是润乾的,如果你看过《信息系统开发平台偷OpenExpressApp - 总体架构的由来》,那就知道OpenExpressApp的框架思想是从DevExpress eXpressApp Framwwork (XAF)偷来的。今年我将继续我的偷之旅,下一个目标就是全球DSM领域内著名的产品MetaEdit+,我将开发一个元模型引擎,到时基于之上可以给OpenExpressApp增加建模支持,这是“让业务人员做开发”的重要一步。

  SNS社区”占车位“、”奴隶“、”偷菜“等游戏部分好像隔夜之间就全部出来了,所以可以看得出来,大家其实都在”抄“,要是在”抄“的基础上都有自己的创新,每个游戏都能”偷“就更好了。如今”偷“已经不是遮遮掩掩的了,我觉得”偷“对我来说反而是一种态度,一种方法,就像“Good artists copy, great artists steal”说的一样。以下我将讲一下我是如何偷的,也欢迎大家也养成偷的习惯:)

读书时抄作业

  再将偷产品之前,我想起小时候的一些故事,有时候我来不及写作业,早上就会早早来到学习。来早的目的就一个,抄作业。

  1. 找到可以抄袭的作业

    • 找对人:我不会随便找一个人的来抄袭,因为我怕抄错了被发现了,所以我找的人不是班长也是课代表,或者排名前十名的。其次是这个人是否开放(Open),有些人不够哥们,把作业本子藏的好好的,你问他他当没听见,或者直接说不给。
    • 找对作业:有的人字迹写的差,你有时不小心就会抄错
  2. 求同存异
    • 我也不是一个差学生,也算有思想的,所以当然不会只是像罚抄作业一样。抄的过程中,我也会看看他做的思路是不是对,如果对我就会全部抄下来
    • 有时后为了不让老师发现,我也会特意修改一些内容,不让把顺序颠倒一下,文字修改一下
  3. 修正
    • 在抄的过程中,如果发现有明显错误的地方,我会自己修改一下,毕竟,我要偷也要做得职业点:)

工作后偷架构

  1. 找到抄袭源
      ”偷“对我来说反而是一种态度,就像”不重复发明轮子“一样。很多人都知道这句话,但真正做起来又会另一回事,缺少的不是轮子,而是看你想不想去找轮子。

    1. 找对厂商:竞争对手、开源产品或者类似产品厂商,我研究的报表是就会找业界著名的报表厂商
    2. 找对架构:有些厂商会有多种产品,每种产品包含功能不一样,由于我们是抄袭,那就专挑完全功能的来试用。有些产品会有比较详细的介绍和说明,这类产品对我来说我会优先考虑。
  2. 主题抄袭,求同存异
    在《个人管理 - 如何读好书:读书的四个层次》中介绍的第四个层次:主题阅读就是一种针对一个主题进行多本书籍的一种对比思考和总结的一种阅读方式,在抄袭产品过程中,我们也需要进行主题抄袭,研究多个产品后决定如何做这个关注点。

    1. 有时候做研究工作,自己需求是不太清楚的,这时候就可以多参考几个产品,拿着别人的功能列表进行对比,把共同的部分记录下来,看看是否自己需要的
    2. 不同产品肯定存在一些各自的亮点,这也是我们需要特别关注的,很有可能这是你产品增值的部分。对不同产品的不同功能,我们也需要分别看看,然后自己判断一下是否需要
  3. 组合抄袭
    一个架构由多部分组成,如在《软件观点 - 平台分类:系统平台、开发平台和开放平台》介绍的开发平台。开发平台是在系统平台之上,提供在开发方法指导下,通过 开发工具辅助工具,基于框架引擎以及内置的模块等一套支持软件开发生命周期的完整开发环境来构造软件,以期在统一平台下能够快速高质量的提供产品。以下是OpenExpressApp的Roadmap,它包含多个部分,所以我们要做的不仅是主题抄袭,还要做组合抄袭,OpenExpressApp不会带给大家创新性的技术,而是将现有技术和产品中有价值的部分引入到一起,它要做的是整合别人已经实践的方法,提高我们自身的开发能力,以求快速、高质量的开发产品。
  4. 由抄到偷
    如果我们仅仅停留在抄的基础上,那也只是到了守-破-离的守阶段。毕加索的原话是”Bad artists copy;Good artist steal“,他的创新更多来源于偷,就是在抄的基础上有所创新。在进行了主题抄袭后,我们会进行组合抄袭,其实在抄袭过程中我们的思考和决策过程就是在做”偷“这一重要步骤。在参考别人的基础上,加入自己的见解,解决自己的问题才是关键。比如在做报表时,就针对公司的打印加强了页面模型,针对树形要求增加树形显示和汇总等。
  5. 不断修改
    在《架构 - 又一个类似与“平台”一样的词汇》中说过架构是需要持续完善的。我们经过前面几步,基本架构基线就成型了,这时候你的产品更像一个山寨的,只不过是不同部分分别山寨不同厂商的而已。产品框架成型后就可以开始迭代实现了,在上线后需要注重反馈,不断修改完善产品。

  以上是我目前想到的偷架构5步骤,这主要是基于本人不是一个天才设计师而言,如果你是一个天才设计师,前无古人,那么就没有参考价值了:)

敏捷个人-认识自我,管理自我.pdf

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

个人管理 - 我是这样偷着做架构的相关推荐

  1. 我是如何在阿里做架构的?

    本文经授权转载自:阿里巴巴中间件,作者:道延. 本文是作者以第一人称写的,文中的"我"为原作者本人.以下为原文内容: 我叫道延, 2014 年加入阿里,在阿里通信工作了近两年.20 ...

  2. 2010年1月blog汇总:个人管理、OEA权限、企业架构

    以后我每个月都在这里做一个小结,顺便把blog也汇总一下.1月份主要增加了OEA的权限支持,在公司研发峰会的做了4次演讲,下旬开始考虑如何做定额项目组的产品架构.与其自己在项目中跌到后总结,不然直接参 ...

  3. 菜鸟要做架构师(一)——如何快速开发中小型系统

    俗话说:不想当项目经理的程序员不是好的架构师.相信每一个有上进心的程序员,都有一个架构师的梦.最近完成了一个中小型的项目,让我有了一些感受和想法,于是决定新开一个系列--<菜鸟要做架构师> ...

  4. 架构师的工作都干些什么?!想做架构师必看

    转载自  架构师的工作都干些什么?!想做架构师必看 之前有网友说想看架构师升级的文章,所以写了本文.先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更 ...

  5. 我是怎样成长为系统架构师的

    来这家公司从事信息化工作已经也有三个年头了,有必要对这三年的工作和成长以及不足之处做一个总结.在此之前,从2001年開始学习JAVA,那时候用Struts的开发的企业也不多,而我在的做项目的企业当时已 ...

  6. 做人、做事,做架构师——架构师能力模型解析

    引子 究竟是什么让你在同一个位置上--例如程序员或技术负责人--工作了三年.五年或者更久,而仍然得不到任何的发展空间?你觉得自己已成为技术圈中的大牛,并信心满满地去拿明天就要颁发的某某大奖,然而却仍然 ...

  7. 旧文重发:做人、做事,做架构师——架构师能力模型解析

    这篇文章发表于<程序员>2008.04期.其中有关模型图参见: http://blog.csdn.net/aimingoo/archive/2007/06/26/1667508.aspx ...

  8. 支付宝首席架构师程立:做架构就像造房打地基

    http://blog.alipay.com/1220.html 支付宝人物系列之:支付宝首席架构师程立 什么是架构师?在大多数人看来,这是一个神秘而充满技术色彩的称谓,带着这个头衔的都是最顶尖的技术 ...

  9. 给飞驰的法拉利换引擎 - 谈边做业务边做架构重构(1)——有的放矢

    序言 对一个程序员来说,世界上最痛苦的事情是什么呢? 有的人会说:编码的时候产品改需求! 有的人会说:看别人不知所云的代码! 有的人会说:定位一个百年不遇千年难寻的线上不定时偶尔出现的bug! 有的人 ...

最新文章

  1. 全球及中国医用敷料市场销售前景与竞争格局研究报告2022版
  2. Java 写时复制容器 —— CopyOnWriteArrayList
  3. 关于某系统的全面质量属性战术
  4. Kafka : WARN Error while fetching metadata with correlation id xx : {=UNKNOWN_TOPIC_OR_PARTITION}
  5. Jquery Ajax 异步设置Table中某列的值
  6. 初识THINKPHP--关于路径的问题(xampp下的htdocs为根目录)
  7. ps排版html,排版教程,超详细适合初学者的排版教程
  8. opencv马赛克python实现
  9. Linux的PS1美化
  10. Anaconda创建Pytorch虚拟环境(排坑详细)
  11. 网页无法与服务器建立安全连接失败,“发生了SSL错误,无法与服务器建立安全连接。”...
  12. 商品详情页商品属性选择,包含多规格
  13. No matching provisioning profiles found 真机测试问题
  14. Zynq笔记(一) —PL端(FPGA部分)的设计流程
  15. unity 字幕滚动
  16. unity PUN PhotonView莫名奇妙viewID冲突
  17. SKY65723-81低噪声放大器前端模块 GPS / GNSS / BDS预过滤器
  18. 数码管识别c语言代码,OpenCV之七段数码管识别(含代码)
  19. 『Origin』软件如何切换中英文界面?
  20. Java博客系统halo的搭建

热门文章

  1. Win10电脑死机怎么办
  2. win11为何七代酷睿无法升级 Windows11七代酷睿无法升级的解答
  3. XmlSerializer保存xml文件android
  4. xp升级windows7_微软大升级!Windows系统电脑将告别杀毒软件
  5. Git命令:git常用命令
  6. IoT:电子密本ECB和DES模式详解
  7. 全向轮移动机器人构型分析
  8. c语言3%10等于多少,[编程入门]数字的处理与判断-题解(C语言代码)
  9. 模型相关:修改模型的坐标原点到用户的自定义位置
  10. saas系统是什么_什么是灵活用工智能财税SaaS系统?有什么好处?