tuleapcon 2017-stmicroelectronics-imaging-division-case-study

13
My Tuleap Story #TuleapCon2017 @TuleapOpenALM 100 % Agile & Open Source Vincent Colin de Verdiere CAD Engineer (Imaging division) ST Microelectronics @twitter [email protected]

Upload: tuleap

Post on 28-Jan-2018

324 views

Category:

Technology


0 download

TRANSCRIPT

My Tuleap Story #TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

Vincent Colin de VerdiereCAD Engineer (Imaging division)

ST Microelectronics

@[email protected]

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

STMicroelectronics, Imaging DivisionMain Activities• Silicon Design (mainly HW development but also some SW development (Firmware) )• Sensor based products (camera, range-finder, ..)

CAD team activity• Facilitator role on EDA/CAD tools (selection, deployment, training, support)• Define, Improve and deploy development methodologies

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

How do we use Tuleap • More than 100 Tuleap projects inside main Tuleap instance for the IMG division of ST

• Few Tuleap projects in another Tuleap instance shared with external partners

• Mainly 2 kinds of Tuleap projects:

o Technology/Algorithm/Modelling/Generic Activity/IP development (long term project instances – never ends) 50-250 users per projects

o Product : one Tuleap project per product (or product family or prototype) 10-50 users per projects (.5 to 2 years)

(up to 2 new projects created each month)

o Users : all division members : HW & SW developers, project leaders, team leaders, product owner, marketing, quality, engineering, test

o Main features:

Single tracker per product for full product life (from early prototyping to customer support) (focus on this case only) One or several svn repo, git repo (sw only)

Document manager

Mediawiki (howto doc, weekly reporting handling, …)

File Manager (package deliveries, …)

Continuous Integration (source code CI, miscellaneous automations)

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

HW product life-cycle management with Tuleap

• 2 Kind of Trackers - Generic trackers (ip, algorithm, …) for development that is shared between products - Single tracker per product for all activities (dev, engineering, Q&A, …)

• Original Tracker Usage for IMG/ST division Our work-flow requires automated ticket duplication in 3 different contexts :

1. Ticket duplication within product tracker to handle multi-fix for multiple versions of a product (focus on this case only)2. Ticket duplication / synchronization between product tracker and generic tracker to ease bug/information sharing

between projects3. Ticket duplication / synchronization between product trackers on 2 Tuleap instances

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

Use case: • One HW product has several releases (named PGs) • One given HW defect can be closed differently between products releases: Root cause fix in HW code, Waived until next version, SW work-around, ……

• We need to track for each version of a product, how a given defect was fixed and more importantly guarantee that all temporary fixes in initial versions are properly either maintained or properly fixed in the next version without missing any.

• One ticket per defect does not fulfill the objective • Proposal: use one ticket per defect AND per HW product version.

Implemented Solution: • Create a new parent/child ticket schema inside single tracker • Develop some automation to create child tickets with minimal effort from user.

HW product life-cycle management with Tuleap : Handle multiple product versions via ticket duplication within single tracker

HW Defect Life Cycle

Status Stage Genealogy

OpenCopied Assigned Parent

Open Waived Child

6

Status Stage Genealogy

OpenCopied Under Impl Parent

Open Temporarily fixed

Child

Status Stage Genealogy

Open Fixed Parent

Status Stage Genealogy

Open Analyzed Parent

Status Stage Genealogy

Open Assigned Parent

Status Stage Genealogy

Open Declined Parent

Status Stage Genealogy

OpenCopied Waived Parent

Closed Waived Child

Status Stage Genealogy

OpenCopied Temporarily Fixed

Parent

Closed Temporarily Fixed

Child

Status Stage Genealogy

Closed Fixed Parent

Status Stage Genealogy

Closed Declined Parent

Child creation

Implementation

Proposal

New bug submission

Bug assigned for analysis

Bug analyzed, ready for decision

Can be imperfectly fixed In current HW version

Proposal Granted by

product team

Child creation

Can be fixed in current HW versionReported issue is

not a bug

Can be waived in current HW version

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

ST Implementation details : Workflow and Trigger

Ticket Workflow for Status field

• Attach a Jenkins trigger in ticket workflow (Status: Open -> Request Copy) • Jenkins Trigger executes a script that:

• Technically :

o Copies source ticket to new ticket o Copy-to field is used to set target product version

o Scripts are written in python using REST api. o A full python package was developed to ease Tuleap platform

access via both REST api and legacy SOAP api

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

• Tuleap is used for all projects with unique methodology :

• Very good tracking of defects during product life

• Ticket duplication automation : fast adoption by users

Gains of using Tuleap for product life-cycle management

Good efficiency No training needed for new projects.

High Quality Bug do not silently reappear during product life

No extra cost for developers No human errors created by manual procedures

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

Tuleap Items that would improve our efficiency

More automation capabilities

Full access to tracker data

Easier Tuleap project administration for non-site admins

• More complete project/tracker template instantiation • APIs : svn service, full tracker configuration (name , dependencies table) • Synchronization between svn/git tags and tracker fields

Access to raw data in all charts (cumulative flow charts)

Intermediate Tuleap admin role with access to all division projects

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

Thanks for your involvement and for your contribution to Tuleap life

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

BACKUP SLIDES

#TuleapCon2017 @TuleapOpenALM

100 % Agile & Open Source

My Tuleap Story

ST Implementation details : Tracker setup • Extra fields/Values in tracker

Status SelectBox Open/Closed/Request Copy/Open CopiedStage SelectBox Many values including closure values:

Fixed/Waived/Declined/Temporarily Fixed/..Copy To SelectBox SelectBox containing all product versions

Genealogy SelectBox Parent ,ChildFiliation ArtifactLink List child tickets