Re: [DISCUSS] Design Documents

2015-10-22 Thread Julian Hyde
Zelaine,

Welcome to the Drill community! It was great working with you a few years ago 
(I think some of your contributions are still present in the code base that 
evolved into Calcite) and look forward to working together again.

Julian



Re: [DISCUSS] Design Documents

2015-10-21 Thread Zelaine Fong
I've been quietly lurking on this thread as a n00b to the Drill community
:).  I like the approach that's been proposed, and agree that setting an
example for others to follow will be a great motivating factor for others
to follow suit.  On the MapR end, I'll work with the team to "encourage"
more design docs.

-- Zelaine

On Tue, Oct 20, 2015 at 2:49 PM, Parth Chandra  wrote:

> I think that's a reasonable approach. Personally, I don't think a mandated
> policy works everywhere and generally slows things down in a fast moving
> project, so this is probably the best way forward.
>
> Perhaps we can begin with some of the pending items that Jacques brought up
> earlier. :)
>
> Parth
>
>
>
> On Tue, Oct 20, 2015 at 2:39 PM, Jacques Nadeau 
> wrote:
>
> > I hope everybody agrees that we need more design documents and more
> design
> > document review. Given that contributions are on a voluntary basis, it is
> > my perspective that we change the current behavior by modeling and
> > rewarding the preferred behavior (as opposed to establishing top-down
> > mandates). To me, that means two things:
> >
> >- Start posting more & better design documents (model the behavior)
> >- Start providing more/better feedback on what other people propose
> and
> >share (reward that behavior)
> >
> > I'll work with the contributors I know to make progress on each of
> these. I
> > would hope that others would also try to shape this behavior with
> > contributors they know.
> >
> > When a number of the members of the community start modeling both of
> these
> > behaviors, I would support establishing a formal policy around mandating
> > these behaviors.
> >
> >
> > --
> > Jacques Nadeau
> > CTO and Co-Founder, Dremio
> >
> > On Tue, Oct 20, 2015 at 10:22 AM, Jason Altekruse <
> > altekruseja...@gmail.com>
> > wrote:
> >
> > > Ted,
> > >
> > > One small point I would make on the relationship between the design
> docs
> > > and the current markdown based user level docs. I think that these
> > designs
> > > belong in both the source as well as the website. Currently due to how
> > > github has the "pages" feature set up, we have the markdown in the docs
> > > stored in a branch with a completely separate root from the regular
> > source.
> > >
> > > I don't see it as a major issue, I just think we should pick one of the
> > > sources as the location that PRs are expected to be opened against and
> > copy
> > > them over to the other tree after the review is complete and it has
> been
> > > checked in.
> > >
> > > Overall I think it makes a lot of sense to put comments on a design doc
> > in
> > > a pull request. The only downside I see is managing diagrams and
> things,
> > > which would be easier to handle in google docs. I think allowing
> binaries
> > > in the repo (which can be linked from the markdown) for these resources
> > > could serve the purpose of exposing them and managing different
> versions
> > of
> > > the diagrams throughout a review period.
> > >
> > > On Mon, Oct 19, 2015 at 11:31 PM, Aman Sinha 
> > wrote:
> > >
> > > > I feel like there are 2 broad issues:
> > > >  - there should be a targeted group of people for a design review of
> a
> > > > particular feature or enhancement.  The target group should be based
> on
> > > > expertise in a component.  After all, this is what one would do in a
> > > > physical in-person design review - we would invite a subset of
> > developers
> > > > who have the relevant expertise.  Just as we assign specific
> > > > code-reviewers, we could assign a 'group of design-reviewers'.   This
> > > will
> > > > remove ambiguity about who are the expected set of people to respond.
> > I
> > > > think if I were to start asking naive questions about a component
> > which I
> > > > really did not know much about it would not be the most efficient use
> > of
> > > > everyone's time.
> > > >
> > > >  - it seems to me the lack of response on reviews that are
> outstanding
> > > > should not necessarily influence the general expectation of writing
> the
> > > > design for features/mini features.  It always seems to help in
> flushing
> > > out
> > > > both the internal and externally visible aspects of the feature.
> > Related
> > > > to this is the question 'what type of review or response to a review
> > > > comment is considered adequate' ? The ideal goal is to get to a
> comfort
> > > > level of an interactive discussion where one can go back-and-forth
> > > > especially on some core topics.  However, this is not easily
> achievable
> > > in
> > > > a virtual community and some compromise is often needed to make
> > progress.
> > > >
> > > > Aman
> > > >
> > > >
> > > >
> > > > On Mon, Oct 19, 2015 at 11:54 AM, Parth Chandra 
> > > wrote:
> > > >
> > > > > Agreed, that we need to have a better response from the dev
> community
> > > > when
> > > > > a proposal is put forward but the absence of a response does not
> > imply
> > > > that
> > > > > we need not write any design 

Re: [DISCUSS] Design Documents

2015-10-20 Thread Parth Chandra
I think that's a reasonable approach. Personally, I don't think a mandated
policy works everywhere and generally slows things down in a fast moving
project, so this is probably the best way forward.

