-
Notifications
You must be signed in to change notification settings - Fork 460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
intrusive behaviour of the backlogs plugin #1068
Comments
Just my 2 ct:
Regarding this whole issue: |
You are correct, I should have placed this into a forum. I will add some additional comments here, then in a short while I will close this issue and replace it with a few specific issues as mentioned at the bottom of this comment. My main point with the intrusiveness is that agile development methodologies are exactly that - development methodologies and redmine can encompass much more than just the software development phase. In fact software development is only one part of a product's life cycle. In our company we use three different trackers - "Bug", "Feature Request", and "Internal Enhancement" to track the change requests in our software and these are the three trackers that we added as stories in backlogs. But we also use redmine for our project planning phases (trackers "Project Proposal", "Requirement", and "Constraint") and for the customer support phases (trackers "Problem Report", "Change Request", "Question", and "Support Activity"). These all tie into the software development. For example customer support will take the "Problem Report"s from customers and will create "Bug"s and "Feature Request"s based on them, but will leave them unprioritised. Sales and management decides on their importance and assigns them a priority of "Immediate" - implies the fix must be a patch sent to customers in short order which implies an interruption in our current sprint, "Urgent" - implies it should be included in the next project plan, "High" - it should be included in one of the next two project plans, "Normal" - is only included if time allows, and "Low" - will not be done unless other needs change its priority. This is all outside of the actual software development hence has nothing to do with the development methodology. (All the while the new issues raised are either child issues of the "Requirement" or related to issues of the "Problem Report"s allowing sales and management to track the progress of the various items without the details being visible by the customer.) This is what is choosing what is to be included in a release. From the agile point of view this is how development is to choose what will be included in the sprints that make up a release. And the backlog plugin "blew away" the priority field which is an important one in our overall process. In addition, not every software process is an agile one. Our product includes both software and hardware. And the firmware that is developed for the hardware does not follow an agile process but something much closer to a cleanroom approach. It is important that the backlog plugin not interfere with the processes of that team. That is what I mean by it being intrusive. In fact whenever I see a comment such as "you should promote your {idea/religion/policy/process} to {someone else}" I have to ask if the person making the comment is perhaps limiting their view to their particular part of the organization. At the very least "promoting" should not imply "forcing". Software development is not the only part of the story. Unless you are willing to work without being paid you also have to deal with cost management, customer requests, and yes, even office politics. With that said, we have, since I raised this "issue", determined how we can use the plugin without it interfering with our overall product life cycle. We are going to do this in a couple of ways, and I wouldn't mind your comments if you think there are better ways we can do this. First, our redmine projects follow a hierarchy that separates the project planning, software development, and customer support phases of the lifecycle. As part of this all the software products are sub-projects of a parent project called "Software". By turning on the sprint sharing and making the sprints in the overall "Software" project we can continue to use the "Target Version" field for its intended use - specifying the version that the issue is targeted for inclusion, and the "Roadmap" functionality should still work. The only restriction would be that developers must only drag issues into the "sprints" of the "Software" project and must ignore the "sprints" that backlogs creates for the "Target Versions" of the sub-projects. This also has the advantage that our developers only need to watch one task board that crosses multiple projects. (We still have to determine how we are going to manage separate teams - so far only one team is following this process but we will soon add a second team - and in particular how we will deal with developers who are on both teams. I suspect we will use separate sprints for each team and those (few) developers on both teams will have to monitor two task boards.) Second, instead of including "Bug", "Feature Request", and "Internal Enhancement" issues as stories we will create a new tracker called "Story". And we will modify our practices so that when a given issue is targeted for a release (i.e. when we set the "Target Version") we will create a child issue of type "Story". Then only the "Story" issues will be included in the backlogs. In this way the backlogs plugin can change the "Priority" and "Target Version" fields to its heart's content without it affecting the original issue. (As an additional bonus this will also handle the case where a "Feature Request" would not fit in a single sprint - we will just create multiple "Story" issues for it.) That said, it would be nicer if we could include our original issues as stories as most of the time an issue is small enough to fit in a sprint and having to make a shadow issue seems like extra overhead. To that end, I will shortly close this "issue" and add the following ones which would allow us to do that. #866 already deals with the version vs. sprint so I won't repeat it. (Our workaround using sharing will work but won't be necessary once this one has been completed.) #997 would be very nice, especially if any field including custom fields could be chosen for display. This is especially true in our case where an "Immediate" priority does not just mean do it first, but requires an interruption of the current process, and hence cannot be implied strictly by an ordering. For our process (and assuming #866 is completed) we would like to see both the priority and the target version in the backlog list. My new requests (to be entered soon)...
|
I totally agree with all points you made. It's obviously up to the specific company how to apply scrum and in particular how to adapt it to fit into existing or otherwise required "conflicting" processes. Don't get me wrong - my company faced that, too. We've been choosing another way to cope with that, but I won't tell anybody this is the way to go. In the end we agree on that the backlogs plugin should defensively accept as much as default redmine functionality as possible and make as less assumptions as possible about how it gets used. I'm looking forward to positive discussions regarding the new issues you gonna create. |
Looks like my first issue, and the most important one in my view, of the priority not being changed isn't an issue with this plugin at all but is an issue of redmine itself. The priority of a parent task is set to be the highest priority of all of its children. This is already logged as a defect in the redmine project but it looks like they have no current plans to fix it despite the rather large number of people who have commented that this functionality disallows them from using the child issues. |
It looks like your original request 2:
And your updated request 3:
These are each requested in multiple other tickets, but it seems the main one for tracking the feature request is #184. |
We have recently added Backlogs to our Redmine and while for the most part we love it, it has a number of areas that are more intrusive than a plugin should be and have causes us some grief. I would suggest that a plugin should be adding functionality as opposed to removing or retasking existing functionality. In particular, the following:
Don't get me wrong. We love this plugin and it is the best agile plugin of those that we tested. However we would love to see the above items changes. Personally, if I had been creating an agile plugin I would have made a couple of significant design decisions differently. First I would not turn an issue into a story. And second I would not make a task a tracker. Rather I would have created new objects called stories and tasks and would have related them back to the original issue allow issue management and tracking to work as before but adding agile methodologies on top.
The text was updated successfully, but these errors were encountered: