Using Agile Techniques with ESL - NASCUG

60 downloads 64 Views 693KB Size Report
Using Agile Techniques with ESL for Better Results ... Use Scrum in situations where feedback is .... Succeeding with Agile: Software Development. Using Scrum ...
Using Agile Techniques with ESL for Better Results

David Black, Hemendra Talesara, Neil Johnson

Agenda

•Agile Agile context ESL context Closer look at Agile From Waterfall to Agile How Agile g benefits ESL

© 2010 XtremeEDA USA Corporation - Versio91400721.10

www.agilemanifesto.org Defined Approach pp (Very Rigid)

Contract negotiation Processes and tools Comprehensive documentation Following a plan

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Agile g Approach pp (Highly Adaptive)

Customer collaboration Individuals and interactions Working software (or hardware) Responding to change

www.agilemanifesto.org Defined Approach (Very Rigid)

Contract negotiation Processes and tools Comprehensive p documentation Following a plan "non-Agile" Teams

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Agile Approach (Highly Adaptive)

Customer collaboration Individuals and interactions Working software (or hardware) Responding to change

www.agilemanifesto.org Defined Approach (Very Rigid)

Contract negotiation Processes and tools Comprehensive p documentation Following a plan

Agile Approach (Highly Adaptive)

Customer collaboration Individuals and interactions Working software (or hardware) Responding to change Agile Teams

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Agenda

Agile context ESL context Closer look at Agile From Waterfall to Agile How Agile g benefits ESL

© 2010 XtremeEDA USA Corporation - Versio91400721.10

ESL Improves Scope & Scheduling • DEFINITION: Electronic System-Level design – Level of abstraction encompassing all aspects of the electronics portion of the system including hardware,, software,, and surrounding environment

Architecture Hardware Verification Software

Integration

time

© 2010 XtremeEDA USA Corporation - Versio91400721.10

No longer serial

ESL Use-Cases Models Models Models Models Models

for for for for for

Architecture Exploration Performance Analysis Earlyy SW Development p Early Verification High g Level Synthesis y

ESL MODEL PROVIDES AN EXECUTABLE SPECIFICATION

© 2010 XtremeEDA USA Corporation - Versio91400721.10

ESL Goal: Understand the big picture

Scope

ESL models Budget

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Schedule

Agenda

Agile context ESL context Closer look at Agile From Waterfall to Agile How Agile g benefits ESL

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Empirical vs. Defined Process

Unknown U

Accurately planning, planning even in the short term, is extremely difficult in unstable situations with many unknowns

Te echnolog gy

Use Scrum in situations where feedback is required to validate long term goals

Requirements

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Unknown

Apply defined process in situations where technology and d requirements i t are highly hi hl stable and well understood

Working Software (Hardware) Waterfall Model – A sequential process – One big bang, production ready release at the end of the project – Lessons learned for the next project – Task T kd driven i development d l t

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Working Software (Hardware) Waterfall Model – A sequential process – One big g bang, g, production ready release at the end of th project the j t – Lessons learned for the next project – Task driven development

© 2010 XtremeEDA USA Corporation - Versio91400721.10

• Agile g Model – An incremental process p – Many production ready “re-spins” during the project – Regular retrospectives – Deliverables driven development

Working Software (Hardware) Waterfall Model – A sequential process – One big g bang, g, production ready release at the end of th project the j t – Lessons learned for the next project – Task driven development

© 2010 XtremeEDA USA Corporation - Versio91400721.10

• Agile g Model – An incremental process p – Many production ready “re-spins” during the project – Regular retrospectives – Deliverables driven development

Agenda

Agile context ESL context Closer look at Agile From Waterfall to Agile How Agile g benefits ESL

© 2010 XtremeEDA USA Corporation - Versio91400721.10

From Waterfall to Agile Traditional waterfall (prior to ESL)

A

A

H

V

R

s

l

r

a

e

e

o

g

c

r

r

t a

d

i

i

w

f o i

o r

m

h i

t

l

i o n

f t w

i

t

a

i

n z

t

e

r

c

a

r

h

c

e

a

t

e

50% Done

© 2010 XtremeEDA USA Corporation - Versio91400721.10

a

From Waterfall to Agile ESL model enables concurrent start of implementation Removes Realization requirement for Software A

A

l

r

g

c

Software m E o

h m tS d i r L e i t l e t

o

h

c

Hardware

Ve r i f i c a t i o n

50% Done

© 2010 XtremeEDA USA Corporation - Versio91400721.10

50% Done

From Waterfall to Agile Agile enables incremental design and quicker feedback

Algorithm Architecture ESL model Software Hardware Ve r i f i c a t i o n

50% Done o e

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Agenda

Agile context ESL context Closer look at Agile From Waterfall to Agile How Agile g benefits ESL

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Incremental Development Agile development teams regularly provide deliverables

Maximum Product

% Comp plete

Middle Product

Minimum Product

Time © 2010 XtremeEDA USA Corporation - Versio91400721.10

What Does Agile Mean to Us Now? Agile planning model – Defined process hasn’t worked very well

Incremental development to replace the big bang – Better teamwork – Feature based milestones w/functional, demonstrable code TPRJ

TPRJ

V if Verif

ESL

21 © 2010 XtremeEDA USA Corporation - Versio91400721.10

Agile + ESL = Natural Fit 1. Agile is successive refinement 2. Agile is successful for software development 3. Agile is a progression of changes/features h /f t

1. ESL authored for reuse and refinement 2. ESL modeling "is" software 3. ESL supports mixing l levels l off abstraction b t ti – Untimed, Loosely timed Approximately timed, timed, …

Agile project tools manage processes inherent to ESL

© 2010 XtremeEDA USA Corporation - Versio91400721.10

Summary: Benefits of Going Agile More productive team – Visibility and effective communication – Cross-functional development team – Regular retrospection – Customer collaboration

Progressive feature closure – Responsive to change – Incremental development – Continuous integration Big value to ALL stake holders - win - win - win

© 2010 XtremeEDA USA Corporation - Versio91400721.10

References • www.synopsys.com/Community/SNUG/San j jose/ /

www.agilesoc.com/articles – Why Agile is a Good Fit for ASIC and FPGA – – – –

Development Agile Transformation in IC Development A Agile An A il Approach A h to t ESL Modeling M d li Agile Teams: What Are They Good For? And others…

Books – Succeeding S di with ith Agile: A il Software S ft Development D l t

Using Scrum by Mike Cohn – Extreme Programming Explained: Embrace Ch Change (2nd (2 d Ed) d) by b Kent Beckk © 2010 XtremeEDA USA Corporation - Versio91400721.10

Suggest Documents