silicon gym workouts for agile microchips · scrum team formation essentials all scrum team members...

29
Silicon GyM Workouts for Agile Microchips Global Scrum Gathering Prague November 17 th , 2015 John Barry and Mark Kavanagh, Intel Ireland (Shannon)

Upload: duongque

Post on 15-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Silicon GyMWorkouts for Agile MicrochipsGlobal Scrum Gathering Prague

November 17th, 2015

John Barry and Mark Kavanagh, Intel Ireland (Shannon)

Network Platforms Group

Agenda

• The Case for Change

• Introduction to Digital Design

• Forming Scrum Teams

• Register Transfer Level Design

• Functional Verification

• Physical Design

• Test Program Generation

• Possible Future Developments

• Questions

• Summary

Network Platforms Group 3

Exponential Growth in Complexity

Rapidly Evolving Requirements

Performance

Energy Consumption

Software Ecosystems

Silicon Design Must Move

Flexibility

Faster

Further

The Case for Change

Network Platforms Group 4

Why Scrum?

Network Platforms Group 5

Many Years of Scrum Experience

Network Platforms Group 6

Silicon Design Process

Source: https://verificationacademy.com/

Q

QSET

CLR

DConcept Requirements

Abstract

Model orSpecification

Register Transfer

Level Code

Verification and

Validation

Physical Design Fabrication

Output Output Output Output

FeedbackFeedbackFeedbackFeedback

Network Platforms Group 7

Formation of Teams for SoC

Source: https://verificationacademy.com/

Concept Requirements

AbstractModel or

Specification

Register Transfer

Level Code

Verification and Validation

Physical DesignFabrication

Q

QS ET

C LR

D

Q

QS ET

C LR

D

Network Platforms Group 8

Formation of Teams for SoC

Source: https://verificationacademy.com/

Concept Requirements

AbstractModel or

Specification

Register Transfer

Level Code

Verification and Validation

Physical DesignFabrication

Q

QS ET

C LR

D

Q

QS ET

C LR

D

Network Platforms Group 9

Scrum Team Formation Essentials

All Scrum Team Members Must be Capable of Executing All User Stories within Single Scrum

Skills / Breadth of Technical Expertise

Use

Cas

es /

Use

r St

ori

es

Domain Knowledge Requirements Too Large

Too Many Technical Skills

Required

Manageable Set of Features and

Technical Skills

Q

QS ET

C LR

D

Network Platforms Group 10

Silicon Design Process - RTL

Source: https://verificationacademy.com/

Q

QSET

CLR

DConcept Requirements

Abstract

Model orSpecification

Register Transfer

Level Code

Verification and

Validation

Physical Design Fabrication

Output Output Output Output

FeedbackFeedbackFeedbackFeedback

Network Platforms Group 11

// FSM Logic

always_comb begin

fsm_next_state = IDLE;

case (fsm_curr_state)

IDLE: begin

if (in_sig1) begin

fsm_next_state = PKT;

end

else begin

fsm_next_state = IDLE;

end

end

PKT: begin

if (in_sig2) begin

fsm_next_state = IDLE;

else begin

fsm_next_state = PKT;

end

end

default: begin

fsm_next_state = IDLE;

end

endcase

end

Behavioural Change

“Definition of Done” includes

– Basic Synthesis Checks

– Formal Proofs for Functionality

Register Transfer Level Design- Test Driven Development

Device Under Test Bounded Proof

Focus TDD flow on Consumer’s Requirements:What Needs to be Proven to Ensure Success?

Network Platforms Group 12

Consumers with Conflicting Interests

1. Verification and Validation

Want related user stories together

Complete functions/epics serially

2. Physical Design

Implement some user stories from all functions/epics in parallel

Register Transfer Level Design –Conflicted Consumers

Product Owner Must Balance Risk and Value

Physical RTL ValidationDesign PO Verification

Illustration by Dave Barry

Network Platforms Group 13

Silicon Design Process – Verification & Validation

Source: https://verificationacademy.com/

Q

QSET

CLR

DConcept Requirements

Abstract

Model orSpecification

Register Transfer

Level Code

Verification and

Validation

Physical Design Fabrication

Output Output Output Output

FeedbackFeedbackFeedbackFeedback

Network Platforms Group

Adapted from CollabNet Scrum Reference, by Michael James

14

Environment and Test Development Regression

Verification and Validation

Pending Under Debug Fixing Testing Fix Integrating Fix

Evolve Process with Life Cycle Phases

Prioritize

Requirements

Design Test

Release

Network Platforms Group 15

Silicon Design Process – Physical Design

Source: https://verificationacademy.com/

Q

QSET

CLR

DConcept Requirements

Abstract

Model orSpecification

Register Transfer

Level Code

Verification and

Validation

Physical Design Fabrication

Output Output Output Output

FeedbackFeedbackFeedbackFeedback

Network Platforms Group 16

Difficult Agile Adoption

Extended Run Times

PD Closer to Manufacturing Process

– Cannot Drop Features in PD

– Need to Complete Process for Viable Chip

Mitigations

Stretch the Process

– Extend Sprint Duration

– Extend Scale of User Stories

Physical Design

Art of the PossiblePush the Process as far as Technology Allows

Network Platforms Group 17

Silicon Design Process – Preparing for Fabrication

Source: https://verificationacademy.com/

Q

QSET

CLR

DConcept Requirements

Abstract

Model orSpecification

Register Transfer

Level Code

Verification and

Validation

Physical Design Fabrication

Output Output Output Output

FeedbackFeedbackFeedbackFeedback

Network Platforms Group 18

Successfully Scaling

Hard to Scale Bad/Immature Agile

Drives Alignment and Synergy

– Standardization is Critical

– Variation Kills

Limit Cross-Site and Cross-Geo Scrums

– Limit Geos / Sites in a Single Train

Simple Rules

– Hard to Follow

Test Program Generation

Network Platforms Group 19

What do we do next?

Source: https://verificationacademy.com/

Q

QSET

CLR

DConcept Requirements

Abstract

Model orSpecification

Register Transfer

Level Code

Verification and

Validation

Physical Design Fabrication

Output Output Output Output

FeedbackFeedbackFeedbackFeedback

Network Platforms Group 20

Natural Language Specifications

Prone to Mis-Interpretation

Slow and Labour-Intensive Finding Bugs

Executable Specifications

Test Driven Specification Development

Focus on User Stories

Next Steps – Agile at Higher Abstraction Layers

Network Platforms Group 21

Questions?

Network Platforms Group 22

Summary

Ensure bounds on feature knowledge and skill set for each scrum team

Product Owner must sometimes balance interests of competing consumers

Look at different options when implementing Test Driven Development

Allow the process to evolve with the development life cycle

May need to stretch the process to accommodate underlying technology

Mature scrum teams prior to scaling

Network Platforms Group

Legal Disclaimers

Technology Disclaimer:

Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at [intel.com].

Performance Disclaimers (include only the relevant ones):

Cost reduction scenarios described are intended as examples of how a given Intel- based product, in the specified circumstances and configurations, may affect future costs and provide cost savings. Circumstances will vary. Intel does not guarantee any costs or cost reduction.

Results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.

General Disclaimer:

© Copyright 2015 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.

23

Network Platforms Group 24

Backup

Network Platforms Group 25

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Agile Manifesto

Agile

Behaviours

Process

Network Platforms Group 26

Agile PrinciplesOur highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant paceindefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Network Platforms Group 27

Work Context

Technology

Anarchy

Simple

Complex

Far from

Certainty

Close to

Certainty

Req

uir

em

en

tsF

ar

fro

m

Ag

ree

me

nt

Clo

se t

o

Ag

ree

me

nt

Complicated

Complicated

Technology

Anarchy

Simple

Complex

Far from

Certainty

Close to

Certainty

Req

uir

em

en

tsF

ar

fro

m

Ag

ree

me

nt

Clo

se t

o

Ag

ree

me

nt

Complicated

Complicated

* Adapted from Strategic Manaegment and Organizational Dynamics,The Challenge of Complexity - 3rd Edition, Ralph D. Stacey , Prentice Hall,Feb. 2000

Waterfall works with well-defined and unchanging projects, and can work well with well understood yet complicated development

Agile works well with complicated, complex projects that need to adapt to changes

Agile

Network Platforms Group 28

Scrum Behaviours

Accountability/Responsibility/Transparency

Takes pride in the Product (Value)

Buy In/Engagement (adheres to Agile Manifesto and Principles)

• Motivation

Adaptability/Flexibility

Teamwork and Collaboration (Updates and Communications)

•Prioritizes on value, risk, effort and dependencies

•Focuses on quality

Inspects and adapts (Continuous Improvements – removes impediments)

Growth and Development (Support the development of the team)

Challenges Status Quo

Intel Confidential – Internal Use Only