论道WP(三):应用程序栏
作者通过具体翔实的例子介绍了Winodws Phone 7中应用程序栏的使用方式。
该内容已经被标记书签!
标记书签错误,请重试!

作者 Naresh Jain 译者 陈宇 发布于 2011年10月21日
这篇文章是在InfoQ上发表的敏捷宣言十周年系列文章的一部分。
在解决问题中寻找模式是人的本性,我们倾向于重用已知方法。有时候这是个有用的策略,但通常我们面对的问题与之前的问题并不相同,因此我们之前的解决方法也并不是解决新问题的最适合的方法。在软件开发的世界中,我们常会发现对“唯一正确的方法”,“最佳方法”的渴望。
有趣的是,通常我们所谓更好的方法总是从过往的知识和经验而来。也就是说,我们很少抛弃已经学会的东西,反而直接就在上面发展。现在应该到了超越这种发展思路的时候,如果还说不上创建新的信仰体系,那么至少应该建立新的发展途径。
在过去几年中,当我思考敏捷时,我意识到自己已经超越了(依托现有知识和经验的发展途径)。
时光倒流重回十年前,我通往“未知”(一个超越既定规则的地方)的旅程是从核心极限编程实践开始的,之后更广泛地接触敏捷文化,接着赶了精益的潮流,顺便也没错过AgileUX、DevOps、Product Discovery等等。
换句话说,这么积累下来,我对敏捷方法的理解和观点变成了这个样子:

以前,我相信整洁的代码就是一切,软件企业应该把代码放在至高无上的位置上,因为这是他们真正拥有的唯一资产。而后当我参与了一些紧跟时代的成功的软件大腕儿企业,才发现他们对整洁代码的关注是如此之小。实际上,他们视代码为负担,总想尽可能快地将其摆脱。
并非每家公司都是一个样子。一些公司极度渴求重构和TDD。而对另一些公司而言,技术和实施方案的变化是如此之快,如果他们不站在潮流的浪尖之上,无论代码有多么整洁他们都无法生存下去。一些公司纠结于决策信息的缺乏,而另一些公司则为过量的信息所窒息。一些公司深陷于失败的管理,而另一些则缺乏执行力。
我真的很享受嘲弄地看着一些人把敏捷当作“放之四海而皆准” 的方法。有很多有着不同痛点的公司,每家公司都在不同的时间点需要不同的解决方案。没有放之四海而皆准的方法!
毫无疑问在过去十年中,敏捷帮我解决了许多在软件产品交付期间面临的典型的挑战。然而对我而言在过去四年中,瓶颈已经从软件交付转移到挖掘适合的产品,我面临的这类挑战不能通过应用敏捷和精益完全解决。
过去十年我们身边也已经发生了许多变化。业务性质、对分布式开发的需求、使用的工具和技术、强大的网络和移动平台的普遍性,几乎一切都发生了变化。想想我们遇到了多少变化,很应该调整一下我们的原则和方法去适应新的情况。
几年前,我写了一篇名为"我不是在攻击敏捷宣言原则,我在渴求改进。"的博文。这篇博文抓住了我在工作中应用敏捷原则时曾面临的一些挑战的本质。
我确实认为“精益创业(Lean-Startup)”社区已经解决了许多问题。我已经有几年没见到敏捷社区有多少新成果了,但当我关注精益创业社区时,我感觉到了一股清新的气息。
在Industrial Logic,我们已经达到了非常高的精益程度,几乎去除了许多标准敏捷实践,如backlog、用户故事、迭代、规划会议、回顾、每日站立会议,在某些情况下甚至去除了TDD和结对编程。取而代之的是,目前我们已经实践了几年客户开发、有效学习(A/B测试、伪装特性,...)、持续交付和其他精益创业的概念。迄今为止,我们都爱上了它,并且在当前的情景之下确实看到了不错的效果。然而,在我们继续前进之前,需要先理清一些头绪——这正是有意思的地方。
几年前,创业公司,尤其是社交网站和移动开发方面的创业公司??,围绕着软件开发在敏捷和精益思想之上提出了一些有意思的观点。在最近的几年里,精益创业社区已经对此进行了很好的总结。他们已经把所有有意义的敏捷和精益思想封装了起来,但与此同时,他们也提出了一个敏捷和精益的新方向。
我相信精益创业在今后几年中将会对软件社区产生重大影响。
下面是我对今天的敏捷生态系统的看法:

精益创业社区很不错。然而我同样也为在软件开发领域之外所发生的事情感到兴奋,这让我更好地理解了软件生态系统。
例如,多年来关于软件开发我已经了解了以下内容:
我能够解释一下为什么我注意到软件开发中的这些行为,但无法真正解释这些潜规则。敏捷和精益方法确实帮我解决了许多挑战。然而我仍然不能解释这些潜规则。直到我偶然发现了下面两个概念:
最后我想留下一则古老的梵文偈颂作为精神的食粮。
无论檀香木被切得多细,它也不会放弃芬芳,
无论一名商人多么年老,他也不会放弃收益,
无论如何在机器中压榨甘蔗,它也不会变苦,
无论你变得多么有学识,也不要停止学习。
Naresh Jain是Industrial Logic的总监,亚洲运营及敏捷教练。从组织变革到增强开发人员生产力,Naresh帮助组织拥抱、扩展和保持本质的敏捷和精益思想。目前,Naresh投入大部分精力传播和构建Industrial Logic的eLearning平台。他当前的领导角色要求他扮演各种不同的重要角色,包括理解市场需求、按优先级排序&设计解决方案、协调市场&销售策略、亲自动手开发(编码&测试)和最终部署&管理产品服务器。
查看英文原文:Naresh Jain: Dealing with Change in an Evolving Contextual World
感谢郭晓刚对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。
在多线程并发编程中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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
精益软件开发方法因其对市场和交付的重视和在各种场景下体现出的适应能力正在获得广泛的关注。特别是在精益创业(Lean Startup)渐渐兴起和技术日新月异的今天,其"极端"的思想也变得越来越必要和可行。 InfoQ就此主题对他做了深入的采访。
没有回复
关注此讨论 回复