Slide 1

Slide 1 text

INTERN 1 2/14/2023 / / Block 1 - App@Vx REBOOST DAY KNOWLEDGE SHARING T&T

Slide 2

Slide 2 text

INTERN 2 2/14/2023 • Software Engineering ? Software Engineer ? − Process − Tooling used today at Vx • Why Projects fails ? • Requirements • Success Story VOM (Victorinox Order Mobile) • Q/A / / AGENDA

Slide 3

Slide 3 text

INTERN 3 SOFTWARE ENGINEER ?

Slide 4

Slide 4 text

INTERN 4 MONTH DAY, YEAR / /

Slide 5

Slide 5 text

INTERN 5 2/14/2023 • Wikipedia: “Software engineering the branch of computer science that deals with the development of software applications.” • A software engineer is a person who applies the principles of software engineering to • Design, develop, maintain, test computer software. • Different kind of SWEs − Front-End Engineer − Back-End Engineer − Full Stack Engineer / / SOFTWARE ENGINEERING ?

Slide 6

Slide 6 text

INTERN 6 Software Engineering Process

Slide 7

Slide 7 text

INTERN 7 MONTH DAY, YEAR 1. Planning (!) - Inputs from Keyuser/Domain Experts, Identify Risks 2. Analysis - Define, document the requirements 3. Design - choose a suitable architecture - reviewed by all the important stakeholders 4. Implementation - Start Development (incl. automated Tests) 5. Testing / Integration (mostly involved in all the stages) - Test until the product reaches the quality standards 6. Maintenance - Deploy in the appropriate market / / SOFTWARE ENGINEERING PROCESS / SDLC

Slide 8

Slide 8 text

INTERN 8 2/14/2023 • Wikipedia “DevOps is a set of practices that combines software development (Dev) and IT operations (Ops).” • Goal is to automate manual tasks (code, build, test, deploy software) to avoid waiting time • "Endless loop” between the different phases • More frequent updates than with classical release cycle (daily) Several DevOps Solution Vendors Microsoft, Jira, Jenkins, Bamboo, etc. / / DEVOPS - PROCESS DURING DEVELOPMENT

Slide 9

Slide 9 text

INTERN 9 2/14/2023 / /

Slide 10

Slide 10 text

INTERN 10 Software Tooling

Slide 11

Slide 11 text

INTERN 11 MONTH DAY, YEAR • IDE (Integrated development environment) • Framework / Programming Language • Testing • Cloud Services, additional Tools / / SOFTWARE ENGINEERING TOOLING

Slide 12

Slide 12 text

INTERN 12 Why Software Projects fails ?

Slide 13

Slide 13 text

INTERN 13 2/14/2023 • Chaos Report = measure success and failure factors in IT projects (since 1994) • According to the Chaos Report, about 20% of IT projects have been cancelled and more than 50% have gone over budget. • Reasons − Key success factors • End user involvement • Full support from management • Clear requirements − Main reasons for failure • Lack of cooperation by users • unclear/incomplete requirements • Frequent requirement changes / / WHY SOFTWARE PROJECTS FAILS

Slide 14

Slide 14 text

INTERN 14 2/14/2023 / /

Slide 15

Slide 15 text

INTERN 15 2/14/2023 − Define use cases (diagram), is to demonstrate the different ways that a user might interact with a system − Create context diagram (top level diagram), which systems are connected to each other and how − Defines Functional and non-functional • FA -> functionality, what should the system do • NFA -> "Quality" to the system, e.g. response time, availability, etc. − Create mockups so users can better understand it − Work agile to get fast Feedback, use Fast Prototyping / / REQUIREMENTS – EXPECTATIONS

Slide 16

Slide 16 text

INTERN 16 MONTH DAY, YEAR • Ideally, a requirements document is already available • Develop a document together with user − Define use cases − Create context diagram, which systems are connected to each other and how − Functional and non-functional • FA -> functionality, what should the system do • NFA -> "Quality" to the system, e.g. response time, availability, etc. − Create mockups so users can better understand it • Techniques to figure out − Workshop with user − Conduct user interview, observe / / REQUIREMENTS - DEFINE

Slide 17

Slide 17 text

INTERN 17 VOM - Success Story

Slide 18

Slide 18 text

INTERN 18 MONTH DAY, YEAR - Mobile App for field staff - take orders directly from the customers / / VOM – SUCCESS STORY

Slide 19

Slide 19 text

INTERN 19 2/14/2023 − Android App only (standard Vx IT devices not supported) − Outdated Backend Technology (.NET 4.0) − Bad performance (~10 sec per sync request) − Security: No AD integration − No automated test/deployment pipeline why did it come out well ? − We had already a Version and really good documented Requirements − Good Communication with Business / / HOW DID IT COME ?

Slide 20

Slide 20 text

INTERN 20 2/14/2023 • User Experience − Modern UI, Vx CI conform UI − Cross platform support with PWA (Windows, Android, IOS) • Technology Update − State-of-the-Art Technology Stack (angular, .NET Core, Azure) − Maintainability & automated Test/Deployment • Risk mitigation − Hosted by Azure (Worldwide availability) − Faster update cycle thanks to DevOps − Access with Victorinox AD Account only (Security) / / NEW SOLUTION

Slide 21

Slide 21 text

INTERN 21 2/14/2023 • Made with HTML, CSS, JS (Serviceworker → offline access, push notifications) • As of 2021 PWA features are supported to all* Browsers • No Interaction via Appstore needed • Installation via Browser / / PWA

Slide 22

Slide 22 text

INTERN 22 2/14/2023 / / SYSTEM OVERVIEW

Slide 23

Slide 23 text

INTERN 23 VOM - DEMO

Slide 24

Slide 24 text

INTERN 24 MONTH DAY, YEAR / /