Agile engineering environment 50 minutes or less

Post on 29-Jan-2018

26 views 1 download

Transcript of Agile engineering environment 50 minutes or less

Agile Engineering Environment in 50 Minutes (or less)

About Me

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

About Perficient

5

$487 Million in revenue 2016

1997Founded

PRFT Listed on NASDAQ

95% Repeat Business Rate

Employees3000+

N. America locations23

Global US, EU, China + India

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

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

8

Perficient Agile Certifications

1

60+

60+

20+

1500+

Scrum Certifications

Setting the context

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

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

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

13

Pieces of the puzzle: 2009

Project Communication

(Wiki)

Test Case Management

Requirements

Code Quality

Continuous Integration

Testing Frameworks

Version Control

IDE

Code Review

14

Pieces of the puzzle: 2009

Code Quality

Continuous Integration

Testing Frameworks

Version Control

IDE

Code Review

15

Code Quality

Version Control

Testing Frameworks IDE

Code Review

Continuous Integration

• Hudson -> Jenkins

Pieces of the puzzle: 2009

16

Code Quality

Continuous Integration

Testing Frameworks IDE

Code Review

Version Control

• Hudson -> Jenkins • Mercurial

Pieces of the puzzle: 2009

17

Code Quality

Continuous Integration

Testing Frameworks

Version Control

Code Review

IDE• Hudson -> Jenkins • Mercurial • NetBeans

Pieces of the puzzle: 2009

18

Code Quality

Continuous Integration

Testing Frameworks

Version Control

IDE

Code Review

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

Pieces of the puzzle: 2009

19

Code Quality

Continuous Integration

Code Review

Version Control

IDETesting Frameworks

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

Pieces of the puzzle: 2009

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

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

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

23

• For 6 years, not much • Then

• And

What’s changed?

24

Pieces of the puzzle: 2017

Version Control

Continuous Integration

25

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Code Review

26

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Code ReviewRequirements Test Case

Management

Project Communication

(Wiki)

27

Pieces of the puzzle: 2017

Version Control

Continuous Integration

Code ReviewRequirements Test Case

Management

Project Communication

(Wiki)

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

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

• Sonarqube

30

Pieces of the puzzle: 2017

IDE

Version Control

Continuous Integration

Code ReviewRequirements Test Case

Management

Project Communication

(Wiki)

Code Quality

Testing Frameworks

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

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

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

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

Q&A

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/

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/