PrestaShop / prestashop-retro

Retrospectives from the Core and Product teams
0 stars 1 forks source link

Add bots to improve productivity and engagement #67

Open LouiseBonnard opened 4 years ago

LouiseBonnard commented 4 years ago

Here is a generic issue about all actions we want to do through bots to:

  1. improve community engagement and collaboration
  2. improve teamwork and efficiency

Add a bot to collect contributors feedback

Use a bot to automatically comment on a freshly merged pull request and ask its author for his/her feedback. Our goal here is to collect insights in order to continuously improve our processes.

Contribution merged, congratulations!

Would you mind answering our quick 1-minute survey? We would love to hear about your experience so far, it will help us improve our process for the community involved, like you. ;-)

Bot displays it automatically when a pull request from the community is merged. If several pull requests by the same community member are merged, the bot observes a one month delay before submitting this message again.

➡️ by Prestonbot

Add a bot to improve our process

Your pull request does not seem to fix any issue, you might consider creating one (see note below).

Note: it is a good practice to open an issue before submitting a Pull Request as it allows maintainers to verify that the bug is effectively due to a defect in the code (and that it hasn't already been fixed) and to discuss the improvement/feature suggestion before a single line of code is written. Additionally, it may lead the Core Product team to mark that issue as a priority, further attracting the maintainer's attention.

➡️ by Prestonbot

QA approved, well done! Message to the maintainers: do not forget to milestone it before the merge.

➡️ by Prestonbot

daysUntilClose: 30 responseRequiredLabel: NMI closeComment: Since no news from its original author popped out for 30 days, this issue is automatically closed. Please reach out if you find the answer so that we can investigate further. ;-)

➡️ by No Response probot

@ prestashop-concernedteam, friendly reminder! 👋

➡️ by Prestonbot

Hi @ author, your answer is needed at some point to complete the review, could you please have a look at it? With no further information in the next 15 days, your pull request will be closed.

➡️ by Prestonbot

Hi there, just a small warning: there are at least 12 issues in progress in the kanban!

Hi there, just a small warning: there are more than 4 issues to be tested in the kanban!

➡️ by Issuebot

Improve Issuebot

Thanks for opening this issue! We will help you to keep its state consistent

➡️ by Issuebot

Issuebot or Prestonbot?

Issuebot reacts to an event. It can display a message once an action performed. Prestonbot is in PHP, it can check any information and react to it. For issues and pull requests, it checks if the information is correct.

Resources

https://probot.github.io/apps/welcome/ https://probot.github.io/apps/first-timers/


Issue updated on April 20th to list @colinegin's ideas here as well.

colinegin commented 4 years ago

This issue needs to be updated in order to be more generic about all actions we want to do through bot to

On this 2nd objective, a few features are needed :

LouiseBonnard commented 4 years ago

@atomiix, @sowbiba, who would like to work on it? I think you're both on this topic. ;-)

LouiseBonnard commented 4 years ago

Should this issue be mentioned here as well?

LouiseBonnard commented 4 years ago

Hi @colinegin, I've checked with @sowbiba and here is a few feedback regarding your ideas:

force all new pull requests to be associated with an existing or new issue new check on the bot and github to only merge PRs which have a milestone (only for core PRs)

A bot cannot force or perform an action on GitHub's behavior. So here it won't be possible to force the association nor block the merge but Prestonbot could a message or an alert to warn about:

  1. the necessity for any PR to be linked to an issue in order to be reviewed.
  2. the necessity to milestone the PR to have it merged, for example when it's QA approved.

define a maximum number of issues per column and prevent to exceed this number with a bot (should be equal to number of people + number of people/2)

Same, you could get a message to be warned when the maximum number of issues is reached. It could be a message on Slack or a mail. What do you prefer?

eternoendless commented 4 years ago

I think Prestonbot and Issuebot have two distinct purposes.

Issuebot (based on the probot framework) should be used to automate our issue/PR workflow. Nothing more.

Prestonbot (based on carsonbot) can be used to automate other interactions with contributors, like greeting them when they create their first PR, verifying if wordings exist, etc... it's closer to the a review automate.

