Blog on Dan North & Associates Limited 10月02日
工作与博客
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

作者回顾了近期的工作和博客活动,包括参与XP Day讨论、性能调优项目、SOA研讨会、架构设计、BDD框架开发和实时选项数学。文章强调了简洁性、性能优化、敏捷SOA、构建器模式和面向人类的设计的重要性,并分享了在工作和个人项目中的经验。

🔹 作者回顾了在伦敦XP Day参与关于软件开发的简洁性讨论,强调清晰表达意图的重要性,认为简洁是软件开发的神圣目标。

📈 作者分享了与一家美国零售商合作进行J2EE性能调优的经历,通过多种方法将启动时间从10分钟缩短到45秒,查询时间从30分钟减少到亚秒级。

🚀 作者在斯德哥尔摩ExpertZone会议上进行了题为“面向人类的SOA”的演讲,指出SOA常被误解为技术问题而非商业问题,并强调其不应被工具集所代表。

🔩 作者探讨了架构设计中的构建器模式和命令模式,认为这些模式使世界变得更简单和愉快。

📊 作者介绍了rbehave和JBehave的发布,强调了这些行为驱动开发(BDD)框架在软件开发中的重要性,并计划引入更流畅的故事构建器。

🔢 作者讨论了实时选项数学,解释了负责任地延迟决策的好处以及错过决策“有效期”的弊端,并提及了与BDD开发相关的联系。

It turns out that having a day job can play havoc with your blogging activities. I’m posting a round-up of recent activities, in no particular order, with the intention of expanding on each of these topics in the coming weeks. But we all know what happens to intentions.

This is mostly a brain dump to make me feel guilty enough to write some of it up, so feel free to skip it if you’re busy. That FaceBook page isn’t going to update itself you know.

Simplicity#

At last year’s XP Day in London I got involved in a fishbowl discussion, with the likes of Kevlin Henney among others. Kevlin gets simplicity. To me it’s the holy grail of software development, and it’s all about expressing intent clearly. If you can’t make a system any simpler, then you’re done (simple, not simplistic). Likewise if you can express the intent of an application in a clearer way, you still have work to do. Erik Doernenberg and I shaped this theme into a keynote that I’ll pretend I’m going to write up at some point.

Performance tuning#

A couple of years ago I did a performance tuning gig with a major retailer in the US. It was their first foray into J2EE and they were struggling with the impedence mismatch between OO and the relational database. Over the next few weeks I’ll be writing up the various approaches we took to achieve the results we got (startup time down from 10 minutes to 45 seconds, query times down from over 30 minutes to sub-second), because in the intervening period I’ve seen some of the patterns repeating themselves elsewhere.

Agile SOA#

I have my “safe” topics that I’m very familiar with presenting: coaching and learning, agile and BDD, various technology topics. Last month I presented outside of my safe zone, on “SOA for Human Beings” at the ExpertZone conference in Stockholm.

SOA is not like the other kids. On one level it’s so vague it’s almost Zen: “What is SOA?” “It’s whatever you want it to be”. Secondly, it’s largely misunderstood as being a technology thing rather than a business thing. Thirdly, it’s often deliberately misrepresented as the reason you have to purchase a particular toolset.

So I stood up in front of the 17 attendees and said: we won’t be discussing code this afternoon; we might not even discuss technology. And we all had a much better afternoon because of it. There were a number of themes that came up during that session, and I’ll try to do them justice in a future article.

Builders, Commands and Fluent Interfaces#

I’ve been architecting! You know, like properly designing software on a project as a tech lead. It’s great fun, I’d forgotten how much I liked it. My favourite current toys are builders—in particular fluent interfaces—and the command pattern. Suddenly my world is a simpler and happier place. Come to think of it, I’ve just rolled off a project with Patrick Kua as my tech lead. Talks a lot of sense does Patrick.

BDD in Ruby#

Got rbehave out. Phew!

BDD in Java#

At some point in the last couple of months, it seems we released JBehave 1.0! It’s been a labour of love, made up of infrequent short bursts of activity interspersed with long periods of day job. Lucky for me, Liz Keogh stepped up and took the reins, and with the help of some other great developers got it to 1.0. I’m very pleased with what we’ve accomplished so far, but there’s plenty more to do. In particular I want to introduce a fluent story builder to remove the need to hand-wire all the stories, and see if we can use some Java 5 goodness to simplicate things.

Real Options#

No, not the things traders buy and sell. This is an overlooked branch of mathematics that explains why deferring decisions responsibly is a Good Thing, but deferring them past their “use by” date is just dumb.

My good friend Chris Matts has written an article about real options with Olav Maassen. In a demonstration of the interconnectedness of all things, there are at least two JBehave connections here. Chris was the guy who made the observation that BDD-as-TDD was just like business analysis, which in turn led to the whole story/scenario vocabulary. Olav was the first contributor to JBehave, writing a JBehave Ant task back in 2004. They are both mad as a box of badgers which means the article makes for interesting reading.

Check out

Goalwards®

, our new business agility practice!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

工作与博客 软件开发 简洁性 性能调优 SOA 构建器模式 命令模式 行为驱动开发 实时选项数学
相关文章