On Tue, Aug 26, 2014 at 9:48 AM, Doug Hellmann <d...@doughellmann.com> wrote:
>
> On Aug 26, 2014, at 10:10 AM, Kyle Mestery <mest...@mestery.com> wrote:
>
>> On Fri, Aug 22, 2014 at 8:19 PM, John Dickinson <m...@not.mn> wrote:
>>> I think Anne makes some excellent points about the pattern being proposed 
>>> being unlikely to be commonly implemented across all the programs (or, at 
>>> best, very difficult). Let's not try to formalize another "best practice" 
>>> that works many times and force it to work every time. Here's an alternate 
>>> proposal:
>>>
>>> Let's let PTLs be PTLs and effectively coordinate and manage the activity 
>>> in their respective projects. And let's get the PTLs together for one or 
>>> two days every cycle to discuss project issues. Just PTLs, and let's focus 
>>> on the project management stuff and some cross-project issues.
>>>
>>> Getting the PTLs together would allow them to discuss cross-project issues, 
>>> share frustrations and solutions about what does and doesn't work. 
>>> Basically, think of it as a mid-cycle meetup, but for PTLs. (Perhaps we 
>>> could even ask the Foundation to sponsor it.)
>>>
>> +100
>>
>> I think John nails the key point here: PTLs are likely already doing a
>> lot of what Thierry originally proposed here. I know that I work with
>> many people in Neutron to help offload things like bug triaging, gate
>> failure analysis, etc. Without that, Neutron wouldn't scale. In effect
>> what's proposed here is something we're already doing a lot of. I
>> don't think forcing this on each project is a good way of doing this,
>> because each project has different challenges and needs.
>
> This proposal isn’t about how teams are organized internally; it’s about how 
> they interface with the other OpenStack teams.
>
> The cross-project teams need more direct coordination and participation than 
> we are getting from some projects, and so we want the projects and PTLs to 
> recognize that the areas Thierry has listed are responsibilities that need to 
> be met. Someone needs to do these basic coordination tasks in order for the 
> overall project to be successful. It’s up to each team to decide who fills a 
> given role, but by identifying these points of contact the other teams don’t 
> have to know that you make those decisions by asking for volunteers, holding 
> an election, or drawing straws.
>
I think it *is* about how teams are organized internally, to some
extent. These interactions with other teams somewhat dictate the
layout of the team internally. But either way, I agree with your
points Doug. Increasing visibility of the people in each of these
teams is a good thing.

Thanks,
Kyle

