SlideShare a Scribd company logo
1 of 49
Planning and Executing the
       Linaro Cycle
  Jamie Bennett, Release Manager
            Linaro.org
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
Requirements




      Who makes the decisions on what
        will be worked on in Linaro?
Requirements


Requirements are defined by the
Technical Steering Committee
(TSC) which is made up of the
Linaro Chief Technical Officer
(CTO), the Vice President (VP)
of engineering and a
representative from each of the
Linaro Core and Club members.




          See http://www.linaro.org/how-linaro-works/ and
           https://wiki.linaro.org/TSC for more information
Requirements




       When are the decisions made?
Requirements




 Around two months before the Linaro at Ubuntu Developer
 Summit (L@UDS) a Call for Requirements (CFR) is made to
 the TSC members asking what they would like to see in the
 next release. These requirements are collated together to
 form the initial Technical Specification document by the
 CTO, with input from the Technical Leads (TL) of each
 engineering team.
Requirements




 Around one month before the Linaro Developer Summit
 (LDS) the TSC gathers to discuss the Technical
 Specification. The items that are approved are collated
 together in the Technical Requirements document. This
 document defines what Linaro will be working on for the
 upcoming cycle.
Requirements




 The month between the Technical Requirements being
 accepted and LDS is used by the engineering teams to
 produce Blueprints. These Blueprints are accompanied by
 a specification detailing the requirements implementation,
 goals, and expected outcomes.
Requirements




 At LDS each Blueprint is discussed with interested parties.
 The feasibility and importance is defined and implementation
 details are discussed. The outcome of a LDS session should
 be a clearer understanding of the requirement and
 valuable input from a wide audience.
Requirements




 The two weeks after LDS are spent improving the initial
 specification, adding input from LDS and defining the
 individual steps that need to be taken for the requirement to
 be fulfilled.

 At this stage a Tech Lead will sign off the Blueprint and
 implementation can start.
Requirements




 Just before Feature Definition Freeze the TSC will meet to
 ensure that the Technical Requirements have been
 captured as expected during the definition phase.
Requirements




 Before Feature Freeze the TSC will meet again to review
 the set of features implemented at this stage and relate
 them back to the original Technical Requirements document.
 There is a small scope for last minute changes here.
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
Linaro Developer Summit (LDS)




    What is the Linaro Developer Summit?
Linaro Developer Summit (LDS)




 Linaro members at the Ubuntu Developer Summit in Belgium
 before Linaro was announced.
Linaro Developer Summit (LDS)


• Co-hosted with the Ubuntu Developer Summit
• Officially called Linaro@UDS
• 300+ participants from Canonical, Linaro, the community and
 anyone interested

• Linaro discussions around all aspects of the ARM ecosphere
• Next Summit October 25th-29th 2010 in Orlando Florida



       See http://wiki.linaro.org/Events/2010-10-LDS for more information
Linaro Developer Summit (LDS)




     Who is the Linaro@UDS Summit for?
Linaro Developer Summit (LDS)

• Developers interested in contributing to Linaro.
• Tech Leaders interested in influencing and contributing to the
 direction Linaro takes in the next 6 months.

• Community members interested in participating in the Linaro
 ecosphere.

• Partners, OEMʼs, ISVʼs and Downstreams interested in
 leveraging Linaroʼs effort.

• Upstreams interested in ensuring their software is integrated well
 into Linaro.
Linaro Developer Summit (LDS)




    What is discussed at the Linaro@UDS?
Linaro Developer Summit (LDS)




 Small selection of sessions at the last developer summit.
Linaro Developer Summit (LDS)

• All Sessions start off as Blueprints in Launchpad including
 informational only sessions.

• Sessions are Scheduled by hand from the pool of Blueprints
 registered against the current Developer Summit.

• Not all sessions can be accommodated. The relative merit of each
 session will be a factor in the schedule organisers decision to
 approve or disapprove.

• If you are interested in a session, subscribe to the relavant
 Blueprint in Launchpad.

• See http://summit.ubuntu.com for the latest schedule.
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
Blueprints




             What are Blueprints?
Blueprints




  A Blueprint is used to track the development of a project, a
  feature or any other process towards its goal.

  Blueprints are used extensively by the Linaro project.




 See http://www.launchpad.net/+tour/feature-tracking for more information
Blueprints
Blueprints

Anatomy

 • Summary
 • Priority, status, implementation
 • Approver, drafter, assignee
 • Related branches
 • Whiteboard
 • Subscribers
Blueprints

Anatomy

 • Summary
   • One paragraph explanation of what the blueprint is tracking.
 • Priority, status, implementation
   • Shows blueprint importance, status and current format.
 • Approver, drafter, assignee
   • People involved in completing the blueprint.
 • Related branches and bugs
   • Any code or bugs related to the blueprint.
 • Whiteboard
   • Free-form text used to track progress.
 • Subscribers
   • People who want to be informed of progress.
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
The Release Cycle




 The Release Cycle is made up of 6 releases over a 6
 month period. 3 Alpha releases, 1 Beta, 1 Release
 Candidate and 1 Final Release.

 In between releases, various milestones are created to
 ensure the release is on track. These include Feature
 Definition Freeze, Feature Freeze, and Final Freeze.
        See http://wiki.linaro.org/Process/Cycle for more information
The Release Cycle




 Two of the most important milestones when dealing with new
 features are Feature Definition Freeze and Feature Freeze.

 By Feature Definition Freeze all new features should be clearly
 defined and requirements should not change much.

 By Feature Freeze, all new features will be close to fully
 implemented. No new features will be added.
         See http://wiki.linaro.org/Process/Cycle/ReleaseStages
                             for more information
The Release Cycle




 Alpha releases are primarily targeted at early adopters.
 There is a great deal of changes that go on in the early
 release stages and that is reflected in the image stability.

 New features and the majority of changes happen between
 LDS and Beta. There are exceptions.

          See http://wiki.linaro.org/Process/Cycle/ReleaseStages
                              for more information
The Release Cycle




 Beta is a stable release and expected to be functional but
 with bugs. From this point forwards only bug fixes happen as
 the release is stabilised.

 Release Candidate is produced 1 week before release. In a
 perfect world there would be no changes from this point until
 release but last minute small fixes can be made at this
 point.
        See http://wiki.linaro.org/Process/Cycle/ReleaseStages
                            for more information
The Release Cycle




 Final Release should be completely stable and fully
 functional. Minor bugs could be present but any known
 bugs will be documented in the release notes.




         See http://wiki.linaro.org/Process/Cycle/ReleaseStages
                             for more information
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
Out of Cycle Contributions




 Work is constantly going on both inside and outside of
 Linaro. The various Working Groups and other
 Engineering Units, including Landing Teams, produce
 outputs that do not necessarily line up with the release
 milestones.

         See http://wiki.linaro.org/Process/AdvancedDevelopment
                              for more information
Out of Cycle Contributions




 The output from these groups can be accepted into the release
 at any point up until the Freeze Period.

 Work outside of the release schedule is called Advanced
 Development.

         See http://wiki.linaro.org/Process/AdvancedDevelopment
                              for more information
Schedule


• Requirements Gathering

• The Linaro Developer Summit

• Blueprints

• The Release Cycle

• Out of Cycle Contributions

• Tracking
Tracking




  With all the engineering effort going on, how do you track
                          progress?
Tracking


    • Meetings
    • Blueprints
    • Work Items
    • Burn Down Charts
    • Wiki Status Pages
    • Upstream contributions
Tracking

Meetings

• IRC
• Mumble
• Conference Calls
• Face-to-Face
Tracking
Work Items
Tracking
Work Items


 • Assignee in brackets
   • e.g. [JamieBennett]
 • Description of item todo
 • Status of item
   • TODO, DONE, LATER, POSTPONED
 • LATER used to track items that miss their deadline
 • POSTPONED used to track items that do not get done in the cycle

             See http://wiki.linaro.org/Process/WorkItemsHowto
                               for more information
Tracking
Burn Down Charts
Tracking
Burn Down Charts


 • Number of work items over time
 • Each team has its own burn down chart
 • Done, Todo, In Progress, Later (slipped)
 • Other teams items that effect the project also shown
 • Automatically generated every two hours
Tracking
Wiki Status Pages
Tracking
Wiki Status Pages



 • Snapshot of projects current status
 • Each team has its own status page
 • Broken down milestone date
 • Further broken down by blueprint
 • Further broken down by work item
 • Easy to see current team status

             See http://wiki.linaro.org/EngineeringUnits/Status
                              for more information
Tracking
Upstream Contributions



 • Upstream contribution trackers
 • Automated tools coming to better report on contributions
 • Initial implementation for GCC only can be found at
  http://ex.seabright.co.nz/helpers/patchtrack




                 See http://wiki.linaro.org/UpstreamTrees
                            for more information
Questions?




jamie.bennett@linaro.org

More Related Content

What's hot

Working with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development LifecycleWorking with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development LifecycleSafe Software
 
2013 t-dose - libre office easyhacks
2013   t-dose - libre office easyhacks2013   t-dose - libre office easyhacks
2013 t-dose - libre office easyhacksRob Snelders
 
Android and Hard Real Time
Android and Hard Real TimeAndroid and Hard Real Time
Android and Hard Real TimeAkshar Desai
 
Release This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release CycleRelease This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release CyclePerforce
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with JenkinsYuriy Rochnyak
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer DayKimihiko Kitase
 
Lca14 14-501- glibc-eglibc
Lca14 14-501- glibc-eglibcLca14 14-501- glibc-eglibc
Lca14 14-501- glibc-eglibcLinaro
 
Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CDSolano Labs
 
My Efforts to Define DevOps
My Efforts to Define DevOpsMy Efforts to Define DevOps
My Efforts to Define DevOpsSopan Shewale
 

What's hot (11)

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Working with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development LifecycleWorking with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development Lifecycle
 
2013 t-dose - libre office easyhacks
2013   t-dose - libre office easyhacks2013   t-dose - libre office easyhacks
2013 t-dose - libre office easyhacks
 
Android and Hard Real Time
Android and Hard Real TimeAndroid and Hard Real Time
Android and Hard Real Time
 
Release This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release CycleRelease This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release Cycle
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with Jenkins
 
DevOps intro
DevOps introDevOps intro
DevOps intro
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
 
Lca14 14-501- glibc-eglibc
Lca14 14-501- glibc-eglibcLca14 14-501- glibc-eglibc
Lca14 14-501- glibc-eglibc
 
Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CD
 
My Efforts to Define DevOps
My Efforts to Define DevOpsMy Efforts to Define DevOps
My Efforts to Define DevOps
 

Viewers also liked

Presentation Broström Preliminary Report 2007
Presentation Broström Preliminary Report 2007Presentation Broström Preliminary Report 2007
Presentation Broström Preliminary Report 2007Brostromweb08
 
Collaborative Software Development With Distributed Teams
Collaborative Software Development With Distributed TeamsCollaborative Software Development With Distributed Teams
Collaborative Software Development With Distributed TeamsTim Penhey
 
ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...
ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...
ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...PUCRS University
 
Karthikeyan gddm 1.0 (globally distributed delivery model)
Karthikeyan gddm 1.0   (globally distributed delivery model)Karthikeyan gddm 1.0   (globally distributed delivery model)
Karthikeyan gddm 1.0 (globally distributed delivery model)PMInstituteIndia
 
YAPC::Asia 2014 前夜祭
YAPC::Asia 2014 前夜祭YAPC::Asia 2014 前夜祭
YAPC::Asia 2014 前夜祭Hon Dallica
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 

Viewers also liked (6)

Presentation Broström Preliminary Report 2007
Presentation Broström Preliminary Report 2007Presentation Broström Preliminary Report 2007
Presentation Broström Preliminary Report 2007
 
Collaborative Software Development With Distributed Teams
Collaborative Software Development With Distributed TeamsCollaborative Software Development With Distributed Teams
Collaborative Software Development With Distributed Teams
 
ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...
ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...
ICGSE2013 An Ontology for Task Allocatiom to Teams in Distributed Software De...
 
Karthikeyan gddm 1.0 (globally distributed delivery model)
Karthikeyan gddm 1.0   (globally distributed delivery model)Karthikeyan gddm 1.0   (globally distributed delivery model)
Karthikeyan gddm 1.0 (globally distributed delivery model)
 
YAPC::Asia 2014 前夜祭
YAPC::Asia 2014 前夜祭YAPC::Asia 2014 前夜祭
YAPC::Asia 2014 前夜祭
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 

Similar to Planning and executing the Linaro cycle

Sakai Technical Future Musings
Sakai Technical Future MusingsSakai Technical Future Musings
Sakai Technical Future MusingsCharles Severance
 
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...Lee Calcote
 
Q4.11: Roadmap Overview
Q4.11: Roadmap OverviewQ4.11: Roadmap Overview
Q4.11: Roadmap OverviewLinaro
 
2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program Update2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program UpdateJohn Gasper
 
OpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source OrganizationOpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source OrganizationBruce Elgort
 
February 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar UpdateFebruary 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar UpdateMisagh Moayyed
 
OPNFV Developer Tools and Release Process
OPNFV Developer Tools and Release ProcessOPNFV Developer Tools and Release Process
OPNFV Developer Tools and Release ProcessOPNFV
 
Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )uisp dsin
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...Krishna-Kumar
 
Unicon Nov 2014 IAM Briefing
Unicon Nov 2014 IAM BriefingUnicon Nov 2014 IAM Briefing
Unicon Nov 2014 IAM BriefingJohn Gasper
 
DAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptx
DAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptxDAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptx
DAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptxpiyushlohia1857
 
DNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleDNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleWill Strohl
 
Join the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyJoin the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyHeather VanCura
 
LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14Linaro
 
OSSDN Introduction 06112015
OSSDN Introduction 06112015OSSDN Introduction 06112015
OSSDN Introduction 06112015Rick Bauer
 
Unicon June 2014 IAM Briefing
Unicon June 2014 IAM BriefingUnicon June 2014 IAM Briefing
Unicon June 2014 IAM BriefingJohn Gasper
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Chocolatey Software
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Michel Buczynski
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingJohn Gasper
 
Intro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor ExperienceIntro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor ExperienceBob Killen
 

Similar to Planning and executing the Linaro cycle (20)

Sakai Technical Future Musings
Sakai Technical Future MusingsSakai Technical Future Musings
Sakai Technical Future Musings
 
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
 
Q4.11: Roadmap Overview
Q4.11: Roadmap OverviewQ4.11: Roadmap Overview
Q4.11: Roadmap Overview
 
2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program Update2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program Update
 
OpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source OrganizationOpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source Organization
 
February 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar UpdateFebruary 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar Update
 
OPNFV Developer Tools and Release Process
OPNFV Developer Tools and Release ProcessOPNFV Developer Tools and Release Process
OPNFV Developer Tools and Release Process
 
Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...
 
Unicon Nov 2014 IAM Briefing
Unicon Nov 2014 IAM BriefingUnicon Nov 2014 IAM Briefing
Unicon Nov 2014 IAM Briefing
 
DAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptx
DAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptxDAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptx
DAYALBAGH EDUCATIONAdfgresgL INSTITUTE.pptx
 
DNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleDNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made Simple
 
Join the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyJoin the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/Philly
 
LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14
 
OSSDN Introduction 06112015
OSSDN Introduction 06112015OSSDN Introduction 06112015
OSSDN Introduction 06112015
 
Unicon June 2014 IAM Briefing
Unicon June 2014 IAM BriefingUnicon June 2014 IAM Briefing
Unicon June 2014 IAM Briefing
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM Briefing
 
Intro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor ExperienceIntro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor Experience
 

