Lean vs UP or TDD
In http://survic.blogspot.com/2007/12/post-processesontologies-open-eyes-on.html
I wrote: if you know those (8 core) techniques, you surely already know those "processes". "Processes" is simply experiences you gain when you use those "8 core techniques".
In http://survic.blogspot.com/2008/05/use-lean-process-directly-instead-of-up.html
I wrote: we should refuse to talk about "software proceess" -- we should use lean process in software directly, instead of UP or even TDD.
I am now more convinced.
The key is, being “lean” requires that we must do things as close or direct as possible to where the real values are happening.
The “8 core techniques” are where the real values are happening.
So, we should replace all those TDD or UP with 8 core techniques, and call it “lean”.
You may ask, even we know the content of those 8 core techniques, we need to ask: what category do they belong?
The answer: they are architecture elements.
So, a “lean” process means that we deal with architecture elements directly, iteratively and incrementally – which means, as long as you are making progress and you know about it and you can provide hard evidences for it, then, in whatever order, do whatever is necessary.
Lean process is very different from TDD and UP. Obviously, it is “heavier” then TDD, because it has a “default architecture”, and is totally architecture driven.
Also, it “includes” or “tolerates” or "consumes" the concepts of “requirements”, “use cases”, etc., because all of those concepts are simply iterations toward “screens and buttons” and “façade methods”. “Testing” is a real concept in “lean”, but that simply because testing is inherently part of the architecture, just like logging is. Note that “lean” is better, because now you always know the context, and know that it can be extremely flexible yet can always focus on the real result.
It also "includes" or "consumes" DDD – all those mappings (OR and OU) and related rules are DDD, or, you many say that DDD is the iterations toward OR and OU. Again “lean” is better, because you know the context, and you know it can be extremely flexible yet can always focus on the real result.