> Doug
>
>>
>> Thanks,
>> Kyle
>>
>>> --John
>>>
>>>
>>>
>>>
>>>
>>> On Aug 22, 2014, at 6:02 PM, Anne Gentle <a...@openstack.org> wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Fri, Aug 22, 2014 at 6:17 PM, Rochelle.RochelleGrober 
>>>> <rochelle.gro...@huawei.com> wrote:
>>>> /flame-on
>>>> Ok, this is funny to some of us in the community.  The general populace of 
>>>> this community is so against the idea of management that they will use the 
>>>> term for a despotic dictator as a position name rather than "manager".  
>>>> Sorry, but this needed to be said.
>>>> /flame-off
>>>>
>>>> Specific comments in line:
>>>>
>>>> Thierry Carrez wrote:
>>>>>
>>>>> Hi everyone,
>>>>>
>>>>> We all know being a project PTL is an extremely busy job. That's
>>>>> because
>>>>> in our structure the PTL is responsible for almost everything in a
>>>>> project:
>>>>>
>>>>> - Release management contact
>>>>> - Work prioritization
>>>>> - Keeping bugs under control
>>>>> - Communicate about work being planned or done
>>>>> - Make sure the gate is not broken
>>>>> - Team logistics (run meetings, organize sprints)
>>>>> - ...
>>>>>
>>>>
>>>> Point of clarification:  I've heard PTL=Project Technical Lead and 
>>>> PTL=Program Technical Lead. Which is it?  It is kind of important as 
>>>> OpenStack grows, because the first is responsible for *a* project, and the 
>>>> second is responsible for all projects within a program.
>>>>
>>>>
>>>> Now Program, formerly Project.
>>>>
>>>> I'd also like to set out as an example of a Program that is growing to 
>>>> encompass multiple projects, the Neutron Program.  Look at how it is 
>>>> expanding:
>>>>
>>>> Multiple sub-teams for:  LBAAS, DNAAS, GBP, etc.  This model could be 
>>>> extended such that:
>>>> - the subteam is responsible for code reviews, including the first +2 for 
>>>> design, architecture and code of the sub-project, always also keeping an 
>>>> eye out that the sub-project code continues to both integrate well with 
>>>> the program, and that the program continues to provide the needed code 
>>>> bits, architecture modifications and improvements, etc. to support the 
>>>> sub-project.
>>>> - the final +2/A would be from the Program reviewers to ensure that all 
>>>> integrate nicely together into a single, cohesive program.
>>>> - This would allow sub-projects to have core reviewers, along with the 
>>>> program and be a good separation of duties.  It would also help to 
>>>> increase the number of reviews moving to merged code.
>>>> - Taken to a logical stepping stone, you would have project technical 
>>>> leads for each project, and they would make up a program council, with the 
>>>> program technical lead being the chair of the council.
>>>>
>>>> This is a way to offload a good chunk of PTL tactical responsibilities and 
>>>> help them focus more on the strategic.
>>>>
>>>>> They end up being completely drowned in those day-to-day operational
>>>>> duties, miss the big picture, can't help in development that much
>>>>> anymore, get burnt out. Since you're either "the PTL" or "not the PTL",
>>>>> you're very alone and succession planning is not working that great
>>>>> either.
>>>>>
>>>>> There have been a number of experiments to solve that problem. John
>>>>> Garbutt has done an incredible job at helping successive Nova PTLs
>>>>> handling the release management aspect. Tracy Jones took over Nova bug
>>>>> management. Doug Hellmann successfully introduced the concept of Oslo
>>>>> liaisons to get clear point of contacts for Oslo library adoption in
>>>>> projects. It may be time to generalize that solution.
>>>>>
>>>>> The issue is one of responsibility: the PTL is ultimately responsible
>>>>> for everything in a project. If we can more formally delegate that
>>>>> responsibility, we can avoid getting up to the PTL for everything, we
>>>>> can rely on a team of people rather than just one person.
>>>>>
>>>>> Enter the Czar system: each project should have a number of liaisons /
>>>>> official contacts / delegates that are fully responsible to cover one
>>>>> aspect of the project. We need to have Bugs czars, which are
>>>>> responsible
>>>>> for getting bugs under control. We need to have Oslo czars, which serve
>>>>> as liaisons for the Oslo program but also as active project-local oslo
>>>>> advocates. We need Security czars, which the VMT can go to to progress
>>>>> quickly on plugging vulnerabilities. We need release management czars,
>>>>> to handle the communication and process with that painful OpenStack
>>>>> release manager. We need Gate czars to serve as first-line-of-contact
>>>>> getting gate issues fixed... You get the idea.
>>>>>
>>>> /flame-on
>>>> Let's call spades, spades here.  Czar is not only overkill, but the wrong 
>>>> metaphor.
>>>> /flame-off
>>>>
>>>> I'm with Rocky on the anti-czar-as-a-word camp. We all like clever names 
>>>> to shed the "corporate" stigma but this word ain't it. Liaison or lead?
>>>>
>>>> Also wanted to point to https://wiki.openstack.org/wiki/PTLguide as it's 
>>>> quite nice.
>>>>
>>>> I think PTLs tend to find help when they absolutely are ready to fall 
>>>> over, and I'm all for a plan that helps us not fall over. I've had people 
>>>> step up for bug triaging, gate work, tests, and oslo, sometimes one person 
>>>> did three or four at once. I certainly can't do it all for cross-project. 
>>>> Based on what I've seen, I doubt that we can add this much formality to 
>>>> this across 20+ programs. It's the "bigger more integrated project" vs. 
>>>> "smaller more focused project" difference that won't let us do a pattern 
>>>> here. We can certainly document the responsibilities and let programs know 
>>>> there are some best practices.
>>>>
>>>> Anne
>>>>
>>>>
>>>> Each position suggested here exists in corporate development projects:
>>>> - Bug czar == bug manager/administrator/QA engineer/whatever - someone in 
>>>> charge of making sure bugs get triages, assigned and completed
>>>> - Oslo czar == systems engineers/project managers who make sure that the 
>>>> project is in line with the rest of the projects that together make an 
>>>> integrated release.  This position needs to stretch beyond just Oslo to 
>>>> encompass all the cross-project requirements and will likely be its own 
>>>> "committee"
>>>> - Gate Czar == integration engineer(manager)/QA 
>>>> engineer(manager)/build-release engineer.  This position would also likely 
>>>> be a liaison to Infra.
>>>> - Security Czar == security guru (that name takes me back ;-)
>>>> - Release management Czar == Project release manager
>>>> - Doc Czar == tech editor
>>>> - Tempest Czar == QA engineer(manager)
>>>>
>>>> Yes, programs are now mostly big enough to require coordination and 
>>>> management.  The roles are long defined, so let's just document the 
>>>> definitions and get volunteers.  Each project would be able to decide 
>>>> which roles needed to be filled and whether individuals are capable of 
>>>> filling multiple roles.
>>>>
>>>> These roles need to be transparent in a governance sense and should be 
>>>> increasing communication between projects, community and contributors.
>>>>
>>>>> Some people can be czars of multiple areas. PTLs can retain some czar
>>>>> activity if they wish. Czars can collaborate with their equivalents in
>>>>> other projects to share best practices. We just need a clear list of
>>>>> areas/duties and make sure each project has a name assigned to each.
>>>>>
>>>>> Now, why czars ? Why not rely on informal activity ? Well, for that
>>>>> system to work we'll need a lot of people to step up and sign up for
>>>>> more responsibility. Making them "czars" makes sure that effort is
>>>>> recognized and gives them something back. Also if we don't formally
>>>>> designate people, we can't really delegate and the PTL will still be
>>>>> directly held responsible. The Release management czar should be able
>>>>> to
>>>>> sign off release SHAs without asking the PTL. The czars and the PTL
>>>>> should collectively be the new "project drivers".
>>>>>
>>>>> At that point, why not also get rid of the PTL ? And replace him with a
>>>>> team of czars ? If the czar system is successful, the PTL should be
>>>>> freed from the day-to-day operational duties and will be able to focus
>>>>> on the project health again. We still need someone to keep an eye on
>>>>> the
>>>>> project-wide picture and coordinate the work of the czars. We need
>>>>> someone to pick czars, in the event multiple candidates sign up. We
>>>>> also
>>>>> still need someone to have the final say in case of deadlocked issues.
>>>>>
>>>>> People say we don't have that many deadlocks in OpenStack for which the
>>>>> PTL ultimate power is needed, so we could get rid of them. I'd argue
>>>>> that the main reason we don't have that many deadlocks in OpenStack is
>>>>> precisely *because* we have a system to break them if they arise. That
>>>>> encourages everyone to find a lazy consensus. That part of the PTL job
>>>>> works. Let's fix the part that doesn't work (scaling/burnout).
>>>>>
>>>>
>>>> Perhaps, the crux of the issue with PTLs is that we still need PTLs, but 
>>>> they should be *Project* Technical Leads and the role currently defined as 
>>>> PTL should really become a Program Manager - someone who coordinates all 
>>>> the projects, their issues, needs, communications and leave the deep 
>>>> technical work to the project leads and individual developers.  Consider 
>>>> the project technical leads seeing the trees and the program manager sees 
>>>> the forest.  Let the program manager gather the technical requirements and 
>>>> wishes for the next release and track those, let the team of project 
>>>> technical leads determine the design, architecture, tools, etc.
>>>>
>>>>> --
>>>>> Thierry Carrez (ttx)
>>>>>
>>>>> _______________________________________________
>>>>> OpenStack-dev mailing list
>>>>> OpenStack-dev@lists.openstack.org
>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>
>>>> Great idea Thierry, just thought I'd propose a slight twist on your 
>>>> concept.
>>>> And sorry for the flames, but I'm in Jay Pipe's camp when it comes to 
>>>> needing to ensure inclusiveness, openness and transparency for the 
>>>> community and I think even the name czars are a slippery slope to 
>>>> something less open.
>>>>
>>>> --Rocky Grober
>>>>
>>>> _______________________________________________
>>>> OpenStack-dev mailing list
>>>> OpenStack-dev@lists.openstack.org
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>
>>>> _______________________________________________
>>>> OpenStack-dev mailing list
>>>> OpenStack-dev@lists.openstack.org
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>>
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev@lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev@lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to