Planning and executing the Linaro cycle

  • 1. Planning and Executing the Linaro Cycle Jamie Bennett, Release Manager Linaro.org
  • 2. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 3. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 4. Requirements Who makes the decisions on what will be worked on in Linaro?
  • 5. Requirements Requirements are defined by the Technical Steering Committee (TSC) which is made up of the Linaro Chief Technical Officer (CTO), the Vice President (VP) of engineering and a representative from each of the Linaro Core and Club members. See http://www.linaro.org/how-linaro-works/ and https://wiki.linaro.org/TSC for more information
  • 6. Requirements When are the decisions made?
  • 7. Requirements Around two months before the Linaro at Ubuntu Developer Summit (L@UDS) a Call for Requirements (CFR) is made to the TSC members asking what they would like to see in the next release. These requirements are collated together to form the initial Technical Specification document by the CTO, with input from the Technical Leads (TL) of each engineering team.
  • 8. Requirements Around one month before the Linaro Developer Summit (LDS) the TSC gathers to discuss the Technical Specification. The items that are approved are collated together in the Technical Requirements document. This document defines what Linaro will be working on for the upcoming cycle.
  • 9. Requirements The month between the Technical Requirements being accepted and LDS is used by the engineering teams to produce Blueprints. These Blueprints are accompanied by a specification detailing the requirements implementation, goals, and expected outcomes.
  • 10. Requirements At LDS each Blueprint is discussed with interested parties. The feasibility and importance is defined and implementation details are discussed. The outcome of a LDS session should be a clearer understanding of the requirement and valuable input from a wide audience.
  • 11. Requirements The two weeks after LDS are spent improving the initial specification, adding input from LDS and defining the individual steps that need to be taken for the requirement to be fulfilled. At this stage a Tech Lead will sign off the Blueprint and implementation can start.
  • 12. Requirements Just before Feature Definition Freeze the TSC will meet to ensure that the Technical Requirements have been captured as expected during the definition phase.
  • 13. Requirements Before Feature Freeze the TSC will meet again to review the set of features implemented at this stage and relate them back to the original Technical Requirements document. There is a small scope for last minute changes here.
  • 14. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 15. Linaro Developer Summit (LDS) What is the Linaro Developer Summit?
  • 16. Linaro Developer Summit (LDS) Linaro members at the Ubuntu Developer Summit in Belgium before Linaro was announced.
  • 17. Linaro Developer Summit (LDS) • Co-hosted with the Ubuntu Developer Summit • Officially called Linaro@UDS • 300+ participants from Canonical, Linaro, the community and anyone interested • Linaro discussions around all aspects of the ARM ecosphere • Next Summit October 25th-29th 2010 in Orlando Florida See http://wiki.linaro.org/Events/2010-10-LDS for more information
  • 18. Linaro Developer Summit (LDS) Who is the Linaro@UDS Summit for?
  • 19. Linaro Developer Summit (LDS) • Developers interested in contributing to Linaro. • Tech Leaders interested in influencing and contributing to the direction Linaro takes in the next 6 months. • Community members interested in participating in the Linaro ecosphere. • Partners, OEMʼs, ISVʼs and Downstreams interested in leveraging Linaroʼs effort. • Upstreams interested in ensuring their software is integrated well into Linaro.
  • 20. Linaro Developer Summit (LDS) What is discussed at the Linaro@UDS?
  • 21. Linaro Developer Summit (LDS) Small selection of sessions at the last developer summit.
  • 22. Linaro Developer Summit (LDS) • All Sessions start off as Blueprints in Launchpad including informational only sessions. • Sessions are Scheduled by hand from the pool of Blueprints registered against the current Developer Summit. • Not all sessions can be accommodated. The relative merit of each session will be a factor in the schedule organisers decision to approve or disapprove. • If you are interested in a session, subscribe to the relavant Blueprint in Launchpad. • See http://summit.ubuntu.com for the latest schedule.
  • 23. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 24. Blueprints What are Blueprints?
  • 25. Blueprints A Blueprint is used to track the development of a project, a feature or any other process towards its goal. Blueprints are used extensively by the Linaro project. See http://www.launchpad.net/+tour/feature-tracking for more information
  • 27. Blueprints Anatomy • Summary • Priority, status, implementation • Approver, drafter, assignee • Related branches • Whiteboard • Subscribers
  • 28. Blueprints Anatomy • Summary • One paragraph explanation of what the blueprint is tracking. • Priority, status, implementation • Shows blueprint importance, status and current format. • Approver, drafter, assignee • People involved in completing the blueprint. • Related branches and bugs • Any code or bugs related to the blueprint. • Whiteboard • Free-form text used to track progress. • Subscribers • People who want to be informed of progress.
  • 29. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 30. The Release Cycle The Release Cycle is made up of 6 releases over a 6 month period. 3 Alpha releases, 1 Beta, 1 Release Candidate and 1 Final Release. In between releases, various milestones are created to ensure the release is on track. These include Feature Definition Freeze, Feature Freeze, and Final Freeze. See http://wiki.linaro.org/Process/Cycle for more information
  • 31. The Release Cycle Two of the most important milestones when dealing with new features are Feature Definition Freeze and Feature Freeze. By Feature Definition Freeze all new features should be clearly defined and requirements should not change much. By Feature Freeze, all new features will be close to fully implemented. No new features will be added. See http://wiki.linaro.org/Process/Cycle/ReleaseStages for more information
  • 32. The Release Cycle Alpha releases are primarily targeted at early adopters. There is a great deal of changes that go on in the early release stages and that is reflected in the image stability. New features and the majority of changes happen between LDS and Beta. There are exceptions. See http://wiki.linaro.org/Process/Cycle/ReleaseStages for more information
  • 33. The Release Cycle Beta is a stable release and expected to be functional but with bugs. From this point forwards only bug fixes happen as the release is stabilised. Release Candidate is produced 1 week before release. In a perfect world there would be no changes from this point until release but last minute small fixes can be made at this point. See http://wiki.linaro.org/Process/Cycle/ReleaseStages for more information
  • 34. The Release Cycle Final Release should be completely stable and fully functional. Minor bugs could be present but any known bugs will be documented in the release notes. See http://wiki.linaro.org/Process/Cycle/ReleaseStages for more information
  • 35. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 36. Out of Cycle Contributions Work is constantly going on both inside and outside of Linaro. The various Working Groups and other Engineering Units, including Landing Teams, produce outputs that do not necessarily line up with the release milestones. See http://wiki.linaro.org/Process/AdvancedDevelopment for more information
  • 37. Out of Cycle Contributions The output from these groups can be accepted into the release at any point up until the Freeze Period. Work outside of the release schedule is called Advanced Development. See http://wiki.linaro.org/Process/AdvancedDevelopment for more information
  • 38. Schedule • Requirements Gathering • The Linaro Developer Summit • Blueprints • The Release Cycle • Out of Cycle Contributions • Tracking
  • 39. Tracking With all the engineering effort going on, how do you track progress?
  • 40. Tracking • Meetings • Blueprints • Work Items • Burn Down Charts • Wiki Status Pages • Upstream contributions
  • 41. Tracking Meetings • IRC • Mumble • Conference Calls • Face-to-Face
  • 43. Tracking Work Items • Assignee in brackets • e.g. [JamieBennett] • Description of item todo • Status of item • TODO, DONE, LATER, POSTPONED • LATER used to track items that miss their deadline • POSTPONED used to track items that do not get done in the cycle See http://wiki.linaro.org/Process/WorkItemsHowto for more information
  • 45. Tracking Burn Down Charts • Number of work items over time • Each team has its own burn down chart • Done, Todo, In Progress, Later (slipped) • Other teams items that effect the project also shown • Automatically generated every two hours
  • 47. Tracking Wiki Status Pages • Snapshot of projects current status • Each team has its own status page • Broken down milestone date • Further broken down by blueprint • Further broken down by work item • Easy to see current team status See http://wiki.linaro.org/EngineeringUnits/Status for more information
  • 48. Tracking Upstream Contributions • Upstream contribution trackers • Automated tools coming to better report on contributions • Initial implementation for GCC only can be found at http://ex.seabright.co.nz/helpers/patchtrack See http://wiki.linaro.org/UpstreamTrees for more information

Editor's Notes