> Hello, John. On Friday, July 6, 2007, at 1:08:13 PM, you wrote:
>
>> We only have trouble with it because nobody has a
>> legally enforcable definition. The muddle isn't because
>> we don't have _any_ definition, it's becuase we have _too
>> many_ definitions.
>
> I'd be interested in hearing a proposed one. On the other hand I'm
> still of the opinion that it's a wrong question.
>
> Ron Jeffries
> www.XProgramming.com
> We cannot solve our problems with the same thinking we used when we
> created them.
> -- Albert Einstein
>
Here's the first draft:
-----------------------
A software development process can be called Agile if it prescribes that all
artifacts to be delivered to the customer or required to support the
customer are created iteratively. This includes code, user documentation and
data base schemas. In addition:
1. Iterations are to last no longer than one month. Each iteration will
produce working, tested and deployable software. Each iteration will begin
with the software produced at the end of the preceding iteration.
2. The result of each iteration will either be placed into production, or
the customer will provide sufficient resources to determine if the software
meets quality goals and is usable for its intended purpose (or both).
3. The requirements / goals for each iteration are based on the current
state of the software and the business environment at the beginning of the
iteration. This specifically excludes any requirements from a document that
is more than one month old.
4. There will be engineering practices in place which are sufficient to
ensure that the structure of the software remains continuously maintainable.
5. The development team, including any customer personnel assigned to the
team, will periodically evaluate the process to determine if any changes
need to be made to improve operations. This implies that there is a defined
process, and that the team is empowered to change it as long as the change
maintains quality standards, resource constraints and applicable regulatory
requirements. It also implies that all team members know what the current
process is, and are trained to follow it.
*. I've intended this to be a reasonable, although not precise, fit for XP,
Scrum, Crystal and Lean. I don't know enough about any others to tell if
they'd be seriously outside of the envelope.
... A software development process can be called Agile if it prescribes that all artifacts to be delivered to the customer or required to support the customer...
Could you expand on # 3 at some point? My initial reading (having in mind thoughts of people known as "requirements engineers") was that this might be taken by...
I think you're right. That sentence needs work. What I'm trying to get at is that the initial project definition is expected to change, iteration by iteration...
As mentioned by others, this is something challenging and valuable you're offering. Even if a widely-adoptable definition was found not to be possible, the...
... Point: I honestly _wouldn't_ know whether to start talking about my experiences with common workspaces (no cubes), and pair-stations. And if I had the...
I think it's naive for the business community to assume anything by a degree or certification or any piece of paper one earns. All the the CSM demonstrates is...
... You missed the polarity. Gary questioned whether the recruiter could identify an Agile project if it bit them on the ankle. What would they do with the...
I like it. And I'd like something like it to replace or amend http://www.agilealliance.org/show/2 I notice that the current page mentions face-to-face...
John, thanks a lot for putting the effort to define what agile is. It's been too long since the initial Agile Manifesto, and there's a need for a clearer...
Hi Amir! ... We probably shouldn't even talk about "process" here. "Approach" might be a better word. ... That's too wishy-washy to me. And not specific to...
Hi John! I liked the first draft. I like the second even better. My comments are ... Is TDD/"executable requirements" really a requirement of Agile? Or ...
... Well, your list below includes (rightly so) "continuous validation and integration". If we want to continuously integrate new features, and validate that...
... I'd use automated tests. I can still use comprehensive automated testing without having used TDD to get it, and without having insisted that my ...
... Good. ... I don't see how that conflicts with John's description. The only paragraph that deals with testing I've found is "Tests for functional...
... Why should agile /require/ TDD? TDD is a design activity. Does agile care how I design software? I thought agile was mostly concerned with issues like...
... Not to jump in midway on a heated discussion (oops, looks like I did :-), but I thought agile was concerned with dealing with change appropriately, instead...
... I'd forgot about the "responding to change" part of the manifesto, but then, I think predictable delivery handles that: in order to deliver a changing...
... Theories are theories and axioms are axioms. It all depends on the audience. In general, I prefer definitions to be minimal, so in this case, declare as...
Hello, Andrew. On Tuesday, July 17, 2007, at 4:05:15 PM, you ... Good points, Andy, but it seems that many projects would make this claim. "Hey, look, we have...
... Perhaps "timely" feedback would be more appropriate... ... Otherwise it ends up much like the classic judge's definition of pornography: I can't define it,...
... Perhaps, the best we can do is to say org A is more agile than org B if: - they are competitors in the same market/domain, - orgA can consistently adapt to...
... Also: 4. Agile has nothing to do with your practices only your position in the market. (by this definition) Chris. [Non-text portions of this message have...
... Not necessarily. Your past practices could easily be the reason for the agility or lack thereof in the market place. Your future practices could change...
... That's why I think that taking this definition is certainly a different stance - a company may be able to adapt to customer needs merely by virtue of it's...