Agile engineering environment 50 minutes or less

37
Agile Engineering Environment in 50 Minutes (or less)

Transcript of Agile engineering environment 50 minutes or less

Page 1: Agile engineering environment   50 minutes or less

Agile Engineering Environment in 50 Minutes (or less)

Page 2: Agile engineering environment   50 minutes or less

About Me

Page 3: Agile engineering environment   50 minutes or less

3

Vernon is a Scrum Alliance Certified Scrum Trainer (CST) and an International Coaching Federation Professional Certified Coach. Vernon has 30 years of software development, IT, and operations experience including over 20 years leading award-winning teams in China. Vernon is a recognized expert on the practical application of Agile processes and engineering practices and is a frequent speaker at project, process, and Agile conferences globally.

Vernon StinebakerPrincipal, Agile Practices

Certified Scrum Trainer Professional Certified Coach

Page 4: Agile engineering environment   50 minutes or less

About Perficient

Page 5: Agile engineering environment   50 minutes or less

5

$487 Million in revenue 2016

1997Founded

PRFT Listed on NASDAQ

95% Repeat Business Rate

Employees3000+

N. America locations23

Global US, EU, China + India

Page 6: Agile engineering environment   50 minutes or less

6

Global Development Centers

Hangzhou, China 100% Scrum CMMI Level 5

Lafayette, LA 100% Scrum

Chennai, India 100% Scrum CMMI Level 5

Nagpur, India 100% Scrum CMMI Level 3

2,600+ Total Employees

Page 7: Agile engineering environment   50 minutes or less

7

History of Agile@Perficient

1997/1998

2008Our methodology was first assessed at CMMI Level 5 for our Hangzhou, China office in April 2008.

2010Delivered Scrum Alliance certified training to our organization.

2017Delivering Scrum training and consulting to clients

eXtreme Delivery

CMMI L5

Reassessed through full SCAMPI Class A (again, the most rigorous approach) 4 times

Reassess

Before Agile, Perficient contracted Kent Beck, the founder of eXtreme Programming (XP) to

consult in developing our delivery methodology

2016Our Chennai, India office has been assessed at CMMI Level 5

Enable Methodology

Page 8: Agile engineering environment   50 minutes or less

8

Perficient Agile Certifications

1

60+

60+

20+

1500+

Scrum Certifications

Page 9: Agile engineering environment   50 minutes or less

Setting the context

Page 10: Agile engineering environment   50 minutes or less

10

Purpose:

• To describe an agile engineering environment and share some options for establishing such an environment

Outcomes:

• Understand many of the key components that can be used to establish an agile engineering environment

• Gain exposure to various tools which can be used to build out an agile engineering environment

• Hopefully everyone will walk away with knowledge of at least one new tool (that you can go back and think about putting into use on Monday)

Purpose and Outcomes

Page 11: Agile engineering environment   50 minutes or less

11

• What comprises an Agile engineering environment • The environment itself

• Open environment — bring your toolbox • No walls, open, whiteboards

• Open minds • Open culture • Tools

• This is what we’ll focus on today • What do you use?

An Agile Engineering Environment

Page 12: Agile engineering environment   50 minutes or less

12

• If you have a chance to do so, start off right • If you don’t have a chance to start off right, set a plan

to make things right

First Things First

Page 13: Agile engineering environment   50 minutes or less

13

Pieces of the puzzle: 2009

Project Communication

(Wiki)

Test Case Management

Requirements

Code Quality

Continuous Integration

Testing Frameworks

Version Control

IDE

Code Review

Page 14: Agile engineering environment   50 minutes or less

14

Pieces of the puzzle: 2009

Code Quality

Continuous Integration

Testing Frameworks

Version Control

IDE

Code Review

Page 15: Agile engineering environment   50 minutes or less

15

Code Quality

Version Control

Testing Frameworks IDE

Code Review

Continuous Integration

• Hudson -> Jenkins

Pieces of the puzzle: 2009

Page 16: Agile engineering environment   50 minutes or less

16

Code Quality

Continuous Integration

Testing Frameworks IDE

Code Review

Version Control

• Hudson -> Jenkins • Mercurial

Pieces of the puzzle: 2009

Page 17: Agile engineering environment   50 minutes or less

17

Code Quality

Continuous Integration

Testing Frameworks

Version Control

Code Review

IDE• Hudson -> Jenkins • Mercurial • NetBeans

Pieces of the puzzle: 2009

Page 18: Agile engineering environment   50 minutes or less

18

Code Quality

Continuous Integration

Testing Frameworks

Version Control

IDE

Code Review

• Hudson -> Jenkins • Mercurial • NetBeans • Review Board

Pieces of the puzzle: 2009

Page 19: Agile engineering environment   50 minutes or less

19

