SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Rapid	
  Con*nuous	
  So.ware	
  
Engineering	
  	
  
-­‐	
  Mee*ng	
  the	
  challenges	
  of	
  modern	
  
so.ware	
  development	
  
Ivica	
  Crnkovic	
  
Mälardalen	
  University	
  à	
  Chalmers	
  &	
  Gothenburg	
  University,	
  Sweden	
  
Ivica.crnkovic@mdh.se	
  
hHp://ivica-­‐crnkovic.net	
  
	
  
RCoSE,	
  June	
  2,	
  2014,	
  Hyderabad	
  
Con*nuous	
  SE	
  –	
  some	
  history	
  
•  1990…2000	
  –	
  get	
  it	
  big*	
  
•  2000…2005	
  –	
  get	
  it	
  manageable	
  
•  2005	
  -­‐	
  	
  2010	
  -­‐	
  get	
  it	
  simple	
  
•  2010	
  –	
  get	
  it	
  wide	
  
•  Now:	
  get	
  it	
  sustainable	
  (survivable)	
  	
  
*	
  -­‐	
  func*onality,	
  business,	
  in	
  	
  use	
  
2014-­‐06-­‐02	
   2	
  
1990…2000	
  –	
  big	
  shots	
  
– so.ware	
  releases	
  So.ware	
  Major.Minor/Revision	
  
– (SW	
  4.5/11)	
  	
  
User	
  	
  
func*onality	
  
*me	
  
1.0	
  
1.1	
  
1.2	
  
2.0	
  
2014-­‐06-­‐02	
   3	
  
Cash	
  flow	
  
User	
  func*onality	
  
*me	
  
1.0	
  
1.1	
  
1.2	
  
2.0	
  
2014-­‐06-­‐02	
   4	
  
Refinement	
  
User	
  func*onality	
  
*me	
  
1.0	
  
1.1	
  
1.2	
  
2.0	
  
2014-­‐06-­‐02	
   5	
  
Ge_ng	
  complex….	
  maintenance,	
  variants…	
  
User	
  func*onality	
  
*me	
  
1.0	
  
1.1	
  
1.2	
  
2.0	
  
2014-­‐06-­‐02	
   6	
  
1.0/1	
  
1.2	
  
1.2/2	
  1.2/1	
  
1.1/1	
   1.1/2	
   1.1/3	
  
2.0-­‐variant	
  A	
  
Ge_ng	
  complex….	
  New	
  roles	
  
User	
  func*onality	
  
*me	
  
1.0	
  
1.1	
  
1.2	
  
2.0	
  
2014-­‐06-­‐02	
   7	
  
1.0/1	
  
1.2	
  
1.2/1	
   1.2/2	
  
1.1/1	
   1.1/2	
   1.1/3	
  
Developers	
  
maintainers	
  
Get	
  it	
  manageable..	
  
2014-­‐06-­‐02	
   8	
  
!"#$%&'()*+(,-./0%
123%
121%
124%
423%
12351%
124%
12454%12451%
12151% 12154% 12156%
42378,$.,(/%9%
Developers	
   Maintainers	
   Architects	
   SCM	
  Manager	
   Quality	
  team	
  
CMM(I)	
  
Process	
  Improvements	
  Quality	
  Assurance	
  
So.ware	
  
Product	
  Lines	
  
Component-­‐
based	
  SE	
  
Aspects	
   SCM	
  tools	
   MDD	
  
Get	
  is	
  simple!	
  
2014-­‐06-­‐02	
   9	
  
User	
  func*onality	
  
Focus	
  on:	
  
Code	
  
Changes	
  
Short	
  *me	
  planning	
  
Customers	
  
Team-­‐working	
  
	
  
Refactoring	
  
Pragma*c	
  (ad	
  hoc)	
  reuse	
  
	
  
Things	
  are	
  ge_ng	
  wide	
  
2014-­‐06-­‐02	
   10	
  
But:	
  
Distributed	
  development	
  
Outsourcing,	
  offshoring	
  
crowdsourcing,	
  	
  
Crowd-­‐tes*ng,	
  
Eco-­‐systems,	
  
Services	
  &	
  Cloud	
  Compu*ng	
  
	
  
	
  
COMPETITION	
  HARDER	
  	
  
THAN	
  EVER	
  
	
  
	
  
	
  
Challenge	
  
2014-­‐06-­‐02	
   11	
  
How	
  to	
  enable	
  rapid	
  changes	
  yet	
  insure	
  improvements	
  on	
  long	
  and	
  short	
  terms?	
  
	
  
How	
  to	
  be	
  compeGGve	
  and	
  sustainable?	
  
	
  
How	
  to	
  be	
  rapid	
  and	
  conGnuous?	
  	
  	
  
	
  
	
  
	
  
What	
  do	
  we	
  want	
  to	
  achieve?	
  
2014-­‐06-­‐02	
   12	
  
	
  
	
  
	
  
How	
  to	
  achieve	
  this?	
  
2014-­‐06-­‐02	
  
	
  
	
  
	
  
a)  Let	
  the	
  system	
  improve/adjust	
  itself	
  