Perhaps we can begin with some of the pending items that Jacques brought up
earlier. :)

Parth



On Tue, Oct 20, 2015 at 2:39 PM, Jacques Nadeau  wrote:

> I hope everybody agrees that we need more design documents and more design
> document review. Given that contributions are on a voluntary basis, it is
> my perspective that we change the current behavior by modeling and
> rewarding the preferred behavior (as opposed to establishing top-down
> mandates). To me, that means two things:
>
>- Start posting more & better design documents (model the behavior)
>- Start providing more/better feedback on what other people propose and
>share (reward that behavior)
>
> I'll work with the contributors I know to make progress on each of these. I
> would hope that others would also try to shape this behavior with
> contributors they know.
>
> When a number of the members of the community start modeling both of these
> behaviors, I would support establishing a formal policy around mandating
> these behaviors.
>
>
> --
> Jacques Nadeau
> CTO and Co-Founder, Dremio
>
> On Tue, Oct 20, 2015 at 10:22 AM, Jason Altekruse <
> altekruseja...@gmail.com>
> wrote:
>
> > Ted,
> >
> > One small point I would make on the relationship between the design docs
> > and the current markdown based user level docs. I think that these
> designs
> > belong in both the source as well as the website. Currently due to how
> > github has the "pages" feature set up, we have the markdown in the docs
> > stored in a branch with a completely separate root from the regular
> source.
> >
> > I don't see it as a major issue, I just think we should pick one of the
> > sources as the location that PRs are expected to be opened against and
> copy
> > them over to the other tree after the review is complete and it has been
> > checked in.
> >
> > Overall I think it makes a lot of sense to put comments on a design doc
> in
> > a pull request. The only downside I see is managing diagrams and things,
> > which would be easier to handle in google docs. I think allowing binaries
> > in the repo (which can be linked from the markdown) for these resources
> > could serve the purpose of exposing them and managing different versions
> of
> > the diagrams throughout a review period.
> >
> > On Mon, Oct 19, 2015 at 11:31 PM, Aman Sinha 
> wrote:
> >
> > > I feel like there are 2 broad issues:
> > >  - there should be a targeted group of people for a design review of a
> > > particular feature or enhancement.  The target group should be based on
> > > expertise in a component.  After all, this is what one would do in a
> > > physical in-person design review - we would invite a subset of
> developers
> > > who have the relevant expertise.  Just as we assign specific
> > > code-reviewers, we could assign a 'group of design-reviewers'.   This
> > will
> > > remove ambiguity about who are the expected set of people to respond.
> I
> > > think if I were to start asking naive questions about a component
> which I
> > > really did not know much about it would not be the most efficient use
> of
> > > everyone's time.
> > >
> > >  - it seems to me the lack of response on reviews that are outstanding
> > > should not necessarily influence the general expectation of writing the
> > > design for features/mini features.  It always seems to help in flushing
> > out
> > > both the internal and externally visible aspects of the feature.
> Related
> > > to this is the question 'what type of review or response to a review
> > > comment is considered adequate' ? The ideal goal is to get to a comfort
> > > level of an interactive discussion where one can go back-and-forth
> > > especially on some core topics.  However, this is not easily achievable
> > in
> > > a virtual community and some compromise is often needed to make
> progress.
> > >
> > > Aman
> > >
> > >
> > >
> > > On Mon, Oct 19, 2015 at 11:54 AM, Parth Chandra 
> > wrote:
> > >
> > > > Agreed, that we need to have a better response from the dev community
> > > when
> > > > a proposal is put forward but the absence of a response does not
> imply
> > > that
> > > > we need not write any design down. The document has many consumers
> down
> > > the
> > > > road (new contributors, documentation, and even end users who want to
> > > > understand the internals). More immediately the design document will
> > help
> > > > code reviews because the developer's intent is explicitly stated.
> And,
> > > of
> > > > course, without the design document, there can never be any comment
> or
> > > > community participation. So even if only a few people comment, we are
> > > still
> > > > much better off.
> > > >
> > > > On a more philosophical note, I believe that the ability to write a
> > good
> > > > design document translates di

Re: [DISCUSS] Design Documents

2015-10-20 Thread Jacques Nadeau
I hope everybody agrees that we need more design documents and more design
document review. Given that contributions are on a voluntary basis, it is
my perspective that we change the current behavior by modeling and
rewarding the preferred behavior (as opposed to establishing top-down
mandates). To me, that means two things:

   - Start posting more & better design documents (model the behavior)
   - Start providing more/better feedback on what other people propose and
   share (reward that behavior)

I'll work with the contributors I know to make progress on each of these. I
would hope that others would also try to shape this behavior with
contributors they know.

When a number of the members of the community start modeling both of these
behaviors, I would support establishing a formal policy around mandating
these behaviors.


--
Jacques Nadeau
CTO and Co-Founder, Dremio

On Tue, Oct 20, 2015 at 10:22 AM, Jason Altekruse 
wrote:

