Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile Engineering Environment – 2017

28 views

Published on

In October 2009, I presented a well-received session entitled An Agile Engineering Environment (in 59 Minutes or Less) at an Agile conference in Chengdu, China. From 2009 – 2015 the environment presented in that session remained fundamentally unchanged as our primary internal development environment. By 2015, however, we began seeing the emergence of new tools which build upon the basic premises of that environment, but enable an even more robust environment to be established even more quickly and independently than the 59-minute environment realized in the 2009 session.

In this session, we will briefly introduce the original configuration and see how modern tooling and techniques enable the improved environment to be established in a fraction of the time, enabling even greater agility in our engineering environment.

Published in: Leadership & Management
  • Be the first to comment

Agile Engineering Environment – 2017

  1. 1. Agile Engineering Environment in 50 Minutes (or less)
  2. 2. About Me
  3. 3. 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 Stinebaker Principal, Agile Practices Certified Scrum Trainer Professional Certified Coach
  4. 4. About Perficient
  5. 5. 5 $487 Million in revenue 2016 1997Founded PRFT Listed on NASDAQ 95% Repeat Business Rate Employees 3000+ N. America locations 23 Global US, EU, China + India
  6. 6. 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. 7. 7 History of Agile@Perficient 1997/1998 2008 Our methodology was first assessed at CMMI Level 5 for our Hangzhou, China office in April 2008. 2010 Delivered Scrum Alliance certified training to our organization. 2017 Delivering 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 2016 Our Chennai, India office has been assessed at CMMI Level 5 Enable Methodology
  8. 8. 8 Perficient Agile Certifications 1 60+ 60+ 20+ 1500+ Scrum Certifications
  9. 9. Setting the context
  10. 10. 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. 11. 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. 12. 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. 13. 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. 14. 14 Pieces of the puzzle: 2009 Code Quality Continuous Integration Testing Frameworks Version Control IDE Code Review
  15. 15. 15 Code Quality Version Control Testing Frameworks IDE Code Review Continuous Integration • Hudson -> Jenkins Pieces of the puzzle: 2009
  16. 16. 16 Code Quality Continuous Integration Testing Frameworks IDE Code Review Version Control • Hudson -> Jenkins • Mercurial Pieces of the puzzle: 2009
  17. 17. 17 Code Quality Continuous Integration Testing Frameworks Version Control Code Review IDE • Hudson -> Jenkins • Mercurial • NetBeans Pieces of the puzzle: 2009
  18. 18. 18 Code Quality Continuous Integration Testing Frameworks Version Control IDE Code Review • Hudson -> Jenkins • Mercurial • NetBeans • Review Board Pieces of the puzzle: 2009
  19. 19. 19 Code Quality Continuous Integration Code Review Version Control IDE Testing Frameworks • Hudson -> Jenkins • Mercurial • NetBeans • xUnit • Review Board Pieces of the puzzle: 2009
  20. 20. 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. 21. 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 and Defect Tracking
  22. 22. 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. 23. 23 • For 6 years, not much • Then • And What’s changed?
  24. 24. 24 Pieces of the puzzle: 2017 Version Control Continuous Integration
  25. 25. 25 Pieces of the puzzle: 2017 Version Control Continuous Integration Code Review
  26. 26. 26 Pieces of the puzzle: 2017 Version Control Continuous Integration Code Review Requirements Test Case Management Project Communication (Wiki)
  27. 27. 27 Pieces of the puzzle: 2017 Version Control Continuous Integration Code Review Requirements Test Case Management Project Communication (Wiki)
  28. 28. 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 Code IDE
  29. 29. 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
  30. 30. • Sonarqube 30 Pieces of the puzzle: 2017 IDE Version Control Continuous Integration Code Review Requirements Test Case Management Project Communication (Wiki) Code Quality Testing Frameworks
  31. 31. 31 Deployment View 2017: Docker and GitLab Take Center Stage Developer’s Desktop Docker Quality (Sonar qube) IDE GitLab DCVS (Git) Reqmt Mgmt Wiki CI Registry Defect Mgmt Web Server
  32. 32. 32 Deployment View: 2017 Developer’s Desktop Docker Quality (Sonar qube) IDE GitLab DCVS (Git) Reqmt Mgmt Wiki CI Registry Defect Mgmt Web Server Workgroup/Department/Organization Docker Quality (Sonar qube) GitLab DCVS (Git) Reqmt Mgmt Wiki CI Registry Defect Mgmt Web Server
  33. 33. 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. 34. 34 docker run -d --name gitlab -p 8080:8080 gitlab/gitlab-ce docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube Example (simple) script
  35. 35. Q&A
  36. 36. 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. 37. 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/

×