1 / 49

The Activities of ColruytGroup are supported by multiple Corporate Services

Our exciting journey to an open Java ecosystem. @.

mpartlow
Download Presentation

The Activities of ColruytGroup are supported by multiple Corporate Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Our exciting journey to an open Java ecosystem @ By Evert Delanghe Roadmaps Design – Development - IntegrationAnd David Paumen Senior Software Engineer Java

  2. The Activities of ColruytGroup are supported by multiple Corporate Services Supporting Services

  3. BP&S Business Processes & Systems supports ColruytGroup in 3 different domains ProcessOptimalisation Infrastructure Application Development

  4. Business Processes & Systems BP&S

  5. Hi

  6. I’m Duke

  7. qualitative and efficient java application delivery

  8. Whathappened Earlydays of java … no clearleading Java Framework“Colruyt : differentiatebycustomisation” Simplicitybyencapsulatingandhidingtechnology 2001 Customjava Frame & Tools Technology starts to run behind on Industry Standards Craftsmanship in Industry Standards low

  9. Whathappened Customjava Frame & Tools 2012 + Tools : PreferredVendor Policy+ Software Packages ↗ CustomDev↘ Technology runs behind on Industry Standards Craftsmanship in Industry Standards low

  10. BUILD • Continuousintegration • Easy Multimodule build • Flexible, adaptablebuilds • Ant • Maven • Gradle • Java batch processes • Automation of enhancement of entities • Eliminate manual setup 2017Inventorizepainpoints DEV • Local code quality feedback duringdevelopment : Sonarlint (Sonar eclipseplugin) • Up to date IDE (IntelliJ, RAD, eclipse, free choice) • Automatic dependency management (currently manual in the IDE) • Transitivedependency management • Archetypes • Automatic generation of files forpackaging (manifest, application.xml) • Unit testing + DB testing • Up to date javaversion : Java EE 7 / Java 8 • Smooth procedure to accept new utillibraries (RAM libraries) • Easy access to new versions of alreadyacceptedlibraries • Up to date corenewstacklibraries (JSF 2.2 /JPA 2.1) • Recent market Javascript frameworks • Javadocresolving/access in localdevelopment IDE • Java sources resolving in IDE • Consistent project structurewhichfollowsIndustry Standards (Seperate test/persistence projects, resources in same folder as sources…) • RAM performance / license availability Conclusion : a lot of them… DEPLOY • Up toto date target server :WAS versionroadmap • SnappyandresponsiveSyst environment (lack of resources) • AbilitytoSwitchingapps on/off quickly in test envs • Docker-like thinking … where to start ? OTHER • Embrace open mindset • Step awayfromonlyone solution

  11. 2017Top 3 actions • Build/DependencyManagement • IDE • Continuous Integration Why would we succeed this time ? • Togetherwithdevelopers • Togetherwithexternal experts • On Strategic RoadmapBusiness Processes & Systems

  12. 2019Top12 actions IDE Continuous Integration Gradle Angular Wavemaker Batch DB gov Work-stations Styleguide Design Spring /JEE? Containers

  13. Approach • 1. Technology • 4. Rollout Javaeco-system • 2. Developer • 3. User Experience

  14. Tech • no • logy • 1. Technology Javaeco-system

  15. Goals

  16. Technology Industry Standards - Industry standards – Industry standards – Industry Stan… • Components integratesmoothly • Active communities : the worldthinkswithyou • Confidentdevelopers – professionals, alsoagainst the standards of the outsideworld - market value • Employer branding – war for talent • Broadvariety of External Trainings

  17. Java Development Pipeline BEFORE RAD Development Code Build Deploy Test IDE Browsers Build Tool Servers Ant IE Commit Version Control RTC App Server TEST SYST PROD Build Forge Build Forge Build Forge Build Forge Deploy Code Quality Publish Build RAM Build Ant

  18. Java Development Pipeline BEFORE RAD Development Code Build Deploy Test IDE Browsers Build Tool Servers Ant IE Commit Version Control RTC App Server TEST SYST PROD Build Forge Build Forge Build Forge Build Forge Deploy Code Quality Publish Build RAM Build Ant

  19. Java Development Pipeline inline with Development Code Build Deploy Test Build Tool IDEs Browsers Servers Eclipse Chrome Gradle IE SonarLint (Static Code Analysis) Liberty Commit CI Tool Version Control Continuous Jenkins Integration App Server TEST SYST PROD Internal Quality Checks Build Unit Tests Code Quality Publish Deploy Unit Tests Build Gradle IntelliJ

  20. Goals

  21. Java Frontend in the Past • Notpossibletofullfillrich User Experiencerequirements (ex planningstool shops) • Multi-channel desktop-tablet-mobile difficult

  22. Frontend serverside  clientside Steeplearning curve

  23. 2. Developer • Technology • 1. Technology Javaeco-system • 2. Developer

  24. Energy Developer ↗ Empower Developer – Empower Developer - Empower Developer - Empower Chooseyourown Device : Windows or MAC Chooseyourown Tool : Eclipse or IntelliJ GiveAutonomy on your device : allowlocaladmin Increase performance Local Development : -30 min/day / dev High performant workstations

  25. Statistics – Development environment

  26. Inject external expertise Useexternal experts toIncrease the maturityon new industry standard tools & technologies 60% “hands-on” in projects 30% “coaching” 10% Java corporate level

  27. When can a coach leave ? • When the craftsmanship in the team on the new technologies is high enough • Level 3 in ourCraftsmanship Matrix • Each teammember is responsible for getting there • Coach takes also actions to get the team there • Every 4 months crosscheck if the team is already on the right level

  28. Reviews • Peer reviews withinthe projectteam • Pair programming • External reviews by Java Review Board= byinternal/external experts spread acrossthedeveloper community • Sanity checks (busy) #DB calls #service calls

  29. Strenghten Java Community Colruyt Java Developers Belgium and IndiaMultiple locations in BelgiumMultiple business domains

  30. Strenghten Java Community Put documentation on Wiki Documentationbecomes a shared responsabilityEverybody contributesandimprovesthequality Share Experience on Forum Notexperienced ? Post yourquestionsExperienced ? Answerthequestions

  31. Java Community Days Twotimes a year Both India and Belgium Learntoknoweachother, toimproveexperiencesharing

  32. Java Community Also : Tech talks, Devoxx, NG-BE, HackJam, Hackaton,…

  33. Autonomy expected 3 3 3 Internal support team Internet Internal Developer Community 3 External Community 2 Coach dedicated to project Project Context 1 2 Project Peer Self Colruyt Group

  34. 3. UserExperience • Developer • Technology • 1. Technology Javaeco-system • 2. Developer • 3. User Experience

  35. Corporate Styleguide

  36. Corporate Styleguide

  37. Corporate Themes Mobile -> Android Themes for:-> Primefaces -> PrimeNg -> Wavemaker

  38. UX Guidance UX for Solution Analists UX Key Users Training CoE A A Analist Analist +UX UX expertise A Expert Help Style guide Analist Analist Style Guide CCX

  39. Developer • Technology • 1. Technology • 4. Rollout • 4. Rollout Javaeco-system • 2. Developer • 3. User Experience

  40. Change Nowhowtoevolvefrom 1 to the other ? SiloMonolithic Open to the world Modular No renovation, but a complete new house

  41. How to introduce the technologies Readiness Who Basic setupGet it working Some pioneers Resolve extra painpoints 3-5 extra projectteams, with expertise present 5-30 projects Finetune All projects Ready Per technologyEachphaseapprox 4-6 months

  42. How to introduce the technologies • PRO • Allowstorollouttechnologyearlywhereneeded • Allowspioneersand enthousiasts to step in early • Allowsotherstowaituntil more support • Support anddocumentation are built up inlinewithneeds • Early adopters = ambassadorsforthe next

  43. Example Complete Rollout New Tools 1 2 3 4 5 Poc’s Pilots Believers Migration Decommission Realize Few Projects Standardize Progressive BuildExperience Fade out - IBM Tools Validation BelieversDriven Old tools fading out New tools adaptation

  44. Done - Next IDE Continuous Integration Gradle Angular Wavemaker Batch DB gov Work-stations Styleguide Design Spring /JEE? Containers

  45. First catch up andempowerThen keep up … Then run upfrontwhereneeded We are on a never endingjourney

  46. Questions

More Related