领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 jean-Jacques Dubray 译者 陈亮 发布于 2010年11月29日
Jean Bezivin, Nantes大学的名誉教授,在他最新的博客中,回忆了软件工程过去四十年的历史,因为他相信颠覆的时刻即将到来。Jean认为软件工程已经发生了三次巨变:
第一次巨变在1968年10月的Garmisch NATO会议上已经讨论过了。复杂系统中所浮现出来的问题迫使我们认识到独立程序员时代已经结束了,将来的目标是“超过3万个指令的大型系统,由超过25个程序员在6个月(甚至更长)的时间内完成,并且由多层组织架构的人员来管理。
第二次巨变出现在80年代初期,编程范式从过程式编程到面向对象编程的转变。
第三次巨变是由2000年11月召开的OMG MDA创始会议所触发的。
每次巨变都有相同的特征:当我们使用熟悉的经验和方法来处理行业里的问题时,已经显得力不从心了。比如说,当面向过程的编程语言不能很好地描述现实世界的境况时,面向对象的编程语言出现了,它能够保证大型软件系统的可重用性,并且可以确保软件架构的稳定性。
现在,Jean Bezivin教授看到了一些可能重新定义软件工程的因素逐渐浮出水面。比如说“最终用户也可以是程序员”、软件工程任务的特化;大量的应用程序能够快速地抢占市场,我们称之为应用程序商店(比如说Apple, google等)、技术解决方案层出不穷的多样性、应用程序能够在适当成本基础上追求互操作性的需求、新的技术演进(例如云计算)等。他认为我们正在向一个新的世界迈进:
将来会有大量、飞速演变、相互影响的应用程序。这些应用往往是由不同的程序员使用不同的编程语言来完成的,并且他们往往不会使用传统的软件开发周期。每一个应用都会拥有特定的数据模型,状态模型和事件模型。
为了预测这个革命性时刻的到来,他给出了一个提示:
无论是实践还是技术变革,变化的总是与语言相关的那些东西,因为软件工程的实践与理论核心是语言工程。
最后,他指出了当今编程语言未来可能的发展方向,以此作为总结:
关键问题在于专业人员与作为最终用户的程序员之间的协作,但我们是否需要为最终用户开发出一套专用的软件工程实践?
文本形式的编程语言非常重要,但现在很多可视化的编程语言也渐渐出现了。这些语言提供了抽象语法,同时还带有各种具体语法,这包括文本形式的,表格形式的和可视化形式的。此类语言并非仅仅由语法来定义,还包括元模型(metamodel),模式(schema)和本体(ontologies)等等。
相对于发明新的编程语言来说,真正的难点在于如何在各种领域特定语言(DSLs)之间建立一种精确,可操作的语义关系,这构成了21世纪全新软件工程实践的核心。总之,编程语言之间的互操作性将是相应领域的重要组成部分。
软件工程的变革是否已经让我们等待太久了?如果答案是Yes的话,那么它已经开始了吗?5年后的软件工程将会是什么样的?让我们拭目以待。
查看英文原文:Four Decades of Software Engineering, are Changes Coming?
MDA那一罢,除了让工具厂商赚到钱,软件公司花了钱花了时间外,没看出有啥实际影响:)
哈哈,英文版上一开始的回复就是MDA sucks
软件工程需要吸纳其他工程的成功经验。
乘客登上航班飞机落座后就可以放松一下了。现代航空服务保证旅客可以按时到达预订目的地。然而,乘客却没有必要了解飞机的构造,它是如何设计、制造出来的。尽管现在的技术可以实现无人驾驶,民用飞机驾驶员依然是稀缺资源。
软件工程需要明软件(特指IT)驾驶员的行为规范。有人驾驶的软件让人更安心。
下一场软件开发革命也许是“面向任务开发(TOD)”
zhidao.baidu.com/question/106363957.html
我觉得还是信任的问题,往往我们都耐不住性子来做这件事情,我想如果我们真能够耐住性子做好的话,效果还是不错滴
如题,会写程序的程序是未来
应该超2个不同的层面发展;第1层面是向底层发展,目标是更加抽象的软件支撑,这要求有点哲学的工程方法,结果是系统软件工程方法;第2层是向前端发展,目标是更加贴近用者的软件体验,这要求有点实用的工程方法,结果是应用软件工程方法。
面向服务开发方式、面向构件的开发方式、面向框架的开发方式,我们程序员的工作在不断的被集成。无怪乎有人觉得,程序员又一次回到了个人时代。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
10 条回复
关注此讨论 回复