Code Quality

Continuous Integration

Code Review

Version Control

IDETesting Frameworks

• Hudson -> Jenkins • Mercurial • NetBeans • xUnit • Review Board

Pieces of the puzzle: 2009

Page 20: Agile engineering environment   50 minutes or less

20

Testing Frameworks

Continuous Integration

Code Review

Version Control

IDE

Code Quality

• Hudson -> Jenkins • Mercurial • NetBeans • xUnit • Review Board • Sonar

Pieces of the puzzle: 2009

Page 21: Agile engineering environment   50 minutes or less

21

Deployment View: 2009

Developer’s Desktop

IDE

Web Server

DVCS(Mercurial)

CI(Hudson)

Quality(Sonar)

Workgroup

Web Server

DVCS(Mercurial)

CI(Hudson)

Quality(Sonar)

Organization

Web Server

DVCS(Mercurial)

CI(Hudson)

Quality(Sonar)

Organization

Requirement Management

andDefect

Tracking

Page 22: Agile engineering environment   50 minutes or less

22

• Cross platform • High degree of integration/interoperability • Scalable • Supported/rapidly developing • Simple

• Require little or no configuration • Can be started with just as single command

• They ‘just work’ • But don’t forget. There are other options.

Why this Toolset? - 2009

Page 23: Agile engineering environment   50 minutes or less

23

• For 6 years, not much • Then

• And

What’s changed?

Page 24: Agile engineering environment   50 minutes or less

24

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Page 25: Agile engineering environment   50 minutes or less

25

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Code Review

Page 26: Agile engineering environment   50 minutes or less

26

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Code ReviewRequirements Test Case

Management

Project Communication

(Wiki)

Page 27: Agile engineering environment   50 minutes or less

27

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Code ReviewRequirements Test Case

Management

Project Communication

(Wiki)

Page 28: Agile engineering environment   50 minutes or less

28

Pieces of the puzzle: 2017

Testing Frameworks

Version Control

Continuous Integration

Code Review

Code Quality

Requirements Test Case Management

Project Communication

(Wiki)

• Visual Studio CodeIDE

Page 29: Agile engineering environment   50 minutes or less

29

Pieces of the puzzle: 2017

IDE

Version Control

Continuous Integration

Code Review

Code Quality

Requirements Test Case Management

Project Communication

(Wiki)

• Jasmine Testing Frameworks

Page 30: Agile engineering environment   50 minutes or less

• Sonarqube

30

Pieces of the puzzle: 2017

IDE

Version Control

Continuous Integration

Code ReviewRequirements Test Case

Management

Project Communication

(Wiki)

Code Quality

Testing Frameworks

Page 31: Agile engineering environment   50 minutes or less

31

Deployment View 2017: Docker and GitLab Take Center Stage

Developer’s Desktop

Docker

Quality(Sonarqube)

IDE

GitLab

DCVS(Git)

ReqmtMgmt

Wiki

CI

Registry

DefectMgmt

WebServer

Page 32: Agile engineering environment   50 minutes or less

32

Deployment View: 2017

Developer’s Desktop

Docker

Quality(Sonarqube)

IDE

GitLab

DCVS(Git)

ReqmtMgmt

Wiki

CI

Registry

DefectMgmt

WebServer

Workgroup/Department/Organization

Docker

Quality(Sonarqube)

GitLab

DCVS(Git)

ReqmtMgmt

Wiki

CI

Registry

DefectMgmt

WebServer

Page 33: Agile engineering environment   50 minutes or less

33

• Cross platform • High degree of integration/interoperability • Scalable • Supported/rapidly developing • Simple

• Require little or no configuration • Can be started with just as single command

• They ‘just work’ • But don’t forget. There are other options.

Why this Toolset? - 2017

Page 34: Agile engineering environment   50 minutes or less

34

docker run -d --name gitlab -p 8080:8080 gitlab/gitlab-cedocker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube

Example (simple) script

Page 35: Agile engineering environment   50 minutes or less

Q&A

Page 36: Agile engineering environment   50 minutes or less

36

References - 2017

• git — https://git-scm.com/

• Docker — https://www.docker.com

• GitLab — https://www.gitlab.com

• Sonarqube — https://www.sonarqube.org/

• Visual Studio Code — https://code.visualstudio.com

• Jasmine — https://jasmine.github.io/

Page 37: Agile engineering environment   50 minutes or less

37

References - 2009

Tools discussed:

• Hudson -- http://hudson-ci.org/ • Mercurial -- http://mercurial.selenic.com/wiki/ • NetBeans -- http://www.netbeans.org • JUnit -- http://www.junit.org/ • Review Board --http://www.reviewboard.org/ • Sonar -- http://sonar.codehaus.org/ • Maven -- http://maven.apache.org/