Whenever we need new behavior, we should think if it makes sense to put it in one bot or the other. Some features (especially the ones we might want to turn on and off) may justify building a bot of its own, especially if it's based on probot, since it can be published and reused by other projects.

sowbiba commented 4 years ago

@devs can be interesting https://github.com/probot/scheduler

LouiseBonnard commented 4 years ago

Hi there, any news?

colinegin commented 4 years ago

Hello @LouiseBonnard ,

sorry for my late reply. I'm all for your recommendations !

Would that be ok for you two ?

LouiseBonnard commented 4 years ago

Hi @sowbiba, @atomiix, and @eternoendless, everything is ready to be developed! Do you think that it could be done in the next few days? At least the bot to collect contributors' feedback, it is the most important. :-)

atomiix commented 4 years ago

Hi @LouiseBonnard, RN I'm working on the improvement of the wording feature for prestonbot but contributors' feedback is coming right after ;)

eternoendless commented 4 years ago

Regarding the issue message, I'm thinking on something along these lines:

I noticed that your Pull Request is not linked to an issue.

It's generally a good idea to open an issue before submitting a Pull Request: it allows maintainers to verify that the problem is effectively due to a defect in the code that hasn't already been fixed. It also encourages discussion about the best possible solution before a single line of code has been written. Additionally, it can also lead the Product team to mark that issue as a priority, which will further attract the maintainers' attention.

LouiseBonnard commented 4 years ago

Well, it is a bit long to be included in the already existing PrestonBot comment. I suggest shortening it to have it included as one of the bullet points and clarified in a note at the end.

Your pull request does not seem to fix any issue, you might consider creating one, cf. the note.

Note: it is a good practice to open an issue before submitting a pull request as it allows maintainers to verify that the problem is effectively due to a defect in the code and has not already been fixed. It also encourages discussion about the best possible solution before a single line of code has been written. Additionally, it leads the core product team to mark that issue as a priority.

Otherwise we can just create another PrestonBot comment that would fully apply to this topic.

Feel free to have a look at the other automatized comments so that we can be all aligned before adding this feature to the bots. ;-)

colinegin commented 4 years ago

I like the note, the only thing is that it only applies to bugs ("problem", "defect") while it's also key for improvements & features. Wdyt ? One option would be to have different messages according to the PR type, but that may be a bit heavy.

LouiseBonnard commented 4 years ago

Right, it might not be clear enough. I thus suggest the following wording:

Your pull request does not seem to fix any issue, you might consider creating one, cf. the note.

Note: it is a good practice to open an issue before submitting a pull request as it allows maintainers to verify that the bug is effectively due to a defect in the code (and has not already been fixed) or to discuss the improvement/feature suggestion before writing a single line of code. Additionally, it leads the core product team to mark that issue as a priority.

@eternoendless, is it okay for you as well?

eternoendless commented 4 years ago

Your pull request does not seem to fix any issue, you might consider creating one (see note below).

Note: it is a good practice to open an issue before submitting a Pull Request as it allows maintainers to verify that the bug is effectively due to a defect in the code (and that it hasn't already been fixed) and to discuss the improvement/feature suggestion before a single line of code is written. Additionally, it may lead the Core Product team to mark that issue as a priority, further attracting the maintainer's attention.

I re added the final phrase ("further attracting the maintainer's attention") to explain why should someone care about the Product team making an issue a priority.

ttoine commented 3 years ago

Sorry in the current implementation, this is like spam, plus there is no information about how the collected information is accessible, so it might even be not RGPD compliant at all (Typeform is connected to our CRM, this is an information that people must be aware of).

I just can't image how you would hate to work on GitHub or on open source projects if any time you contribute to any project you would get this kind of request in the pull request discussion from many companies. Can anyone imagine what would happen if Redhat would send that kind of content to the Linux Kernel Mailing List?

So please disable this bot for the moment, and let's think about how to implement it a better way. In this current version, it would not be possible to even put that on prestashopcorp's repository because of RGPD.

LouiseBonnard commented 3 years ago

Typeform is connected to our CRM, this is an information that people must be aware of.

Slight difference: Typeform can be connected to our CRM, this is not in any way a default state and clearly not the case for this survey.

matthieu-rolland commented 3 years ago

the tasks that are undone should be turned into dedicated issues