Looking back: Software Engineering trends of the past 50 years Matt Verhaegh High Tech Consultant / Quality Manager SPIder COMM-IT Upcoming trend: Connected Digital Propositions & Platforms Nico van Rooijen Strategic software/system architect Philips 1
Four periods of software engineering 2000-2015 Team oriented Agile -> SAFe Dramatic increase of Code Size 1990-2000 1975-1990 1950-1975 Software Process Improvement: CMMI Software as an Engineering Discipline Assembler -> 3 rd Gen. Programming languages 2
1950-1975 : from Assembler to 3 rd generation programming languages Assembler Fortran, ALGOL, COBOL C, BASIC, Pascal, => Structured Programming 3
Becoming aware of Software crisis Software always has many errors Not reliable Software always is late Development project delay Software is expensive Many SW engineers needed Difficult to maintain Difficult to extend Difficult to reuse in other domain 4
1975-1990: Software as an engineering discipline Structured Analysis & Design DeMarco, Yourdon, Hatley Pirbhai Data Flow Diagrams Entity-Relationship Diagrams State-Transition Diagrams Computing power everywhere Object oriented programming Simula 67, LISP, C++, Objective-C, C# Smalltalk, Java, Swift Software should have a mathematical basis Dijkstra et al 5
1990-2000 : Software Process Improvement 6
2000-2015 : team oriented Agile & SAFe Agile Manifesto: 1 Customer satisfaction by early and continuous delivery of valuable software 2 Welcome changing requirements, even in late development 3 Working software is delivered frequently (weeks rather than months) 4.12 Scrum Dynamic systems development method (DSDM) Extreme programming (XP) Lean software development 7
And more improvements to mention. Project management disciplines (PMI, Prince2I) Software service & maintenance (ITIL) Increased tool support Software Development Environments (SDE, TurboPascal!) Configuration management (VCS, ClearCase) Change management (ticket handling, PRCR) Automatic testing, test management Reuse of SW components like (D)COM, CORBA Computing POWER! We still have a Software Crisis We were able to substantially increase Functionality, Complexity, Code Size There is no Holy Grail to deliver on-time, big-free, user satisfying software 8
And now creating more complexity How to achieve Everything is connected Software is everywhere 9
Connected Digital Propositions and Platforms Nico van Rooijen CDP2 May 20, 2016
Contents Introduction of connected digital products and Philips The need for and consequences of a platform End 2 end complexity, configuration management and lifecycle Iterative development processes 11
Connected digital products Global technology trends: IOT Connected devices Ubiquitous mobile devices Cloud scalable storage & processing Connected digital products are different Services over devices Power of data Ecosystems Updates to keep engagement Major impact on Philips Products Services need horizontals over the org charts 12
Health continuum and connected care Consumer Electronics & Healthcare are converging Connected Devices Professional App Patient / Consumer App Cloud BackEnd Services (Identity, Data, ) Philips Software Centric Support Systems functions Conference - 25 May 2016
Digital solution platform Common Mobile App SDKs, mobile UX toolkits Mobile Apps & Web Front Ends Common Web App SDKs, web UX toolkits Cross-product Common Embedded libs, connectivity firmware Connected Devices Common needs across products Consistent brand expression, look & feel Identities and data storage over health continuum Strong governance needed Backend Cloud Services Common Micro- Services Inner source A single team cannot build all for everybody Proudly found elsewhere; harvest rather than invent Solutions vs. platform engineering mindset Maturing platform in solution contexts CDP 2 does both which is healthy & challenging Personal Health Solutions Health & Wellness Medical compliance, Security & Privacy Hospita l 2 Home Inner Source Etc Cloud, Scalability: real experience is rare
E2E, integration and lifecycle E2E is full product system context Need to understand the total picture E2E requirements & verification Behavior: take ownership Configuration complexity Mobile devices, OS s Browsers Device versions Different lifecycles Devices, firmware, apps, cloud Post release: Continuous flux of changes Strong need for monitoring User registration E-mail Browse r Verify account link E-mail Content (translated) Activate account Landing page Set emailverified E-mail template App IAM C/P Reg 4 hours C/P Reg Interests C/P Reg Profiles Analytic s OHC App App WebSite Micro App WebSite Micro KA App Site Site Consumer 360 ODS DWH Survey Opt-out DI comp Mobile SDK Consumer Registration; Login; Forgot Password; Change Password JanRain Never contact C/P Reg day C/P Reg, Interests Never contact, optout C Reg,Opt out, bounce Consent C/P Reg, Never contact C/P Reg Here is the piece we provide Widgets Web SDK Dig marketing Consumer Care MyPhilips P Reg RealTime IBM/ESB C/P Reg Product Info DB (a.o. IfU, pictures, codes) Social Media
Iterative processes Product Measure Data Learn Product Idea s Build Development SAFe/Agile Architecture & platform creation Continuous improvement Team health management 16 CDP2
Software engineering mindset & skills Component / technology specialist E2E system thinker Individualist team oriented engineer; collaboration & communication Proud on inventing proud on reuse and integrating Fixed goal / fixed time project member continuous product enhancer & improver 17 CDP2