-
Notifications
You must be signed in to change notification settings - Fork 33
Added work item type doc #38
base: master
Are you sure you want to change the base?
Conversation
Hats off! Honestly, you've put quite some thought into this document and I hope you don't mind my many comments. Some of them only fix typos and others evaluate some of your ideas. Review status: 0 of 1 files reviewed at latest revision, 22 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 5 [r1] (raw file):
should be
Notice the additional Apart from that I think these services are not the basis for any UI but they are the backend counterpart for any UI talking to the backend, right? _blueprints/work_item_types.adoc, line 7 [r1] (raw file):
Maybe the goals should be written as a bulletin point list because it makes it easier to differentiate between them. Currently the sentences seem to have some dependencies on each other which makes it hard to understand a clear goal. To me it sounds like the goals are:
To me, the last one is the only relevant point and everything else is technical boilerplate and can be considered a strategy to reach this goal. _blueprints/work_item_types.adoc, line 8 [r1] (raw file):
should be
_blueprints/work_item_types.adoc, line 8 [r1] (raw file):
You can also have indices in purely JSON driven databases like MongoDB so that's not a good reason. Well, it is but only in PostgreSQL and that is not mentioned here. _blueprints/work_item_types.adoc, line 12 [r1] (raw file):
What does this mean? _blueprints/work_item_types.adoc, line 23 [r1] (raw file):
After the opening and before the closing parenthesis are weird characters. _blueprints/work_item_types.adoc, line 27 [r1] (raw file):
What about a "team" or an "organization"? Are those work items? Any why don't we allow clients to extend a project or a user? Maybe somebody would like to store additional information for a user like a photo of a person. _blueprints/work_item_types.adoc, line 33 [r1] (raw file):
Given that sentence, I'd say we rename _blueprints/work_item_types.adoc, line 36 [r1] (raw file):
Do you mean that a description contains a map (from string to one of the types below) and that each map entry (aka field) has a "required" option? If that's the case then we should model this out as an extensible _blueprints/work_item_types.adoc, line 41 [r1] (raw file):
Will be allow
Can one assign a Having automatic casts opens to the door to hell IMHO. Trust me, we've been there in my last job when defining our own language. We decided to have default constructors for each type (even for int and float - or should I say: especially for those?!). What I'm saying is that technically a _blueprints/work_item_types.adoc, line 46 [r1] (raw file):
What's that? _blueprints/work_item_types.adoc, line 50 [r1] (raw file):
Why is the ordering important and how will it be achieved or can it be influenced by the user? Will a string list always be sorted in alphanumerical order? What about lists of user-defined types? What about a map collection? What about a set? This could be extremely helpful for membership relationships. _blueprints/work_item_types.adoc, line 52 [r1] (raw file):
I think the last sentence needs a rewrite ;) _blueprints/work_item_types.adoc, line 56 [r1] (raw file):
Why is that (for storage optimization) and why is there a limit? A project hasn't been defined so far, thus making it hard to understand. _blueprints/work_item_types.adoc, line 59 [r1] (raw file):
should be
_blueprints/work_item_types.adoc, line 60 [r1] (raw file):
Why take the risk of reusing fields instead of defining only the very basic fields as standard and all others as customization? _blueprints/work_item_types.adoc, line 61 [r1] (raw file):
I'd say that the intelligence of mapping fields to one another shouldn't be deeply buried in the ALM but in a migration step that is exposed to the user and that the user has full control over. Let's choice clever assistance over crappy intelligence. A simply algorithm to do the mapping would be to take kanban and sprint fields and compare them by field name and type. If a field matches in name and type (!!) it is offered for direct migration. GUI wise think of a form on the left and one on the right. The form fields are wired with lines, letting a user decide what to do with each field. For this to work with user interaction we should have migration UI wizards. When switching from scrum to kanban user roles change too and for this to work smoothly we should offer a wired form wizard as well. _blueprints/work_item_types.adoc, line 65 [r1] (raw file):
To avoid errors and let users resolve the mapping issues I have proposed a way in my comment above. _blueprints/work_item_types.adoc, line 69 [r1] (raw file):
is not needed because you continue with _blueprints/work_item_types.adoc, line 72 [r1] (raw file):
This sounds very vague and I'm not sure inheritance is a good idea, especially multiple inheritance. _blueprints/work_item_types.adoc, line 74 [r1] (raw file):
So you're saying that you extend a type along its natural inheritance chain? Now that sounds interesting. _blueprints/work_item_types.adoc, line 78 [r1] (raw file):
Maybe you should add this:
I have to think about duck typing in an API. Intuitively I'd say it is not a good idea but if we allow for Mixins we have to allow duck typing I guess. No?! :) Comments from Reviewable |
Reviewed 1 of 1 files at r1. Comments from Reviewable |
This is a working document to come up with a system for describing and defining types of work items. | ||
|
||
== Vision | ||
There is a central work item (micro-)service that serves as a common platform for storage and query of work items. Client services extend the basic work item types to offer business functionality like different ways of planning (scrum, waterfall, etc.), testing, ideation, etc. These service in turn are the basis for our UI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're thinking that there will be a "Scrum Endpoint" that the UI talk to? The "Scrum Endpoint" then talks to Core backbone?
_blueprints/work_item_types.adoc, line 7 [r1] (raw file):
That's a storage implementation detail. And unrelated to why we have WorkItem types. Comments from Reviewable |
_blueprints/work_item_types.adoc, line 33 [r1] (raw file):
|
Review status: all files reviewed at latest revision, 27 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 7 [r1] (raw file):
|
_blueprints/work_item_types.adoc, line 33 [r1] (raw file):
|
_blueprints/work_item_types.adoc, line 33 [r1] (raw file):
|
Review status: all files reviewed at latest revision, 27 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 5 [r1] (raw file):
|
_blueprints/work_item_types.adoc, line 78 [r1] (raw file):
|
Review status: all files reviewed at latest revision, 22 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 23 [r1] (raw file):
|
Review status: all files reviewed at latest revision, 22 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 41 [r1] (raw file):
|
Review status: all files reviewed at latest revision, 17 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 41 [r1] (raw file):
|
Review status: all files reviewed at latest revision, 17 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 61 [r1] (raw file):
|
Review status: 0 of 1 files reviewed at latest revision, 17 unresolved discussions. _blueprints/work_item_types.adoc, line 8 [r1] (raw file):
|
Reviewed 1 of 1 files at r2. Comments from Reviewable |
Review status: all files reviewed at latest revision, 12 unresolved discussions, some commit checks failed. _blueprints/work_item_types.adoc, line 23 [r1] (raw file):
|
this pr seem stale - is the doc ready to be merged in or still things active ? |
Closing as outdated. |
@alexeykazakov please not just close this as outdated. In the current situation that we're in, I find this old document with a vision quite interesting to read again. Maybe it can actually help us. I'm reopening it for the sake of a proper documentation. This obviously is outdated, yes, but not close-able IMHO. |
This change is