Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

How to overcome challenges in it system evolution

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 36 Anzeige

How to overcome challenges in it system evolution

Herunterladen, um offline zu lesen

This presentation shows the problems and challenges in IT system evolution and the ways to deal with them, from Architect & Team Leader and Project & Portfolio Manager perspective

This presentation shows the problems and challenges in IT system evolution and the ways to deal with them, from Architect & Team Leader and Project & Portfolio Manager perspective

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie How to overcome challenges in it system evolution (20)

Anzeige

Weitere von Grupa Unity (20)

Aktuellste (20)

Anzeige

How to overcome challenges in it system evolution

  1. 1. How to overcome challenges in IT system evolution Adam Pietrzak, Grzegorz Sobczyk
  2. 2. 2 11 Project Managerów 13 Testerów 12 Analityków systemowych, projektantów UX 120 Programiści PHP/JAVA/ .NET 10 HTML / CSS Developerów 10 Strategia, e-marketing, konsultanci A few words about us Adam Pietrzak Grzegorz Sobczyk Architect / Team leader Sometimes: Java/JVM developer Over 10 years experience Likes: skateboarding and JVM meetups Doesn't like: coffee Working together in team of 20 people. Project & Portfolio Manager Previously: Business Analyst Over 10 years experience Hobby: MTB
  3. 3. 3 11 Project Managerów 16 Marketing w sieci 120 Programiści PHP/JAVA/ .NET 10 Strategia, e-marketing, konsultanci Welcome to Unity Group 21 years of experience | 200+ employees | 7 mln EUR turnover in 2017 | Over 100 actively supported clients | Over 500 projects delivered since 1997 | Located in fastest growing IT outsourcing locations in Europe: Wroclaw, Krakow (Cracow), Poznan Bespoke software solutions (web and mobile) CMS / CXM & Marketing Automation solutions Team outsourcing & Staff augmentation E-commerce & omnichannel solutions
  4. 4. Our experience in delivering services internationally 4 • We are well prepared for cooperation: - either with big brands in various sectors that require experienced team and thorough - knowledge - or smaller startups that expect proper guidance 7 Project Managerów Retail / Distribution / FMCG Finance / Insurrance Automotive / Industry
  5. 5. 5 11 Project Managerów How to overcome challenges in IT system evolution • Our experience in big e-commerce system development and maintenance • "Victims" of our actions: • Customers • Business Owners • Project Managers • Developers • Challenges (evolution of big systems and long-term projects) • Future and possibilities We are going to talk about:
  6. 6. 6 11 Project Managerów Root problems: 1. Quick and dirty development in the past and its natural consequences: • "Spaghetti code" • Significant technical debt 2. Inconsistent development due to: • Lack of roadmap • Lack of good coding practices Bugs and failures
  7. 7. 7 11 Project Managerów Bugs and failures Negative effects: 1. Repeating 'Out Of Service' situations 2. Error-prone and unstable system after modifications 3. Dissatisfaction of customers Victims: - Customers - Yes - Business Owners - Yes - Project Managers - No - Developers - No
  8. 8. 8 11 Project ManagerówSolutions: 1. Version Control System • In order to track changes and control simultaneous modifications • Popular tools: GIT, SVN. Bugs and failures
  9. 9. 9 11 Project ManagerówSolutions: 2. Code Review • To ensure that developers adhere to established coding standards • Popular tools: GitHub, GitLab Bugs and failures
  10. 10. 10 11 Project ManagerówSolutions: 3. Unit tests • In order to identify bugs faster and verify business logic • Popular tools: JUnit, NUnit, PHPUnit, mocha Bugs and failures
  11. 11. 11 11 Project ManagerówSolutions: 4. Recovery procedures e.g. Data Base backups, application rollbacks Bugs and failures
  12. 12. 12 11 Project ManagerówSolutions: 5. Security audit • Correcting major flaws and vulnerabilities • Popular tools: VeraCode, SonarQube, external auditors Bugs and failures
  13. 13. 13 Long Time-To-Market Root problems: 1. More complex and time- consuming development cycle 2. Many Product Owners and Stakeholders 3. Many simultaneous changes
  14. 14. 14 Long Time-To-Market Negative effects: 1. Lost benefits and missed opportunity to be a pioneer 2. Supplier's reluctance to start immediately and work in quick&dirty way Victims: - Customers - No - Business Owners - Yes - Project Managers - Yes - Developers - No
  15. 15. 15 Long Time-To-Market Solutions: 1. Better planning and team organization • Consistent and prioritatized backlog(s) • Roadmap • Agile practices
  16. 16. 16 Long Time-To-Market Solutions: 2. Two stages of technical debt • First stage - Quick & Dirty development • Second stage - removing technical debt
  17. 17. 17 Long Time-To-Market Solutions: 3. Reasonable quality management • Quality is not the goal itself • Code doesn't have to be perfect but good enough
  18. 18. 18 Long Time-To-Market Solutions: 4. Continuous Integration and deployment procedures • To automate build processes and identify problems sooner • Popular tools: Jenkins, Travis CI, GitLab
  19. 19. 19 Long Time-To-Market Solutions: 5. More QA environments
  20. 20. 20 Low performance and HA Root problems: 1. The system is complex and well- organized, but it is complicated 2. Adding resources does not help 3. Traffic is growing. Especially during the campaign 4. Background operations have an impact on the entire system
  21. 21. 21 Low performance and HA Negative effects: 1. Business Owners are irritated that their applications do not support all traffic (BlackFriday) 2. The system is not responsive 3. Users have negative opinion about the application in social-media 4. Business Owners must agree on hot fixes and downtimes Victims: - Customers - Yes - Business Owners - Yes - Project Managers - No - Developers - No
  22. 22. 22 Low performance and HA http2.unity.pl Solutions: 1. Application profiling, stress tests and metrics 2. Monitoring, analysis and regularity tests 3. Cache: local, central, http (varnish + ESI) 4. Queues and data buses 5. Turbo http/2 6. Horizontal scaling (allows rolling deployments, continuous delivery, flexible performance improvement)
  23. 23. 23 11 Project Managerów Expensive maintenance and development Root problem: 1. Large team 2. Elaborate system 3. Unnecessarily complex business logic
  24. 24. 24 11 Project Managerów Expensive maintenance and development Negative effects: 1. Cost for client 2. Lower efficiency of team due to: • Time-consuming communication • Multitasking and lot of work in progress • Organization activities • Necessity of „changeovers” Victims: - Customers - No - Business Owners - Yes - Project Managers -Yes - Developers - No
  25. 25. 25 11 Project Managerów Expensive maintenance and development Solutions: 1. Continuous improvement of team organization • Sharing knowledge • More advanced project/task management tools (e.g. JIRA) • Another/Additional agile practices
  26. 26. 26 11 Project Managerów Expensive maintenance and development Solutions: 2. DevOps • Automated testing • Internal tools created on one's own • Shortening time to first commit (e.g. One Click Run) • Other automation tools (e.g. ANSIBLE)
  27. 27. 27 11 Project Managerów Expensive maintenance and development Solutions: 3. Technical debt reducing • Removing unused code and simplifying the rest • Using specialized tools (e.g. SonarQube) as hints (potential bugs, vulnerabilities, duplicated code, untested code)
  28. 28. 28 11 Project Managerów Expensive maintenance and development Solutions: 4. PoC (Proof of Concept) and MVP (Minimum Viable Product) • Not only for business sense verification but also in order to reduce risk of costly washouts and to evaluate the final cost more precisely
  29. 29. 29 Unattractive maintenance Root problem: 1. Old components and libraries 2. Old unused code 3. Unnecessary tools 4. Large entry threshold for new employees 5. Differences between old and new generation (different style of work, focus on new products, familiar with trends)
  30. 30. 30 11 Project Managerów Unattractive maintenance Negative effects: 1. Acquiring a new person has become difficult 2. Negative effects of employee attrition 3. Frequent explanations "it's hard to improve" Victims: - Customers - No - Business Owners - No - Project Managers -Yes - Developers - Yes
  31. 31. 31 11 Project Managerów Unattractive maintenance Solutions: 1. Reporting unused and complicated places in system to the client 2. Spreading knowledge in a team, taking care of new employees 3. Upgrades (especially important for young employees)
  32. 32. 32 11 Project Managerów Trends and possibilities • Big & complex monolithic application • Modifications influence on system as a whole (fragility) • Potential vendor lock Where are we now Possibilities Be aware: There is no silver bullet! • Some systems are divided into smaller parts by specific roles (UI, REST, etc.) • In other systems we implement micro/macro services • Other systems are divided between different server rooms (but they can work independently)
  33. 33. Making the right decision
  34. 34. 34 Making the right decision • Making a decision what to do with your system boils down to analysis of several factors e.g. expenses, current trends in technology as well as condition of your platform. However, there is one essential issue that should be considered - how important the system is for your business. In other words, which phase of its evolution the system has reached (presented by the vertical swimlanes in the picture). • After your system has reached maturity level when Time-To-Market matters the cost of IT maintenance and development is not so crucial anymore compared to the cost of marketing, assortment management and logistics. These expenses are much higer, however they bring huge money.
  35. 35. 35 Making the right decision • At the same time IT system limitations or its unavailability - even during very short period - can seriously lower company's reputation and deprive it from huge profits. It is not important how much IT costs but whether system is fully operational. • There is no universal solution that can be applied to mature and complex systems. Refactoring legacy code? Decomposing? Rewriting from scratch? Definitely, thorough analysis is something that needs to be done.
  36. 36. ul. Przedmiejska 6–10 54-201 Wrocław +48 71 358 41 00 biuro@unity.pl Grupa Unity S.A www.unity.pl Adam Pietrzak adam.pietrzak@unity.pl Grzegorz Sobczyk grzegorz.sobczyk@unity.pl ul. Przedmiejska 6-10 54-201 Wrocław en.unity.pl .

×