b)  Make	
  it	
  easy	
  for	
  the	
  users	
  to	
  adapt	
  the	
  system	
  
c)  Let	
  others	
  do	
  the	
  	
  improvements	
  (for	
  you)	
  
d)  React	
  rapidly	
  on	
  requirements	
  &	
  users’	
  
behavior	
  
e)  Ensure	
  correctness	
  and	
  quality	
  
f)  Ensure	
  innovaGon	
  
g)  Ensure	
  (increased)	
  outcome	
  
13	
  
SE	
  challenges*	
  
•  Dealing	
  with	
  con.nuously	
  and	
  rapidly	
  changing	
  
systems	
  at	
  run-­‐.me:	
  	
  
–  How	
  to	
  achieve	
  that	
  the	
  system	
  itself	
  maintains	
  the	
  
architectural	
  integrity	
  and	
  ensures	
  its	
  quality?	
  
•  Dealing	
  with	
  con.nuously	
  and	
  rapidly	
  changing	
  
systems	
  at	
  development-­‐.me:	
  	
  
–  How	
  to	
  facilitate	
  developers	
  to	
  effec*vely	
  predict	
  
consequences	
  of	
  poten*ally	
  applied	
  changes?	
  
•  Suppor.ng	
  and	
  synchronizing	
  development-­‐	
  and	
  run-­‐
.me:	
  	
  
–  How	
  to	
  enable	
  maintaining	
  alignment	
  of	
  all	
  lifecycle	
  
ar*facts	
  in	
  a	
  con*nuously	
  evolving	
  system?	
  
2014-­‐06-­‐02	
   14	
  
*	
  Jan	
  Bosch,	
  Michel	
  Chaudron,	
  Ivica	
  Crnkovic,	
  Patrizio	
  Pelliccione,	
  MaHhias	
  Tichy:	
  
	
  Controlled	
  Con*nuous	
  So.ware	
  Engineering,	
  Research	
  proposal	
  SW	
  Research	
  Council	
  
Research	
  objec*ves	
  
1.  So=ware	
  architecture	
  for	
  con.nuous	
  experimenta.on	
  
–  experimental	
  evalua*on	
  of	
  different	
  SA	
  solu*ons	
  in	
  parallel	
  to	
  the	
  
exis*ng	
  “baselined”	
  SA.	
  
2.  Managing	
  changes	
  of	
  non-­‐func.onal	
  proper.es	
  	
  (NFP)	
  
–  Rapid	
  analysis	
  of	
  (possible)	
  changes	
  of	
  	
  NFP	
  caused	
  by	
  changes	
  in	
  SA	
  
3.  Methods	
  for	
  synchronizing	
  architecture/designs	
  and	
  source	
  code	
  
–  co-­‐evolu*on	
  of	
  both	
  source	
  code	
  and	
  SA.	
  
4.  Suppor.ng	
  controlled	
  and	
  reliable	
  adapta.ons	
  	
  
–  support	
  unplanned	
  adapta*ons	
  in	
  a	
  controlled	
  and	
  reliable	
  way,	
  i.e.,	
  
by	
  ensuring	
  the	
  preserva*on	
  of	
  system	
  invariants.	
  
