[RFC] project milestones
I'd like to discuss setting some milestones for this project so here a first draft, what do you think @fain182 @AlessandroMinoccheri @pfazzi?
What is a Milestone
A milestone describes a high level goal for the project, useful to determine the project direction and what the current focus should be. To give you and idea: "improve cli output", "expand the set of rules", "improve parsing" could be milestones.
Why Milestone are useful
As of now we added features based on user's suggestions and what we needed in our personal projects. While this works I'd find useful make the project direction explicit and (more or less) how. I think that could also be beneficial for externals contributors
Working with Milestones
Only one milestone should be the focus at any given moment. Work can happen outside a milestone, but it should be about bug fixing, performance regression fixes and so on. No new feature should be implemented if they are not aligned with the current milestone.
Milestones have a due date, decided for every milestone, that should be treated as a soft deadline: when it's past the team should decide if the work is good enough and the milestone can be closed or decide a new due date
For each milestone there is an initial list of prioritised tasks. Further tasks can be added whenever needed, if they fit the milestone goal. The list should be taken as a strong suggestion on what should be implemented next.
Work such as bugfixing can obviously happen and should be prioritized above adding new features
Define an initial set of milestone
If the idea of organising work in that way is accepted, a further discussion will define the initial set of milestones
The idea sounds good to me. Anyway, I am wondering if, at the current stage, the project is mature enough to allow us to set strict goals.
I think that it's a good idea and we can see strict goals in my opinion. For example: in the first release we can concentrate on rules for dependencies instead of rules for methods, or something like that.
It seems a great idea to me :top: To decide the high level goals maybe we could prepare some hypotesis in async and then discuss them in a meeting?