Skip to content

Conversation

@commandodev
Copy link
Contributor

No description provided.

@commandodev
Copy link
Contributor Author

See also #2

processes are owned by the developers themselves and everyone should feel
empowered to suggest improvements on an ongoing basis as we figure out what
works and what could be improved. The aim of this document is the set out the
basics and ensure that there's a common understanding of all the moving parts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "set out the basics for "?

processes are owned by the developers themselves and everyone should feel
empowered to suggest improvements on an ongoing basis as we figure out what
works and what could be improved. The aim of this document is the set out the
basics and ensure that there's a common understanding of all the moving parts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should be more precise about which "moving parts" we want to help understanding. For instance, is tracking of (teams and tasks) dependencies among these "moving parts"?

empowered to suggest improvements on an ongoing basis as we figure out what
works and what could be improved. The aim of this document is the set out the
basics and ensure that there's a common understanding of all the moving parts.
Teams that require should overlay this document with any tweaks or changes that
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean that there will be multiple custom flavors of this document?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No - more that there will be conceptual overlays for different teams. So a new joiner can be told: "We use this process, with the following changes/additions ..."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So then, there will be different flavors of the process described in this document :)

to the main process.


Github has in built tooling for developer centric project management. We can
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know which information management wants? Do they care about having some issues and boards in YouTrack, and some boards and issues in Github? I'm all in for "developer centric" but I don't want this feature biting us in the back ;)

Copy link
Contributor Author

@commandodev commandodev Oct 8, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The key takeaway from the process the @vincenthz et al have built is having a well defined line where the software process starts. Below this line external parties from the software dev team shouldn't need to know too much. The delineation point I'm aiming for here is the milestone. Project managers shouldn't care too much about issues/PRs - their interest should stop at "how complete is this milestone" and what is its due date.

We do need to capture this in the document somewhere - but I want to avoid too much of how things are done now seeping into a set of documents for how we do things in future if that makes sense?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below this line external parties from the software dev team should need to know too much.

Should or shouldn't?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Project managers shouldn't care too much about issues/PRs - their interest should stop at "how complete is this milestone" and what is its due date.

I asked this, because I was asked by managers "which issues do you worked on" (which sounded a bit like micro-managing, but anyway). However does this assumes that management will look at our milestones in Github? I wouldn't like having to enter this information in some other system, since it is error prone and duplicates effort.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do need to capture this in the document somewhere - but I want to avoid too much of how things are done now seeping into a set of documents for how we do things in future if that makes sense?

Sure! That makes sense. I guess we want a very short document describing our super lightweight process. However we might need to mention somewhere (like in an appendix or separate document) what are the requirements for a development process and why, so that we have some references in case somebody asks why the current methods are not good enough.

But of course, we don't have to do this in this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was shouldn't I've changed it.

The intention here is that PMs should be able to get an accurate idea where things are from the milestones and really shouldn't care about which issues have been worked on (or in the case of the less technical PM even what those issues really mean)

We have a pretty large development team spread across several teams. These teams
have somewhat different focuses, from formal methods engineers developing proofs
and executable specs, to more implementation focused teams. We also use several
different programming languages now.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is having different PL's a problem? Why? And if so, how does the github process can help us?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it should be a problem. I'll pad this out with a note that the process should unify across different programming cultures where possible. I.E. You should be able to come here as a programmer from language X and not have to make too huge a jump from how you've been used to doing things.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, that makes sense! Maybe this (universal?) should be another of the desirable characteristics of our dev process (together with lightweight and overseeable).

 * Added a principles section and some more depth to the motivation section
Copy link
Contributor

@dnadales dnadales left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks for putting this together!

@dnadales
Copy link
Contributor

dnadales commented Oct 9, 2018

BTW, should we use squash and merge by default?

@commandodev commandodev merged commit 34cf6e8 into master Oct 9, 2018
@commandodev commandodev deleted the motivation branch October 9, 2018 13:21
@commandodev commandodev restored the motivation branch October 16, 2018 08:58
@commandodev commandodev deleted the motivation branch October 16, 2018 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants