Replies: 5 comments 17 replies
-
Great start. Please implement suggestions in docs for REQ|DES. Don't put any BUG in discussion, it should go straight to the issues, same as issue that can be tagged with label "problem" ;) See below for more feedback:
We have
Indeed, we need to update the issue template there.
Code of ours should have tests demonstrating requirements about its intended outcome. That should always be the generic requirement for a DOD regarding tests. How or where that has to fit one needs to learn or build. Communication is key here. Not documentation.
We do scrum. Requirements should be demontrated, and we should not waste time on duplicating old skool "acceptance criteria" from requirements. The proposed "requirements review" will result in the story to meet its DOR. The DOR should mention that we want a clear mapping from business to functional requirements before starting work. The demo should then only demonstrate these functional requirements. |
Beta Was this translation helpful? Give feedback.
-
What do you guys think of scheduling a demo in advance of working on a feature? I don't know if I speak for everyone, but for me it helps to gain some perspective and have a goal in mind to work towards. I imagine it could solve having pr's in review for too long by giving it an end-date, and also it would give us a moment to give comments, praise and accept the review sooner. |
Beta Was this translation helpful? Give feedback.
-
About unit tests, the current definition is: "- [ ] (Unit) Tests are added with the code" My concern is that this is too vague. It is like saying: "I did groceries" -- not mentioning there isn't any food for supper. What do you think about having minimal test coverage (if relevant)? I found this article, it articulates many similar points found in other articles: https://www.guru99.com/test-coverage-in-software-testing.html. |
Beta Was this translation helpful? Give feedback.
-
Reminiscing my earlier post on Slack, I think it wise to have a discussion about pull request size. As it stands in accordance with Scrum methodology we have both a product owner and a team of developers (as well as other roles but they are not relevant to this discussion). Before I get into my main point, I first want to define the roles of product owner and developer if the reader is unaware. Product owner vs developerI quote from a popular StackExchange post: "PO has to prioritize the backlog (the what part) where as the team decides amount of work that can be delivered in each sprint (the how-much part)." This is confirmed in the official Scrum Guide: "The Product Owner is accountable for maximizing the value of the product resulting from the work of the Scrum Team. How this is done may vary widely across organizations, Scrum Teams, and individuals." If we follow the Scrum process to the letter, the developers should be responsible for the "how-much" part of development. Now whether you're more inclined to fit Scrum into an organization rather than the other way around, it is reasonable to assume that giving the development team more autonomy in this regard will improve our process. I expect that if we can agree before a sprint on the workload and accept pull requests after reviewing the code for what we've done in that allotted time frame, we can start benefitting from the productivity value of working with the Scrum methodology. Why I think large pull requests will be detrimental to our processMy main point is articulated in an article about pull request size. Whether you agree with it or not, large pull requests will expose us to a lot of errors being introduced. It stands to reason that the larger the pull requests, the more errors, the longer it will take before going through code review. The developers are aware of how much work is sustainable given the story: Therefore, if we combine developer and product owner into one role, we will maintain a conflict of interest. On the one hand, the product owner wants to deliver bigger, better and fatter features. On the other hand, it is unsustainable for developers, since they do not have enough autonomy to calculate their own workload. I don't know if I speak for myself, but I think with the current process, the expectations for the features are unrealistic. I would divide product owner and developer (or CTO) into separate roles. This will create an opportunity to negotiate about feature size with a person who can focus their efforts on the business and customer feedback to assess whether the work done had merit to the commercial side of our product. Any other solutions to improve anything about this situation would be awesome too. I also don't mind if there is a respectful disagreement but I just want to voice my concern. |
Beta Was this translation helpful? Give feedback.
-
If PRs are constantly changed then most probably, scope of work was not defined properly. If some one has different style of making a code but it is still functional, then reviewer should honour it instead of enforcing his will. |
Beta Was this translation helpful? Give feedback.
-
It's easy to start coding and open a pull request. However, as it stands, it leads to more discussion than coding. Pull requests can easily take up to three months. Proof:
I'd like to leave a breadcrumb trail in this discussion to improve our Scrum process. I assume that one of our roadblocks is that our stories and tasks CAN lead to scope creep if not properly defined. I've discussed this with @Morriz on 25-1-2021 and we want to come up with a pragmatic solution to spend more time on reviewing requirements before starting to code.
Some notes on this topic:
Proposed solutions
Add the following snippet to the
scrum.md
documentation in the developer documentation:I could see this being added to a document that lives in
otomi-core
too, curious to hear your thoughts.I also wonder whether this needs any policing, or how we could better enforce it. Sure, it's part of the developer documentation, however, one needs to know the whole developer documentation to find it, let alone make sense of it. What I often see in public fora would be a sticky post, that could also be convenient (make it portable if I don't interpret that idea wrong).
Every story (template) should have a link to a (relevant) discussion
This could be automated by modifying the
unassigned issues
repository so it becomes part of the process of creating a new story.Every story should have acceptance criteria
I started a discussion about this back in #277, but I still want to mention it here. We currently have as part of the "definition of done": add (unit) tests. But I would appreciate a "definition of WELL done". By convention, it's expected to define acceptance criteria as part of the business requirements to satisfy all stakeholders.
Document the Scrum board process actions
There is no process defined for assigning issues (issues can be stories and tasks). The board also has some automation when creating new issues, but it's not documented yet. We also have some process for moving issues to "on hold", but it's not documented yet.
I discussed this briefly with @Morriz, but I want to include everyone in the process and also appreciate everyone's input.
Further discussion
Let's keep this discussion to some of the blocks we can remove with a "sleight of hand". I expect the following from this discussion:
tl;dr
Beta Was this translation helpful? Give feedback.
All reactions