Mark Levison observed that, after solid classroom training, teams in larger companies still struggle to adopt TDD. To better understand the problem he surveyed team members. In this article he shares the problems he uncovered and his own comprehensive strategy, designed to help anyone introducing TDD into an organization.
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.
Agile coach Dave Nicolette looks at: How should we set iteration length? Based on the length of the release cycle? Are there benefits to using shorter iterations? 14
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.