2014-­‐06-­‐02	
   15	
  
Example	
  1:	
  dependable	
  systems	
  
•  Dependability	
  Ability	
  of	
  a	
  
system	
  to	
  deliver	
  service	
  that	
  
can	
  jus*fiably	
  be	
  trusted	
  
	
  
(Ability	
  of	
  a	
  system	
  to	
  avoid	
  
failures	
  that	
  are	
  more	
  
frequent	
  or	
  more	
  severe	
  than	
  
is	
  acceptable	
  to	
  user(s)	
  
•  Robustness	
  is	
  the	
  persistence	
  
of	
  a	
  system’s	
  characteris*c	
  
behavior	
  under	
  perturba*ons	
  
or	
  condi*ons	
  of	
  uncertainty.	
  
2014-­‐06-­‐03	
   DFG	
  2014	
   16	
  
Dependability
Attributes
Threats
Means
Availability
Reliability
Safety
Confidentiality
Integrity
Maintainability
Fault Prevention
Fault Tolerance
Fault Removal
Fault Forecasting
Faults
Errors
Failures
Dependable	
  systems	
  
•  From	
  Sta*c	
  and	
  Robust	
  to	
  Adaptable	
  and	
  
resilient	
  systems	
  
2014-­‐06-­‐02	
   17	
  
Resilience	
  vs.	
  dependability	
  vs.	
  
robustness.	
  
2014-­‐06-­‐02	
   DFG	
  2014	
   18	
  
dependable	
  (robust&resistent)	
  systems	
  
System	
  states	
  
•  Highly	
  controlled	
  
•  Operates	
  in	
  a	
  narrow	
  band	
  
•  Predefined	
  states	
  (“modes”)	
  
•  Top-­‐down	
  design	
  
•  Challenge:	
  predict	
  all	
  states	
  	
  
caused	
  by	
  the	
  environment	
  	
  
	
  
•  A	
  broad	
  spectrum	
  of	
  possible	
  equilibrium	
  state	
  
•  Not	
  necessary	
  all	
  states	
  are	
  predicted	
  	
  
•  Adap*ve	
  and	
  evolving	
  systems	
  
•  impact	
  of	
  the	
  system	
  on	
  the	
  environment	
  
•  Challenge:	
  
•  Adapta*on	
  	
  
•  Op*mal	
  performance	
  in	
  different	
  states	
  
“Resilient	
  systems”	
  
Environment	
  
Extended	
  development	
  process	
  	
  
2014-­‐06-­‐02	
   DFG	
  2014	
   19	
  
1JOSEPH	
  FIKSEL	
  Designing	
  Resilient,	
  Sustainable	
  Systems	
  ,	
  Environ.	
  Sci.	
  Technol.	
  2003,	
  37,	
  5330-­‐5339	
  
Example	
  2:	
  
Crowdsourcing	
  
2014-­‐06-­‐02	
   20	
  
Crowdsourcing	
  the	
  cosmos:	
  	
  
Astronomers	
  welcome	
  all	
  to	
  idenGfy	
  star	
  clusters	
  
	
  in	
  Andromeda	
  galaxy	
  
	
  
www.andromedaproject.org.	
  
	
  
Crowdsourcing	
  assump*on	
  
2014-­‐06-­‐02	
   21	
  
OEM Product
company
In-house
development
Off-shore
development
centre
COTS
Out-
sourcing
Crowd-
sourcing
Amount of accessible expertise
	
  
Crowdsourcing	
  -­‐	
  challenges	
  
•  Provide	
  aHrac*ve	
  calls	
  that	
  will	
  bring	
  the	
  wanted	
  results	
  
•  Provide	
  open	
  architectures	
  that	
  enable	
  	
  
–  a	
  constant	
  flow	
  of	
  innova*on	
  
–  efficient	
  integra*on	
  of	
  components	
  from	
  both	
  OEM	
  and	
  
supplier	
  perspec*ves.	
  
•  Efficient	
  organiza*ons	
  and	
  processes	
  
–  	
  support	
  balancing	
  of	
  openness	
  and	
  IPR	
  management.	
  
•  Efficient	
  assessment	
  of	
  quality	
  aHributes	
  for	
  components	
  
and	
  systems.	
  
2014-­‐06-­‐02	
   22	
  
Integra*on	
  Engine	
  
Component-­‐tool	
  
	
  
	
  
	
  
System	
  design	
  tool	
  
	
  
	
  
	
  	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
   	
   	
  
	
   	
  
Synthesis	
  tool	
  
	
  	
  
	
  
	
  
	
  
Refactoring	
  tool	
  
	
  	
  
	
  
	
  
	
  
Repository	
  
	
  	
  
	
  
	
  
	
  
Integrator	
  
Supplier	
  
External	
  
Repository	
  view	
  
CALL	
  
Component	
  
development	
  
Conformance	
  
checking	
  
Acceptance	
  test	
  
Component	
  
Submission	
  
Conclusion:	
  Rapid	
  con*nuous	
  SE	
  
•  From	
  Agile	
  to	
  Agile	
  with	
  systema*c	
  SE	
  
•  Enabling	
  openness	
  and	
  con*nuous	
  change	
  of	
  
so.ware	
  (at	
  design	
  and	
  run-­‐*me)	
  
•  Enabling	
  adaptability,	
  evolu*on	
  
•  Keep	
  quality	
  
•  Increase	
  innova*on	
  capabili*es	
  
2014-­‐06-­‐03	
   24	
  
Papers	
  @	
  ICSE	
  2014	
  
•  So.ware	
  Engineering	
  at	
  the	
  Speed	
  of	
  Light:	
  How	
  Developers	
  Stay	
  
Current	
  using	
  TwiHer,	
  Leif	
  Singer,	
  Fernando	
  Figueira	
  Filho,	
  and	
  
Margaret-­‐Anne	
  Storey	
  
•  	
  Mining	
  Behavior	
  Models	
  from	
  User-­‐Intensive	
  Web	
  Applica*ons,	
  
Carlo	
  Ghezzi,	
  Mauro	
  Pezzè,	
  Michele	
  Sama,	
  and	
  Giordano	
  
Tamburrelli	
  
•  	
  Automated	
  Design	
  of	
  Self-­‐Adap*ve	
  So.ware	
  with	
  Control-­‐
Theore*cal	
  Formal	
  Guarantees,	
  Antonio	
  Filieri,	
  Henry	
  Hoffmann,	
  
and	
  Mar.na	
  Maggio	
  
	
  
•  Trading	
  Robustness	
  for	
  Maintainability:	
  An	
  Empirical	
  Study	
  of	
  
Evolving	
  C#	
  Programs,	
  Nélio	
  Cacho	
  et	
  al.	
  
2014-­‐06-­‐02	
   25	
  
FOSE,	
  Session,	
  Papers	
  @	
  ICSE	
  2014	
  
•  	
  So.ware	
  Evolu*on	
  and	
  Maintenance,	
  Václav	
  Rajlich	
  
•  Session:	
  Automated	
  Bug	
  Detec*on	
  and	
  Repair	
  
•  Session:	
  Processes	
  and	
  Agile	
  Development	
  
–  Automated	
  So.ware	
  Integra*on	
  Flows	
  in	
  Industry:	
  A	
  
Mul*ple-­‐Case	
  Study,	
  Daniel	
  Ståhl	
  and	
  Jan	
  Bosch	
  
–  Evidence-­‐Based	
  Decision	
  Making	
  in	
  Lean	
  So.ware	
  Project	
  
Management,	
  Brian	
  Fitzgerald,	
  Mariusz	
  Musiał,	
  and	
  Klaas-­‐
Jan	
  Stol	
  
	
  
2014-­‐06-­‐02	
   26	
  
2014-­‐06-­‐03	
   27	
  

Contenu connexe

Similaire à Rapid Continuous Software Engineering - Meeting the challenges of modern software development

Application Migration from Pivotal Application Service to Anthos GKE on Prem
Application Migration from Pivotal Application Service to Anthos GKE on PremApplication Migration from Pivotal Application Service to Anthos GKE on Prem
Application Migration from Pivotal Application Service to Anthos GKE on PremDevOps Indonesia
 
Joel Lucien Resume
Joel Lucien ResumeJoel Lucien Resume
Joel Lucien ResumeJoel Lucien
 
A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...IRJET Journal
 
IRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android App
IRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android AppIRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android App
IRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android AppIRJET Journal
 
Making Your Apps Cloudy - Migrating to Microservices
Making Your Apps Cloudy - Migrating to MicroservicesMaking Your Apps Cloudy - Migrating to Microservices
Making Your Apps Cloudy - Migrating to MicroservicesCloudify Community
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewCisco DevNet
 
A Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsA Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsHenry Muccini
 
IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...
IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...
IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...IRJET Journal
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesCMDLMS
 
A Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisA Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisXebiaLabs
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentRAVALCHIRAG1
 
Iwsm2014 an iso iec 33000-compliant measurement framework for software proc...
Iwsm2014   an iso iec 33000-compliant measurement framework for software proc...Iwsm2014   an iso iec 33000-compliant measurement framework for software proc...
Iwsm2014 an iso iec 33000-compliant measurement framework for software proc...Nesma
 

Similaire à Rapid Continuous Software Engineering - Meeting the challenges of modern software development (20)

Application Migration from Pivotal Application Service to Anthos GKE on Prem
Application Migration from Pivotal Application Service to Anthos GKE on PremApplication Migration from Pivotal Application Service to Anthos GKE on Prem
Application Migration from Pivotal Application Service to Anthos GKE on Prem
 
Joel Lucien Resume
Joel Lucien ResumeJoel Lucien Resume
Joel Lucien Resume
 
A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...A Comparative Study of Different types of Models in Software Development Life...
A Comparative Study of Different types of Models in Software Development Life...
 
IRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android App
IRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android AppIRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android App
IRJET- Smart IoT based Bridge Monitoring and Damage Detection using Android App
 
Making Your Apps Cloudy - Migrating to Microservices
Making Your Apps Cloudy - Migrating to MicroservicesMaking Your Apps Cloudy - Migrating to Microservices
Making Your Apps Cloudy - Migrating to Microservices
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
The process
The processThe process
The process
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 
ravi_resume
ravi_resumeravi_resume
ravi_resume
 
A Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsA Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical Systems
 
Ijetcas14 545
Ijetcas14 545Ijetcas14 545
Ijetcas14 545
 
Devops
DevopsDevops
Devops
 
IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...
IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...
IRJET-To Implement Cloud Computing by using Agile Methodology in Indian E-Gov...
 
Comp lab w_shop
Comp lab w_shopComp lab w_shop
Comp lab w_shop
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slides
 
A Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisA Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps Metamorphosis
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
Iwsm2014 an iso iec 33000-compliant measurement framework for software proc...
Iwsm2014   an iso iec 33000-compliant measurement framework for software proc...Iwsm2014   an iso iec 33000-compliant measurement framework for software proc...
Iwsm2014 an iso iec 33000-compliant measurement framework for software proc...
 

Plus de Ivica Crnkovic

2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challangesIvica Crnkovic
 
Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30Ivica Crnkovic
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsIvica Crnkovic
 
ICSE 2018 opening session
ICSE 2018 opening sessionICSE 2018 opening session
ICSE 2018 opening sessionIvica Crnkovic
 
AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12Ivica Crnkovic
 
Beyond digitalisation 2016-06-07
Beyond digitalisation  2016-06-07Beyond digitalisation  2016-06-07
Beyond digitalisation 2016-06-07Ivica Crnkovic
 
ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20Ivica Crnkovic
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Ivica Crnkovic
 
European Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 AnnouncementEuropean Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 AnnouncementIvica Crnkovic
 
Software Assurance: What Should We Do next? - Software Design for Reliability
Software Assurance: What Should We Do next?  - Software Design for ReliabilitySoftware Assurance: What Should We Do next?  - Software Design for Reliability
Software Assurance: What Should We Do next? - Software Design for ReliabilityIvica Crnkovic
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component modelsIvica Crnkovic
 
Teaching in multicultural classromre
Teaching in multicultural  classromreTeaching in multicultural  classromre
Teaching in multicultural classromreIvica Crnkovic
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseIvica Crnkovic
 
Resilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolutionResilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolutionIvica Crnkovic
 
Empirical se 2013-01-17
Empirical se 2013-01-17Empirical se 2013-01-17
Empirical se 2013-01-17Ivica Crnkovic
 
Crnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptxCrnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptxIvica Crnkovic
 
Ten Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering EducationTen Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering EducationIvica Crnkovic
 

Plus de Ivica Crnkovic (19)

2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges
 
Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systems
 
ICSE 2018 opening session
ICSE 2018 opening sessionICSE 2018 opening session
ICSE 2018 opening session
 
AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12
 
Beyond digitalisation 2016-06-07
Beyond digitalisation  2016-06-07Beyond digitalisation  2016-06-07
Beyond digitalisation 2016-06-07
 
ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
 
European Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 AnnouncementEuropean Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 Announcement
 
Software Assurance: What Should We Do next? - Software Design for Reliability
Software Assurance: What Should We Do next?  - Software Design for ReliabilitySoftware Assurance: What Should We Do next?  - Software Design for Reliability
Software Assurance: What Should We Do next? - Software Design for Reliability
 
Sa past-future
Sa past-futureSa past-future
Sa past-future
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
Teaching in multicultural classromre
Teaching in multicultural  classromreTeaching in multicultural  classromre
Teaching in multicultural classromre
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuse
 
Resilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolutionResilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolution
 
Empirical se 2013-01-17
Empirical se 2013-01-17Empirical se 2013-01-17
Empirical se 2013-01-17
 
SPL in Clouds
SPL in CloudsSPL in Clouds
SPL in Clouds
 
Crnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptxCrnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptx
 
Ten Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering EducationTen Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering Education
 

Dernier

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 

Dernier (20)

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 

Rapid Continuous Software Engineering - Meeting the challenges of modern software development

  • 1. Rapid  Con*nuous  So.ware   Engineering     -­‐  Mee*ng  the  challenges  of  modern   so.ware  development   Ivica  Crnkovic   Mälardalen  University  à  Chalmers  &  Gothenburg  University,  Sweden   Ivica.crnkovic@mdh.se   hHp://ivica-­‐crnkovic.net     RCoSE,  June  2,  2014,  Hyderabad  
  • 2. Con*nuous  SE  –  some  history   •  1990…2000  –  get  it  big*   •  2000…2005  –  get  it  manageable   •  2005  -­‐    2010  -­‐  get  it  simple   •  2010  –  get  it  wide   •  Now:  get  it  sustainable  (survivable)     *  -­‐  func*onality,  business,  in    use   2014-­‐06-­‐02   2  
  • 3. 1990…2000  –  big  shots   – so.ware  releases  So.ware  Major.Minor/Revision   – (SW  4.5/11)     User     func*onality   *me   1.0   1.1   1.2   2.0   2014-­‐06-­‐02   3  
  • 4. Cash  flow   User  func*onality   *me   1.0   1.1   1.2   2.0   2014-­‐06-­‐02   4  
  • 5. Refinement   User  func*onality   *me   1.0   1.1   1.2   2.0   2014-­‐06-­‐02   5  
  • 6. Ge_ng  complex….  maintenance,  variants…   User  func*onality   *me   1.0   1.1   1.2   2.0   2014-­‐06-­‐02   6   1.0/1   1.2   1.2/2  1.2/1   1.1/1   1.1/2   1.1/3   2.0-­‐variant  A  
  • 7. Ge_ng  complex….  New  roles   User  func*onality   *me   1.0   1.1   1.2   2.0   2014-­‐06-­‐02   7   1.0/1   1.2   1.2/1   1.2/2   1.1/1   1.1/2   1.1/3   Developers   maintainers  
  • 8. Get  it  manageable..   2014-­‐06-­‐02   8   !"#$%&'()*+(,-./0% 123% 121% 124% 423% 12351% 124% 12454%12451% 12151% 12154% 12156% 42378,$.,(/%9% Developers   Maintainers   Architects   SCM  Manager   Quality  team   CMM(I)   Process  Improvements  Quality  Assurance   So.ware   Product  Lines   Component-­‐ based  SE   Aspects   SCM  tools   MDD  
  • 9. Get  is  simple!   2014-­‐06-­‐02   9   User  func*onality   Focus  on:   Code   Changes   Short  *me  planning   Customers   Team-­‐working     Refactoring   Pragma*c  (ad  hoc)  reuse    
  • 10. Things  are  ge_ng  wide   2014-­‐06-­‐02   10   But:   Distributed  development   Outsourcing,  offshoring   crowdsourcing,     Crowd-­‐tes*ng,   Eco-­‐systems,   Services  &  Cloud  Compu*ng       COMPETITION  HARDER     THAN  EVER        
  • 11. Challenge   2014-­‐06-­‐02   11   How  to  enable  rapid  changes  yet  insure  improvements  on  long  and  short  terms?     How  to  be  compeGGve  and  sustainable?     How  to  be  rapid  and  conGnuous?            
  • 12. What  do  we  want  to  achieve?   2014-­‐06-­‐02   12        
  • 13. How  to  achieve  this?   2014-­‐06-­‐02         a)  Let  the  system  improve/adjust  itself   b)  Make  it  easy  for  the  users  to  adapt  the  system   c)  Let  others  do  the    improvements  (for  you)   d)  React  rapidly  on  requirements  &  users’   behavior   e)  Ensure  correctness  and  quality   f)  Ensure  innovaGon   g)  Ensure  (increased)  outcome   13  
  • 14. SE  challenges*   •  Dealing  with  con.nuously  and  rapidly  changing   systems  at  run-­‐.me:     –  How  to  achieve  that  the  system  itself  maintains  the   architectural  integrity  and  ensures  its  quality?   •  Dealing  with  con.nuously  and  rapidly  changing   systems  at  development-­‐.me:     –  How  to  facilitate  developers  to  effec*vely  predict   consequences  of  poten*ally  applied  changes?   •  Suppor.ng  and  synchronizing  development-­‐  and  run-­‐ .me:     –  How  to  enable  maintaining  alignment  of  all  lifecycle   ar*facts  in  a  con*nuously  evolving  system?   2014-­‐06-­‐02   14   *  Jan  Bosch,  Michel  Chaudron,  Ivica  Crnkovic,  Patrizio  Pelliccione,  MaHhias  Tichy:    Controlled  Con*nuous  So.ware  Engineering,  Research  proposal  SW  Research  Council  
  • 15. Research  objec*ves   1.  So=ware  architecture  for  con.nuous  experimenta.on   –  experimental  evalua*on  of  different  SA  solu*ons  in  parallel  to  the   exis*ng  “baselined”  SA.   2.  Managing  changes  of  non-­‐func.onal  proper.es    (NFP)   –  Rapid  analysis  of  (possible)  changes  of    NFP  caused  by  changes  in  SA   3.  Methods  for  synchronizing  architecture/designs  and  source  code   –  co-­‐evolu*on  of  both  source  code  and  SA.   4.  Suppor.ng  controlled  and  reliable  adapta.ons     –  support  unplanned  adapta*ons  in  a  controlled  and  reliable  way,  i.e.,   by  ensuring  the  preserva*on  of  system  invariants.   2014-­‐06-­‐02   15  
  • 16. Example  1:  dependable  systems   •  Dependability  Ability  of  a   system  to  deliver  service  that   can  jus*fiably  be  trusted     (Ability  of  a  system  to  avoid   failures  that  are  more   frequent  or  more  severe  than   is  acceptable  to  user(s)   •  Robustness  is  the  persistence   of  a  system’s  characteris*c   behavior  under  perturba*ons   or  condi*ons  of  uncertainty.   2014-­‐06-­‐03   DFG  2014   16   Dependability Attributes Threats Means Availability Reliability Safety Confidentiality Integrity Maintainability Fault Prevention Fault Tolerance Fault Removal Fault Forecasting Faults Errors Failures
  • 17. Dependable  systems   •  From  Sta*c  and  Robust  to  Adaptable  and   resilient  systems   2014-­‐06-­‐02   17  
  • 18. Resilience  vs.  dependability  vs.   robustness.   2014-­‐06-­‐02   DFG  2014   18   dependable  (robust&resistent)  systems   System  states   •  Highly  controlled   •  Operates  in  a  narrow  band   •  Predefined  states  (“modes”)   •  Top-­‐down  design   •  Challenge:  predict  all  states     caused  by  the  environment       •  A  broad  spectrum  of  possible  equilibrium  state   •  Not  necessary  all  states  are  predicted     •  Adap*ve  and  evolving  systems   •  impact  of  the  system  on  the  environment   •  Challenge:   •  Adapta*on     •  Op*mal  performance  in  different  states   “Resilient  systems”   Environment  
  • 19. Extended  development  process     2014-­‐06-­‐02   DFG  2014   19   1JOSEPH  FIKSEL  Designing  Resilient,  Sustainable  Systems  ,  Environ.  Sci.  Technol.  2003,  37,  5330-­‐5339  
  • 20. Example  2:   Crowdsourcing   2014-­‐06-­‐02   20   Crowdsourcing  the  cosmos:     Astronomers  welcome  all  to  idenGfy  star  clusters    in  Andromeda  galaxy     www.andromedaproject.org.    
  • 21. Crowdsourcing  assump*on   2014-­‐06-­‐02   21   OEM Product company In-house development Off-shore development centre COTS Out- sourcing Crowd- sourcing Amount of accessible expertise  
  • 22. Crowdsourcing  -­‐  challenges   •  Provide  aHrac*ve  calls  that  will  bring  the  wanted  results   •  Provide  open  architectures  that  enable     –  a  constant  flow  of  innova*on   –  efficient  integra*on  of  components  from  both  OEM  and   supplier  perspec*ves.   •  Efficient  organiza*ons  and  processes   –   support  balancing  of  openness  and  IPR  management.   •  Efficient  assessment  of  quality  aHributes  for  components   and  systems.   2014-­‐06-­‐02   22  
  • 23. Integra*on  Engine   Component-­‐tool         System  design  tool                                           Synthesis  tool             Refactoring  tool             Repository             Integrator   Supplier   External   Repository  view   CALL   Component   development   Conformance   checking   Acceptance  test   Component   Submission  
  • 24. Conclusion:  Rapid  con*nuous  SE   •  From  Agile  to  Agile  with  systema*c  SE   •  Enabling  openness  and  con*nuous  change  of   so.ware  (at  design  and  run-­‐*me)   •  Enabling  adaptability,  evolu*on   •  Keep  quality   •  Increase  innova*on  capabili*es   2014-­‐06-­‐03   24  
  • 25. Papers  @  ICSE  2014   •  So.ware  Engineering  at  the  Speed  of  Light:  How  Developers  Stay   Current  using  TwiHer,  Leif  Singer,  Fernando  Figueira  Filho,  and   Margaret-­‐Anne  Storey   •   Mining  Behavior  Models  from  User-­‐Intensive  Web  Applica*ons,   Carlo  Ghezzi,  Mauro  Pezzè,  Michele  Sama,  and  Giordano   Tamburrelli   •   Automated  Design  of  Self-­‐Adap*ve  So.ware  with  Control-­‐ Theore*cal  Formal  Guarantees,  Antonio  Filieri,  Henry  Hoffmann,   and  Mar.na  Maggio     •  Trading  Robustness  for  Maintainability:  An  Empirical  Study  of   Evolving  C#  Programs,  Nélio  Cacho  et  al.   2014-­‐06-­‐02   25  
  • 26. FOSE,  Session,  Papers  @  ICSE  2014   •   So.ware  Evolu*on  and  Maintenance,  Václav  Rajlich   •  Session:  Automated  Bug  Detec*on  and  Repair   •  Session:  Processes  and  Agile  Development   –  Automated  So.ware  Integra*on  Flows  in  Industry:  A   Mul*ple-­‐Case  Study,  Daniel  Ståhl  and  Jan  Bosch   –  Evidence-­‐Based  Decision  Making  in  Lean  So.ware  Project   Management,  Brian  Fitzgerald,  Mariusz  Musiał,  and  Klaas-­‐ Jan  Stol     2014-­‐06-­‐02   26