> Ted,
>
> One small point I would make on the relationship between the design docs
> and the current markdown based user level docs. I think that these designs
> belong in both the source as well as the website. Currently due to how
> github has the "pages" feature set up, we have the markdown in the docs
> stored in a branch with a completely separate root from the regular source.
>
> I don't see it as a major issue, I just think we should pick one of the
> sources as the location that PRs are expected to be opened against and copy
> them over to the other tree after the review is complete and it has been
> checked in.
>
> Overall I think it makes a lot of sense to put comments on a design doc in
> a pull request. The only downside I see is managing diagrams and things,
> which would be easier to handle in google docs. I think allowing binaries
> in the repo (which can be linked from the markdown) for these resources
> could serve the purpose of exposing them and managing different versions of
> the diagrams throughout a review period.
>
> On Mon, Oct 19, 2015 at 11:31 PM, Aman Sinha  wrote:
>
> > I feel like there are 2 broad issues:
> >  - there should be a targeted group of people for a design review of a
> > particular feature or enhancement.  The target group should be based on
> > expertise in a component.  After all, this is what one would do in a
> > physical in-person design review - we would invite a subset of developers
> > who have the relevant expertise.  Just as we assign specific
> > code-reviewers, we could assign a 'group of design-reviewers'.   This
> will
> > remove ambiguity about who are the expected set of people to respond.  I
> > think if I were to start asking naive questions about a component which I
> > really did not know much about it would not be the most efficient use of
> > everyone's time.
> >
> >  - it seems to me the lack of response on reviews that are outstanding
> > should not necessarily influence the general expectation of writing the
> > design for features/mini features.  It always seems to help in flushing
> out
> > both the internal and externally visible aspects of the feature.  Related
> > to this is the question 'what type of review or response to a review
> > comment is considered adequate' ? The ideal goal is to get to a comfort
> > level of an interactive discussion where one can go back-and-forth
> > especially on some core topics.  However, this is not easily achievable
> in
> > a virtual community and some compromise is often needed to make progress.
> >
> > Aman
> >
> >
> >
> > On Mon, Oct 19, 2015 at 11:54 AM, Parth Chandra 
> wrote:
> >
> > > Agreed, that we need to have a better response from the dev community
> > when
> > > a proposal is put forward but the absence of a response does not imply
> > that
> > > we need not write any design down. The document has many consumers down
> > the
> > > road (new contributors, documentation, and even end users who want to
> > > understand the internals). More immediately the design document will
> help
> > > code reviews because the developer's intent is explicitly stated.  And,
> > of
> > > course, without the design document, there can never be any comment or
> > > community participation. So even if only a few people comment, we are
> > still
> > > much better off.
> > >
> > > On a more philosophical note, I believe that the ability to write a
> good
> > > design document translates directly into the ability to write good
> code.
> > If
> > > you cannot express your design clearly, the design itself is probably
> not
> > > clear, and the implementation will be even less so. (I'm not religious
> > > about this, I mention it only to explain where I'm coming from).
> > >
> > > I did propose that we need to have a design discussion limited by time.
> > > Very often, a potential reviewer will put off a comment for later when
> > > (s)he gets more time and then, of course, never gets around to it.
> Maybe
> > > having a limit will get some people to respond in a more timely
> fashion

Re: [DISCUSS] Design Documents

2015-10-20 Thread Jason Altekruse
Ted,

One small point I would make on the relationship between the design docs
and the current markdown based user level docs. I think that these designs
belong in both the source as well as the website. Currently due to how
github has the "pages" feature set up, we have the markdown in the docs
stored in a branch with a completely separate root from the regular source.

I don't see it as a major issue, I just think we should pick one of the
sources as the location that PRs are expected to be opened against and copy
them over to the other tree after the review is complete and it has been
checked in.

Overall I think it makes a lot of sense to put comments on a design doc in
a pull request. The only downside I see is managing diagrams and things,
which would be easier to handle in google docs. I think allowing binaries
in the repo (which can be linked from the markdown) for these resources
could serve the purpose of exposing them and managing different versions of
the diagrams throughout a review period.

On Mon, Oct 19, 2015 at 11:31 PM, Aman Sinha  wrote:

> I feel like there are 2 broad issues:
>  - there should be a targeted group of people for a design review of a
> particular feature or enhancement.  The target group should be based on
> expertise in a component.  After all, this is what one would do in a
> physical in-person design review - we would invite a subset of developers
> who have the relevant expertise.  Just as we assign specific
> code-reviewers, we could assign a 'group of design-reviewers'.   This will
> remove ambiguity about who are the expected set of people to respond.  I
> think if I were to start asking naive questions about a component which I
> really did not know much about it would not be the most efficient use of
> everyone's time.
>
>  - it seems to me the lack of response on reviews that are outstanding
> should not necessarily influence the general expectation of writing the
> design for features/mini features.  It always seems to help in flushing out
> both the internal and externally visible aspects of the feature.  Related
> to this is the question 'what type of review or response to a review
> comment is considered adequate' ? The ideal goal is to get to a comfort
> level of an interactive discussion where one can go back-and-forth
> especially on some core topics.  However, this is not easily achievable in
> a virtual community and some compromise is often needed to make progress.
>
> Aman
>
>
>
> On Mon, Oct 19, 2015 at 11:54 AM, Parth Chandra  wrote:
>
> > Agreed, that we need to have a better response from the dev community
> when
> > a proposal is put forward but the absence of a response does not imply
> that
> > we need not write any design down. The document has many consumers down
> the
> > road (new contributors, documentation, and even end users who want to
> > understand the internals). More immediately the design document will help
> > code reviews because the developer's intent is explicitly stated.  And,
> of
> > course, without the design document, there can never be any comment or
> > community participation. So even if only a few people comment, we are
> still
> > much better off.
> >
> > On a more philosophical note, I believe that the ability to write a good
> > design document translates directly into the ability to write good code.
> If
> > you cannot express your design clearly, the design itself is probably not
> > clear, and the implementation will be even less so. (I'm not religious
> > about this, I mention it only to explain where I'm coming from).
> >
> > I did propose that we need to have a design discussion limited by time.
> > Very often, a potential reviewer will put off a comment for later when
> > (s)he gets more time and then, of course, never gets around to it. Maybe
> > having a limit will get some people to respond in a more timely fashion.
> > This is the same as having a 'public comment' period; if no one responds,
> > then the design, as proposed, stands.
> >
> > I have a few more observations, especially about using JIRAs.  I feel a
> > shared document is probably the best way to comment on designs - I find
> > JIRAs are hard to carry out a discussion in and looking for a specific
> > design some months down the road is a little bit like [1] .  Secondly,
> > there are JIRAs  which have a fair amount of detail, especially about the
> > implementation, but implementation details may not be sufficient as a
> > design document.  Finally, I sometimes see that the pull/review request
> > follows immediately after the creation of the JIRA and/or after a
> comment.
> > This really means there is no actual discussion before implementation
> and I
> > think this is best avoided.
> >
> > These are general comments on what I feel is the right way forward. I
> would
> > rather not go into specific instances until we are all in general
> > agreement. I would also venture to suggest that any developer waiting for
> > comments should use the 

Re: [DISCUSS] Design Documents

2015-10-19 Thread Aman Sinha
I feel like there are 2 broad issues:
 - there should be a targeted group of people for a design review of a
particular feature or enhancement.  The target group should be based on
expertise in a component.  After all, this is what one would do in a
physical in-person design review - we would invite a subset of developers
who have the relevant expertise.  Just as we assign specific
code-reviewers, we could assign a 'group of design-reviewers'.   This will
remove ambiguity about who are the expected set of people to respond.  I
think if I were to start asking naive questions about a component which I
really did not know much about it would not be the most efficient use of
everyone's time.

 - it seems to me the lack of response on reviews that are outstanding
should not necessarily influence the general expectation of writing the
design for features/mini features.  It always seems to help in flushing out
both the internal and externally visible aspects of the feature.  Related
to this is the question 'what type of review or response to a review
comment is considered adequate' ? The ideal goal is to get to a comfort
level of an interactive discussion where one can go back-and-forth
especially on some core topics.  However, this is not easily achievable in
a virtual community and some compromise is often needed to make progress.

Aman



On Mon, Oct 19, 2015 at 11:54 AM, Parth Chandra  wrote:

> Agreed, that we need to have a better response from the dev community when
> a proposal is put forward but the absence of a response does not imply that
> we need not write any design down. The document has many consumers down the
> road (new contributors, documentation, and even end users who want to
> understand the internals). More immediately the design document will help
> code reviews because the developer's intent is explicitly stated.  And, of
> course, without the design document, there can never be any comment or
> community participation. So even if only a few people comment, we are still
> much better off.
>
> On a more philosophical note, I believe that the ability to write a good
> design document translates directly into the ability to write good code. If
> you cannot express your design clearly, the design itself is probably not
> clear, and the implementation will be even less so. (I'm not religious
> about this, I mention it only to explain where I'm coming from).
>
> I did propose that we need to have a design discussion limited by time.
> Very often, a potential reviewer will put off a comment for later when
> (s)he gets more time and then, of course, never gets around to it. Maybe
> having a limit will get some people to respond in a more timely fashion.
> This is the same as having a 'public comment' period; if no one responds,
> then the design, as proposed, stands.
>
> I have a few more observations, especially about using JIRAs.  I feel a
> shared document is probably the best way to comment on designs - I find
> JIRAs are hard to carry out a discussion in and looking for a specific
> design some months down the road is a little bit like [1] .  Secondly,
> there are JIRAs  which have a fair amount of detail, especially about the
> implementation, but implementation details may not be sufficient as a
> design document.  Finally, I sometimes see that the pull/review request
> follows immediately after the creation of the JIRA and/or after a comment.
> This really means there is no actual discussion before implementation and I
> think this is best avoided.
>
> These are general comments on what I feel is the right way forward. I would
> rather not go into specific instances until we are all in general
> agreement. I would also venture to suggest that any developer waiting for
> comments should use the hangouts to ask committers and other members to
> comment and drive the review forward.
>
> Are there any other thoughts out there?
>
> Parth
>
> [1] http://www.goodreads.com/quotes/tag/bypass
>
>
> On Sun, Oct 18, 2015 at 4:44 PM, Jacques Nadeau 
> wrote:
>
> > Parth,
> >
> > Thanks for bringing this up. We definitely need to do a better job of
> > discussing development decisions. I think whether this is done as a set
> of
> > descriptions and comments on JIRA or a formal doc on Google is less
> > important (and I wouldn't be inclined to enforce one over the other).
> >
> > That being said, I think there is something else that limits the success
> of
> > such an effort. We first must ask: how do we get more people responding
> and
> > providing feedback among the things people have already posted. I know
> I've
> > experienced silence numerous times when asking for feedback and so have
> > others. Some recent examples I've seen in the community:
> >
> >  - DRILL-3738 has received very little to no feedback despite providing
> an
> > initial design document
> >  - DRILL-3229 has one general response (ask for more detail) from you
> with
> > a follow-up from Steven but no additional feedback on the 

Re: [DISCUSS] Design Documents

2015-10-19 Thread Parth Chandra
Agreed, that we need to have a better response from the dev community when
a proposal is put forward but the absence of a response does not imply that
we need not write any design down. The document has many consumers down the
road (new contributors, documentation, and even end users who want to
understand the internals). More immediately the design document will help
code reviews because the developer's intent is explicitly stated.  And, of
course, without the design document, there can never be any comment or
community participation. So even if only a few people comment, we are still
much better off.

On a more philosophical note, I believe that the ability to write a good
design document translates directly into the ability to write good code. If
you cannot express your design clearly, the design itself is probably not
clear, and the implementation will be even less so. (I'm not religious
about this, I mention it only to explain where I'm coming from).

I did propose that we need to have a design discussion limited by time.
Very often, a potential reviewer will put off a comment for later when
(s)he gets more time and then, of course, never gets around to it. Maybe
having a limit will get some people to respond in a more timely fashion.
This is the same as having a 'public comment' period; if no one responds,
then the design, as proposed, stands.

I have a few more observations, especially about using JIRAs.  I feel a
shared document is probably the best way to comment on designs - I find
JIRAs are hard to carry out a discussion in and looking for a specific
design some months down the road is a little bit like [1] .  Secondly,
there are JIRAs  which have a fair amount of detail, especially about the
implementation, but implementation details may not be sufficient as a
design document.  Finally, I sometimes see that the pull/review request
follows immediately after the creation of the JIRA and/or after a comment.
This really means there is no actual discussion before implementation and I
think this is best avoided.

These are general comments on what I feel is the right way forward. I would
rather not go into specific instances until we are all in general
agreement. I would also venture to suggest that any developer waiting for
comments should use the hangouts to ask committers and other members to
comment and drive the review forward.

Are there any other thoughts out there?

Parth

[1] http://www.goodreads.com/quotes/tag/bypass


On Sun, Oct 18, 2015 at 4:44 PM, Jacques Nadeau  wrote:

> Parth,
>
> Thanks for bringing this up. We definitely need to do a better job of
> discussing development decisions. I think whether this is done as a set of
> descriptions and comments on JIRA or a formal doc on Google is less
> important (and I wouldn't be inclined to enforce one over the other).
>
> That being said, I think there is something else that limits the success of
> such an effort. We first must ask: how do we get more people responding and
> providing feedback among the things people have already posted. I know I've
> experienced silence numerous times when asking for feedback and so have
> others. Some recent examples I've seen in the community:
>
>  - DRILL-3738 has received very little to no feedback despite providing an
> initial design document
>  - DRILL-3229 has one general response (ask for more detail) from you with
> a follow-up from Steven but no additional feedback on the actual proposal
>
> So I put it back to you and the general list, how do we get people to
> provide more feedback on all contributions and proposals? I think it goes
> beyond designs. More issues should be opened with better descriptions and
> proposals around why one would do something. When the basic outline has
> consensus and feedback, people can move to more thorough designs. Why
> haven't we seen response on these issues?
>
> I can't see a requirement of reviewed design docs being enforced until we
> start to seeing people providing feedback on feature proposals and existing
> (albeit thin) design documents. So +1 long term but -1 until people start
> to respond and provide feedback on the outstanding items. Contributors need
> to perceive value in presenting a design doc. Let's get the WIIFM right so
> that developer incentives are aligned.
>
> Jacques
>
>
>
> --
> Jacques Nadeau
> CTO and Co-Founder, Dremio
>
> On Fri, Oct 16, 2015 at 10:21 AM, Parth Chandra  wrote:
>
> > Hi guys,
> >
> > Now that 1.2 is out I wanted to bring up the exciting topic of design
> > documents for Drill. As the project gets more contributors, we definitely
> > need to start documenting our designs and also allow for a more
> substantial
> > review process. In particular, we need to make sure that there is
> > sufficient time for comment as well as a time limit for comments so that
> > developers are not left stranded. It is understood that committers should
> > ensure they spend enough time in reviewing designs.
> >
> > I can see some subs

Re: [DISCUSS] Design Documents

2015-10-19 Thread Ted Dunning
On Mon, Oct 19, 2015 at 2:17 AM,  wrote:

> When working internally here, we write our design docs upfront using
> markdown.
> ...
> I can't say how appropriate this is for an open-source effort.
>

Well, the whole Drill web-site is done in Mark-down.

Design documents could easily be done as pull requests against that and
commenting would be easy.


Re: [DISCUSS] Design Documents

2015-10-19 Thread Parth Chandra
On Sun, Oct 18, 2015 at 4:44 PM, Jacques Nadeau  wrote:

> Parth,
>
> Thanks for bringing this up. We definitely need to do a better job of
> discussing development decisions. I think whether this is done as a set of
> descriptions and comments on JIRA or a formal doc on Google is less
> important (and I wouldn't be inclined to enforce one over the other).
>
> That being said, I think there is something else that limits the success of
> such an effort. We first must ask: how do we get more people responding and
> providing feedback among the things people have already posted. I know I've
> experienced silence numerous times when asking for feedback and so have
> others. Some recent examples I've seen in the community:
>
>  - DRILL-3738 has received very little to no feedback despite providing an
> initial design document
>  - DRILL-3229 has one general response (ask for more detail) from you with
> a follow-up from Steven but no additional feedback on the actual proposal
>
> So I put it back to you and the general list, how do we get people to
> provide more feedback on all contributions and proposals? I think it goes
> beyond designs. More issues should be opened with better descriptions and
> proposals around why one would do something. When the basic outline has
> consensus and feedback, people can move to more thorough designs. Why
> haven't we seen response on these issues?
>
> I can't see a requirement of reviewed design docs being enforced until we
> start to seeing people providing feedback on feature proposals and existing
> (albeit thin) design documents. So +1 long term but -1 until people start
> to respond and provide feedback on the outstanding items. Contributors need
> to perceive value in presenting a design doc. Let's get the WIIFM right so
> that developer incentives are aligned.
>
> Jacques
>
>
>
> --
> Jacques Nadeau
> CTO and Co-Founder, Dremio
>
> On Fri, Oct 16, 2015 at 10:21 AM, Parth Chandra  wrote:
>
> > Hi guys,
> >
> > Now that 1.2 is out I wanted to bring up the exciting topic of design
> > documents for Drill. As the project gets more contributors, we definitely
> > need to start documenting our designs and also allow for a more
> substantial
> > review process. In particular, we need to make sure that there is
> > sufficient time for comment as well as a time limit for comments so that
> > developers are not left stranded. It is understood that committers should
> > ensure they spend enough time in reviewing designs.
> >
> > I can see some substantial improvements in the works (some may even have
> > pull requests for initial work) and I think that this is a good time to
> > make sure that the design is done and understood by all before we get too
> > far ahead with the implementation.
> >
> > [1] is an example from Spark, though that might be asking for a lot.
> >
> > [2] is an example from Drill - Hash Aggregation in Drill - This is an
> ideal
> > design document. It could be improved even further perhaps by adding some
> > implementation level details (for example parameters that could be used
> to
> > tune Hash aggregation) that could aid QA/documentation.
> >
> > What do people think? Can we start enforcing the requirement to have
> > reviewed design docs before submitting pull requests for *advanced*
> > features?
> >
> > Parth
> >
> > [1] http://people.csail.mit.edu/matei/papers/2012/nsdi_spark.pdf
> > [2]
> > https://issues.apache.org/jira/secure/attachment/12622804/DrillAggrs.pdf
> >
>


RE: [DISCUSS] Design Documents

2015-10-19 Thread Michael.FULKE
Hi - this is always a challenge, when people just love writing code.

When working internally here, we write our design docs upfront using markdown.
Then we raise a pull request in Stash into the design docs folder.
At this point the team comments on the PR, just as they would on a code change.
The doc gets tweaked accordingly, then people start coding on the feature 
branch, where the first merged commit contains the design doc, so the approval 
cycle kicks in.

I think there's something about the social aspects of the review comments that 
get people more engaged.
Also, the review and authoring tools are those the devs are most comfortable 
working with, so reduced friction.
I can't say how appropriate this is for an open-source effort.

Regards,
Mike

-Original Message-
From: Jacques Nadeau [mailto:jacq...@dremio.com] 
Sent: 19 October 2015 00:44
To: dev@drill.apache.org
Subject: Re: [DISCUSS] Design Documents

Parth,

Thanks for bringing this up. We definitely need to do a better job of 
discussing development decisions. I think whether this is done as a set of 
descriptions and comments on JIRA or a formal doc on Google is less important 
(and I wouldn't be inclined to enforce one over the other).

That being said, I think there is something else that limits the success of 
such an effort. We first must ask: how do we get more people responding and 
providing feedback among the things people have already posted. I know I've 
experienced silence numerous times when asking for feedback and so have others. 
Some recent examples I've seen in the community:

 - DRILL-3738 has received very little to no feedback despite providing an 
initial design document
 - DRILL-3229 has one general response (ask for more detail) from you with a 
follow-up from Steven but no additional feedback on the actual proposal

So I put it back to you and the general list, how do we get people to provide 
more feedback on all contributions and proposals? I think it goes beyond 
designs. More issues should be opened with better descriptions and proposals 
around why one would do something. When the basic outline has consensus and 
feedback, people can move to more thorough designs. Why haven't we seen 
response on these issues?

I can't see a requirement of reviewed design docs being enforced until we start 
to seeing people providing feedback on feature proposals and existing (albeit 
thin) design documents. So +1 long term but -1 until people start to respond 
and provide feedback on the outstanding items. Contributors need to perceive 
value in presenting a design doc. Let's get the WIIFM right so that developer 
incentives are aligned.

Jacques



--
Jacques Nadeau
CTO and Co-Founder, Dremio

On Fri, Oct 16, 2015 at 10:21 AM, Parth Chandra  wrote:

> Hi guys,
>
> Now that 1.2 is out I wanted to bring up the exciting topic of design 
> documents for Drill. As the project gets more contributors, we 
> definitely need to start documenting our designs and also allow for a 
> more substantial review process. In particular, we need to make sure 
> that there is sufficient time for comment as well as a time limit for 
> comments so that developers are not left stranded. It is understood 
> that committers should ensure they spend enough time in reviewing designs.
>
> I can see some substantial improvements in the works (some may even 
> have pull requests for initial work) and I think that this is a good 
> time to make sure that the design is done and understood by all before 
> we get too far ahead with the implementation.
>
> [1] is an example from Spark, though that might be asking for a lot.
>
> [2] is an example from Drill - Hash Aggregation in Drill - This is an 
> ideal design document. It could be improved even further perhaps by 
> adding some implementation level details (for example parameters that 
> could be used to tune Hash aggregation) that could aid QA/documentation.
>
> What do people think? Can we start enforcing the requirement to have 
> reviewed design docs before submitting pull requests for *advanced* 
> features?
>
> Parth
>
> [1] http://people.csail.mit.edu/matei/papers/2012/nsdi_spark.pdf
> [2]
> https://issues.apache.org/jira/secure/attachment/12622804/DrillAggrs.p
> df
>

***
 
The Royal Bank of Scotland plc. Registered in Scotland No 90312. 
Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB. 
Authorised by the Prudential Regulation Authority and regulated 
by the Financial Conduct Authority and Prudential Regulation Authority. 
The Royal Bank of Scotland N.V. is authorised and regulated by the 
De Nederlandsche Bank and has its seat at Amsterdam, the 
Netherlands, and is registered in the Commercial Register under 
number 33002587. Registered Office: Gustav Mahlerlaan 35

Re: [DISCUSS] Design Documents

2015-10-18 Thread Jacques Nadeau
Parth,

Thanks for bringing this up. We definitely need to do a better job of
discussing development decisions. I think whether this is done as a set of
descriptions and comments on JIRA or a formal doc on Google is less
important (and I wouldn't be inclined to enforce one over the other).

That being said, I think there is something else that limits the success of
such an effort. We first must ask: how do we get more people responding and
providing feedback among the things people have already posted. I know I've
experienced silence numerous times when asking for feedback and so have
others. Some recent examples I've seen in the community:

 - DRILL-3738 has received very little to no feedback despite providing an
initial design document
 - DRILL-3229 has one general response (ask for more detail) from you with
a follow-up from Steven but no additional feedback on the actual proposal

So I put it back to you and the general list, how do we get people to
provide more feedback on all contributions and proposals? I think it goes
beyond designs. More issues should be opened with better descriptions and
proposals around why one would do something. When the basic outline has
consensus and feedback, people can move to more thorough designs. Why
haven't we seen response on these issues?

I can't see a requirement of reviewed design docs being enforced until we
start to seeing people providing feedback on feature proposals and existing
(albeit thin) design documents. So +1 long term but -1 until people start
to respond and provide feedback on the outstanding items. Contributors need
to perceive value in presenting a design doc. Let's get the WIIFM right so
that developer incentives are aligned.

Jacques



--
Jacques Nadeau
CTO and Co-Founder, Dremio

On Fri, Oct 16, 2015 at 10:21 AM, Parth Chandra  wrote:

> Hi guys,
>
> Now that 1.2 is out I wanted to bring up the exciting topic of design
> documents for Drill. As the project gets more contributors, we definitely
> need to start documenting our designs and also allow for a more substantial
> review process. In particular, we need to make sure that there is
> sufficient time for comment as well as a time limit for comments so that
> developers are not left stranded. It is understood that committers should
> ensure they spend enough time in reviewing designs.
>
> I can see some substantial improvements in the works (some may even have
> pull requests for initial work) and I think that this is a good time to
> make sure that the design is done and understood by all before we get too
> far ahead with the implementation.
>
> [1] is an example from Spark, though that might be asking for a lot.
>
> [2] is an example from Drill - Hash Aggregation in Drill - This is an ideal
> design document. It could be improved even further perhaps by adding some
> implementation level details (for example parameters that could be used to
> tune Hash aggregation) that could aid QA/documentation.
>
> What do people think? Can we start enforcing the requirement to have
> reviewed design docs before submitting pull requests for *advanced*
> features?
>
> Parth
>
> [1] http://people.csail.mit.edu/matei/papers/2012/nsdi_spark.pdf
> [2]
> https://issues.apache.org/jira/secure/attachment/12622804/DrillAggrs.pdf
>


Re: [DISCUSS] Design Documents

2015-10-18 Thread yuliya Feldman
+1
  From: Parth Chandra 
 To: dev@drill.apache.org 
 Sent: Friday, October 16, 2015 10:21 AM
 Subject: [DISCUSS] Design Documents
   
Hi guys,

Now that 1.2 is out I wanted to bring up the exciting topic of design
documents for Drill. As the project gets more contributors, we definitely
need to start documenting our designs and also allow for a more substantial
review process. In particular, we need to make sure that there is
sufficient time for comment as well as a time limit for comments so that
developers are not left stranded. It is understood that committers should
ensure they spend enough time in reviewing designs.

I can see some substantial improvements in the works (some may even have
pull requests for initial work) and I think that this is a good time to
make sure that the design is done and understood by all before we get too
far ahead with the implementation.

[1] is an example from Spark, though that might be asking for a lot.

[2] is an example from Drill - Hash Aggregation in Drill - This is an ideal
design document. It could be improved even further perhaps by adding some
implementation level details (for example parameters that could be used to
tune Hash aggregation) that could aid QA/documentation.

What do people think? Can we start enforcing the requirement to have
reviewed design docs before submitting pull requests for *advanced*
features?

Parth

[1] http://people.csail.mit.edu/matei/papers/2012/nsdi_spark.pdf
[2] https://issues.apache.org/jira/secure/attachment/12622804/DrillAggrs.pdf


   

Re: [DISCUSS] Design Documents

2015-10-16 Thread Edmon Begoli
Absolutely - yes.

I already started following this practice, per Jacques' recommendation.
See and embedded Google Doc in comments:
https://issues.apache.org/jira/browse/DRILL-3738

Maybe we should use Github wiki or some Google Docs repository to record
these design docs centrally.


On Fri, Oct 16, 2015 at 1:21 PM, Parth Chandra  wrote:

> Hi guys,
>
> Now that 1.2 is out I wanted to bring up the exciting topic of design
> documents for Drill. As the project gets more contributors, we definitely
> need to start documenting our designs and also allow for a more substantial
> review process. In particular, we need to make sure that there is
> sufficient time for comment as well as a time limit for comments so that
> developers are not left stranded. It is understood that committers should
> ensure they spend enough time in reviewing designs.
>
> I can see some substantial improvements in the works (some may even have
> pull requests for initial work) and I think that this is a good time to
> make sure that the design is done and understood by all before we get too
> far ahead with the implementation.
>
> [1] is an example from Spark, though that might be asking for a lot.
>
> [2] is an example from Drill - Hash Aggregation in Drill - This is an ideal
> design document. It could be improved even further perhaps by adding some
> implementation level details (for example parameters that could be used to
> tune Hash aggregation) that could aid QA/documentation.
>
> What do people think? Can we start enforcing the requirement to have
> reviewed design docs before submitting pull requests for *advanced*
> features?
>
> Parth
>
> [1] http://people.csail.mit.edu/matei/papers/2012/nsdi_spark.pdf
> [2]
> https://issues.apache.org/jira/secure/attachment/12622804/DrillAggrs.pdf
>


[DISCUSS] Design Documents

2015-10-16 Thread Parth Chandra
Hi guys,

Now that 1.2 is out I wanted to bring up the exciting topic of design
documents for Drill. As the project gets more contributors, we definitely
need to start documenting our designs and also allow for a more substantial
review process. In particular, we need to make sure that there is
sufficient time for comment as well as a time limit for comments so that
developers are not left stranded. It is understood that committers should
ensure they spend enough time in reviewing designs.

I can see some substantial improvements in the works (some may even have
pull requests for initial work) and I think that this is a good time to
make sure that the design is done and understood by all before we get too
far ahead with the implementation.

[1] is an example from Spark, though that might be asking for a lot.

[2] is an example from Drill - Hash Aggregation in Drill - This is an ideal
design document. It could be improved even further perhaps by adding some
implementation level details (for example parameters that could be used to
tune Hash aggregation) that could aid QA/documentation.

What do people think? Can we start enforcing the requirement to have
reviewed design docs before submitting pull requests for *advanced*
features?

Parth

[1] http://people.csail.mit.edu/matei/papers/2012/nsdi_spark.pdf
[2] https://issues.apache.org/jira/secure/attachment/12622804/DrillAggrs.pdf