<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 26 Sep 2016, at 16:39, Michael Kleinhenz wrote:</p>
<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">I think iterations as a data model are more of an intrinsic concept as
</div><div dir="auto">well, BUT I am not sure that this holds true with operations and/or
</div><div dir="auto">associations on iterations. For example: there may be complex metadata
</div><div dir="auto">associated with iterations or iterations may be more that 1:n
</div><div dir="auto">associations to WIs.
</div></blockquote></div>
<div style="white-space:normal">
<p dir="auto">more metadata - sure, but that is not a big deal.<br>
"more than 1:n associations" - not following ? care to elaborate ?</p>
<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">This may impose complex operations on iterations
</div><div dir="auto">(think filter/search/associate). To model iterations seperately from
</div><div dir="auto">the WIT/WI model may impose doing very similar things twice.
</div></blockquote></div>
<div style="white-space:normal">
<p dir="auto">I do not see that necessarily as a bad thing. I'm way more concerned if<br>
we have to wait to have everything in place for the generic WIT model<br>
to actually be able to make something happen.</p>
<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">Do we
</div><div dir="auto">need that stuff? I don't know, but I from the PDD, I think the generic
</div><div dir="auto">goal is to be open to any PM concept possible, even ones that we don't
</div><div dir="auto">know about yet.
</div></blockquote></div>
<div style="white-space:normal">
<p dir="auto">I think we really have to stop thinking the PDD or Almighty is going to try<br>
solve <em>all</em> problems and all project models from day one. It won't.<br>
And I will argue that trying to do so and be generic everywhere is going <br>
to slow us down way too much.</p>
<p dir="auto">We have to take a stance and be opinionated around what project models<br>
concept we will include - and just the fact we are talking about iterations<br>
as opposed to sprints, phases or similar we already generalised the concept.</p>
<p dir="auto">Generalizing it even more I think we will be watering down our public api<br>
and it becomes super hard to use.</p>
<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">What we have to do here is to balance the "genericness" of the model:
</div><div dir="auto">be as specific as necessary to keep the complexity low while be as
</div><div dir="auto">generic as possible to keep the usecases as open as possible. That is
</div><div dir="auto">the challenge.
</div></blockquote></div>
<div style="white-space:normal">
<p dir="auto">Yes, but I think with the suggested model that is what we do.</p>
<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">Considering that, I see massive advantages in modelling iterations as
</div><div dir="auto">WITs, but I think that total "generic" approach will impose a lot of
</div><div dir="auto">complexity when working with iterations (like, deleting them possibly
</div><div dir="auto">will require complex graph traversing). So I would go for a "glorified
</div><div dir="auto">Todd approach" like Max sketched: a sperate hierarchical,
</div><div dir="auto">metatdata-containing tag-like system. In my opinion that balances the
</div><div dir="auto">complexity against openess pretty well.
</div></blockquote></div>
<div style="white-space:normal">
<p dir="auto">+1 :)</p>
<p dir="auto">What I like about it is that the first initial implementation of this could <br>
simply be a text field and we can migrate to more structured as we move along.<br>
/max</p>
<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">On Mon, Sep 26, 2016 at 3:50 PM, Todd Mancini <tmancini@redhat.com> wrote:
</div><blockquote style="border-left:2px solid #777; color:#999; margin:0 0 5px; padding-left:5px; border-left-color:#999"><div dir="auto">
</div><div dir="auto">IMHO, iterations are 'intrinsic'. Moreover, when I think of the kinds of
</div><div dir="auto">operations that happen with iterations, those operations 'feel different'
</div><div dir="auto">than typical WI operations. For example:
</div><div dir="auto">
</div><div dir="auto">1. I create a new 'user story' WI. It has no iteration.
</div><div dir="auto">2. A product owner 'approves'' the WI. Perhaps at this point in time,
</div><div dir="auto">assigns it to a release (where Release == parent iteration in a hierarchy of
</div><div dir="auto">iterations.)
</div><div dir="auto">
</div><div dir="auto">E.g.
</div><div dir="auto">Release 23
</div><div dir="auto"> Sprint 165
</div><div dir="auto"> Sprint 166
</div><div dir="auto"> Sprint 167
</div><div dir="auto"> Sprint 168
</div><div dir="auto">Release 24
</div><div dir="auto"> Sprint 169
</div><div dir="auto"> Sprint 170
</div><div dir="auto"> ...
</div><div dir="auto">
</div><div dir="auto">3. During sprint planning, WI gets pulled into a sprint (Say 166). Iteration
</div><div dir="auto">has changed again.
</div><div dir="auto">4. User story is NOT accepted at end of sprint, and, due to a new stack
</div><div dir="auto">ranking, is no longer considered for the release. Iteration is removed from
</div><div dir="auto">the WI.
</div><div dir="auto">
</div><div dir="auto">All the while, many of those operations above will be done in a very fluid
</div><div dir="auto">way -- e.g., using a touch screen, the user story is dragged onto and off of
</div><div dir="auto">the various sprints.
</div><div dir="auto">
</div><div dir="auto">As such, to me , that feels like an intrinsic operation on the user story
</div><div dir="auto">itself, and not some overly engineered technique to express iterations as
</div><div dir="auto">WI.
</div><div dir="auto">
</div><div dir="auto">The agilista in me says "do it the simplest way possible to make it work.
</div><div dir="auto">Demo that. If future features require your initial implementation to change,
</div><div dir="auto">refactor." As such, my gut says: iterations are just a field on a WI
</div><div dir="auto">(probably all WIs, in fact). The data type of the field is 'iteration', it's
</div><div dir="auto">hierarchical in nature, and the permissible values are both end-user
</div><div dir="auto">definable and unique for every project.
</div><div dir="auto">
</div><div dir="auto">On Mon, Sep 26, 2016 at 6:31 AM, Max Rydahl Andersen <manderse@redhat.com>
</div><div dir="auto">wrote:
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">
</div><div dir="auto">On 26 Sep 2016, at 11:53, Thomas Mäder wrote:
</div><div dir="auto">
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">On 09/26/2016 11:07 AM, Max Rydahl Andersen wrote:
</div><blockquote style="border-left:2px solid #777; color:#BBB; margin:0 0 5px; padding-left:5px; border-left-color:#BBB"><div dir="auto">
</div><div dir="auto">Yes, they could eventually grow into be generically defined but I think
</div><div dir="auto">to start with we could start very basic - I for one do not think they should
</div><div dir="auto">be munged into being work item/work item types at our API level. Not
</div><div dir="auto">everything is a java.lang.Object either ;)
</div></blockquote><div dir="auto">
</div><div dir="auto">Actually, you're making my point: everything IS an instance of
</div><div dir="auto">java.lang.Object. so you can write
</div><div dir="auto">
</div><div dir="auto">Object foo= new Iteration();
</div><div dir="auto">foo.hashCode();
</div></blockquote><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">integers are not objects - they can be auto-casted in later versions.
</div><div dir="auto">
</div><div dir="auto">:)
</div><div dir="auto">
</div><div dir="auto">/max
</div><div dir="auto"><a href="http://about.me/maxandersen" style="color:#BBB">http://about.me/maxandersen</a>
</div><div dir="auto">
</div><div dir="auto">
</div><div dir="auto">_______________________________________________
</div><div dir="auto">almighty-public mailing list
</div><div dir="auto">almighty-public@redhat.com
</div><div dir="auto"><a href="https://www.redhat.com/mailman/listinfo/almighty-public" style="color:#BBB">https://www.redhat.com/mailman/listinfo/almighty-public</a>
</div></blockquote><div dir="auto">
</div><div dir="auto">
</div></blockquote><div dir="auto">
</div><div dir="auto">--
</div><div dir="auto">Michael Kleinhenz
</div><div dir="auto">Principal Software Engineer
</div><div dir="auto">
</div><div dir="auto">Red Hat Deutschland GmbH
</div><div dir="auto">Werner-von-Siemens-Ring 14
</div><div dir="auto">85630 Grasbrunn
</div><div dir="auto">Germany
</div><div dir="auto">
</div><div dir="auto">RED HAT | TRIED. TESTED. TRUSTED.
</div><div dir="auto">Red Hat GmbH, www.de.redhat.com,
</div><div dir="auto">Registered seat: Grasbrunn, Commercial register: Amtsgericht München,
</div><div dir="auto">HRB 153243,
</div><div dir="auto">Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham,
</div><div dir="auto">Michael O'Neill
</div></blockquote></div>
<div style="white-space:normal">
<p dir="auto">/max<br>
<a href="http://about.me/maxandersen" style="color:#3983C4">http://about.me/maxandersen</a></p>
</div>
</div>
</body>
</html>