This article demonstrates how to build and orchestrate highly configurable and extensible yet light-weight embedded process flow using Aspect Oriented Programming (AOP) techniques. The current examples are based on Spring AOP and Aspect J, however other AOP techniques could be used to accomplish the same results.
The goal of modeling domain concepts through objects set by OOP has for a long time been handled in insufficient ways. In this article we introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.
Dave Nicolette, Agile Coach with Valtech, addresses the question are short iterations better than long. Dave demonstrates that short iterations: allow for more rapid response to change, the opportunity to discover and fix problems more often. He also deals with the concerns that short iterations might lead to burnout and other issues.
Retrospective discussion panel on Fred Brooks' article, No Silver Bullet, with Fred Brooks, M. Fowler, R. Lopez, A. Namioka, L. Northrop, D. Parnas, D. Thomas, and S. Fraser.
For developers and leaders only familiar with Scrum or XP, Lean may be a bit of a mystery. Here's an introduction to Lean Thinking and how it enhances software development. 7
In this article, Srini Penchikala discusses Domain Driven Design from a practical stand-point. The article looks at architectural guidelines and best practices that can be used in a DDD project. 52
This study by InfoQ China looked at 5 cases of Scrum adoption, and asked: Why Scrum? How did you adopt it? What problems, successes or failures did you encounter? One finding: improvement success! 1
Lean thinking aims to reduce waste (in Japanese: muda), overburden (muri) and unnecessary variation (mura). Roman Pichler proposes addressing overburden as the first step toward a leaner process. 8
Many teams optimize only a portion of the software value stream, but Kenji Hiranabe shows how we can adapt Lean Manufacturing's Kanban tracking system for communication with more of the organization. 8
Using a domain model is not just creating the actual domain model classes and using them, due to infrastructure needs. Mats Helander explains how to use handle this complexity in a simple way. 37
Annotating existing object graphs - we show a simple, extensible solution using Ruby's singleton classes.
Why do Agile teams get stuck in the just-average "norming" stage, never making it to the exciting high "performing" stage of team growth? The invisible "learning bottleneck" can stunt performance. 16