Presentation is loading. Please wait.

Presentation is loading. Please wait.

Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 3 V0.9/02-02-2014.

Similar presentations


Presentation on theme: "Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 3 V0.9/02-02-2014."— Presentation transcript:

1 Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 3 V0.9/

2 Copyright Frank J. Furrer Future-Proof Software-Systems: Context & Definitions Business Case justifies Future-Proof Software-System Quality Properties defined by Structure enables Architecture forms guide control Development Process builds Architecture Principles enforce Future-Proof Software-Systems Engineer leads applies Metrics quantify uses Working Environment is embedded in Part 2 Part 3

3 Copyright Frank J. Furrer Future-Proof Software-Systems: Contents Part 3 Contents (Part 3)  Short Repetition of Main Points Part 1 & 2  The Responsibility and Role of the Future-Proof Software-Systems Engineer  The Skills and Personality of the Future-Proof Software-Systems Engineer  The Context of the successfull Future-Proof Software-Systems Engineer  Finally: Do We now have a Future-Proof Software-System?  Parting Notes

4 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) Importance and impact of software … etc.

5 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) Land Rover 1953 : SLOCs = 0 (SLOC = Source Lines of Code) Mercedes S-Class 2013 : SLOCs  100 Million years A modern luxury car contains 70 … 100 electronic control units (= ECU‘s) in the form of networked microprocessors :  90% of the innovation in cars is due to software

6 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) Software is one of the most important key success factors for today‘s and tomorrow‘s products and services Software determines (to a large extent): Functionality Quality Properties, such as safety, security, availability, integrity, performance etc. Competitiveness Revenue generation Innovation capacity Intellectual Property Rights (  IPR protection)

7 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) “It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.” Charles Darwin: The Origin of Species (1859) Which software do we need and how do we produce it? … This is also true for software! Products & services have to adapt quickly to new requirements. Therefore:  Short time-to-market  Reasonable development cost  Adequate quality properties are key characteristics of future-proof software-systems. Agility

8 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) Future-Proof Software-Systems : Managed Evolution Coordinate System Business Value Agility Managed Evolution Channel Agility Improvement Business Value Improvement Project Vector

9 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) Future-Proof Software-Systems : Managed Evolution Business Value Agility Future-Proof Software-System Structure enables Architecture forms The software-architecture determines to a large extent the agility (and other quality properties)  Key role of architecture!

10 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) What is a good software-architecture ? How do we develop and maintain good software-architecture ? A good software architecture generates a structure that enables the management of complexity, change and uncertainty with the least effort, with acceptable risk and with specified quality properties By consistently applying and enforcing proven architecture principles

11 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) Which structure is easier to expand and evolve? Which structure has the better properties, e.g. quality of life? Which structure is future-proof? Example : The Power of Architecture

12 Copyright Frank J. Furrer Future-Proof Software-Systems: Main Points (Repetition) The Way to Future-Proof Software-Systems: What is needed Dedicated and committed management Knowledgeable and respected future-proof software-systems engineers Architecture Principle A11: A1 1 Architecture Principle A11: A1 1 Architecture Principle A11: A1 1 Principles and guidelines for future-proof software-systems architecture Lecture: Part 3

13 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References Murer11Stephan Murer, Bruno Bonati, Frank J. Furrer: Managed Evolution – A Strategy for Very Large Information Systems Springer-Verlag, Berlin Heidelberg, 2011, ISBN Fairbanks10George Fairbanks: Just Enough Software Architecture – A Risk-Driven Approach Marshall & Brainerd, Boulder CO, USA, ISBN Bass13Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice SEI-Series (Pearson Education), Addison-Wesley, N.J., USA, 3 rd edition, ISBN Albin03Stephen T. Albin: The Art of Software Architecture Wiley Publishing Inc., Indiana, USA, ISBN Braude11Eric J. Braude, Michael E. Bernstein: Software Engineering – Modern Approaches John Wiley & Sons, Inc., New York, USA, 2 nd edition, ISBN Evans06Eric Evans: Domain-Driven Design – Tackling Complexity in the Heart of Software Pearson Education, Addison-Wesley, Boston, USA, th printing ISBN Gorton06Ian Gorton Essential Software Architecture Springer-Verlag, Berlin Heidelberg, ISBN Greefhorst11David Greefhorst, Erik Proper: Architecture Principles – The Cornerstones of Enterprise Architecture Springer Verlag, Heidelberg, Berlin, ISBN Spinellis09Diomidis Spinellis, Georgios Gousios (Editors): Beautiful Architecture – Leading Thinkers Reveal the Hidden Beauty in Software Design O’Reilly Media, USA, ISBN

14 Copyright Frank J. Furrer Future-Proof Software-Systems: Lecture Part 3 What do you need to become a valuable and successful future-proof software-systems engineer ?

15 Copyright Frank J. Furrer Future-Proof Software-Systems: The Responsibility and Role of the Future-Proof Software-Systems Engineer

16 Copyright Frank J. Furrer Future-Proof Software-Systems Engineer: Responsibility

17 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Business Value Agility Project P n Responsibility : Develop, maintain and enforce an adequate IT-architecture to guarantee the required quality properties of the system, especially the continuous increase in agility and business value

18 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Your Environment : Project P n Business wants: (Very) short time to market Low cost Only essential functionality Newest technology Project Team wants: Budget & Time compliance „Shortest“ path to solution Minimum external intervention Least constraints Architecture wants: Good fit into the existing system Refactoring to improve architectural quality Limit growth in complexity Use proven technologies

19 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Future-Proof Software-Systems Engineer: Responsibility Business Value Agility Managed Evolution Channel Agility Improvement Business Value Improvement Project Vector

20 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Future-Proof Software-Systems Engineer: Responsibility Responsibility : Develop, maintain and enforce an adequate IT-architecture to guarantee the required quality properties of the system, especially the continuous increase in agility and business value Architecture Principles Good Processes Strong Governance Cooperative Teams Future-Proof Software-System

21 Copyright Frank J. Furrer Future-Proof Software-Systems Engineer: Role

22 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Future-Proof Software-Systems Engineer: Role („4-in-1“) Missionary : Untiringly preach the value and necessity of good IT-architecture Software Architecture  Lawmaker : Consistently develop and maintain an adequate, powerful set of IT-architecture principles  Consultant : Be a competent, useful and fair consulting partner to all projects  Enforcer : Insist on the consequent, complete and correct implementation of the IT-architecture principles and standards 

23 Architecture Topic Map Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Architecture-Greatness: Simplicity Elegance Functionality Architecture-Quality: Agility Availability Security Safety Performance … Future-Proof Software-Systems Engineer: „ 5 th Role “ „ Magician “

24 ? Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Future-Proof Software-Systems Engineer: Role Software Architec- ture Missionary Lawmaker Consultant Enforcer ?

25 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Architecture Principles and Standards Enforcement : consult, convince, negotiateforce, constrain, repress Strategy of a successful architect

26 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Architecture Principles and Standards Enforcement consult, convince, negotiate force, constrain, repress Strategy of a successful IT-architect compromise But : Manage the technical debt!

27 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Example 1 : Quality Properties Tradeoffs Financial On-Line Transaction System Usability Security high very user-friendly annoying low Quality Properties Tradeoff

28 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Example 2 : Time-to-Market Shortcuts Violation of architecture principles Time-to-Market 10 months months „Compromise“ Technical debt!

29 Copyright Frank J. Furrer Future-Proof Software-Systems: The Way Architecture Erosion and Technical Debt Accumulation Business Value Agility Architecture Erosion Technical Debt

30 Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Business Value Agility Loss of Agility Gain of Business Value Accumulation of technical debt

31 future-proof software-system engineer Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role New Business Requirements Stakeholders Role : Implementation Specifications Business Analyst/ Requirements Engineer Architecture Development Software Design Architects and Designers Software Implementation Programmers, Tester, etc. consulting review lead support supervise

32 future-proof software-system engineer Copyright Frank J. Furrer Future-Proof Software-Systems: Responsibility and Role Role : New Business Requirements Implementation Specifications Architecture Development Software Design Software Implementation consulting review lead support supervise A dedicated and committed management 

33 Copyright Frank J. Furrer Future-Proof Software-Systems: Lessons learned for FPSS Lessons learned for future-proof software-systems: The responsibility of the future-proof software-systems engineer is to design, maintain and evolve an adequate IT-architecture which guarantees the required quality properties for a specific application area The future-proof software-systems engineer has „4+1 roles“: Missionary, Lawmaker, Consultant, Enforcer + „Magician“ The future-proof software-systems engineer must demonstrate a careful and consequent balance between the „4+1 roles“ Whenever the future-proof software-systems engineer agrees to an architectural compromise, technical debt is generated The future-proof software-systems engineer must carefully keep track of technical debt and enforce its reduction/elimination

34 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References DeWeck11Olivier L. de Weck, Daniel Roos, Christopher L. Magee: Engineering Systems – Meeting Human Needs in a Complex Technological World MIT Press, Cambridge, USA, ISBN Eeles10Peter Eeles, Peter Cripps: The Process of Software Architecting Pearson Education (Addison-Wesley), Boston, USA, ISBN Boehm04Barry Boehm, Richard Turner: Balancing Agility and Discipline – A Guide for the Perplexed Pearson Education, Addison-Wesley, Boston, USA, ISBN Axelrod13C. Warren Axelrod: Engineering Safe and Secure Software Systems Artech House, Norwood, USA, ISBN Coplien10James Coplien, Gertrud Bjornvig: Lean Architecture for Agile Software Development John Wiley & Sons, Inc., Chicester UK, ISBN Fairbanks10George Fairbanks: Just Enough Software Architecture – A Risk-Driven Approach Marshall & Brainerd, Boulder CO, USA, ISBN Kossiakoff11Alexander Kossiakoff, William N. Sweet, Samuel J. Seymour, Steven M. Biemer: Systems Engineering – Principles and Practice John Wiley & Sons, Inc., Hoboken, N.J., USA, 2 nd edition ISBN Lattanze09Anthony J. Lattanze: Architecting Software Intensive Systems – A Practicioner’s Guide Auerbach Publications, Taylor & Francis Group, LLC, ISBN Sewell02Marc T. Sewell, Laura M. Sewell: The Software Architect’s Profession – An Introduction Prentice Hall PTR, New Jersey, USA,

35 Copyright Frank J. Furrer Future-Proof Software-Systems: The Skills and Personality of the Future-Proof Software-Systems Engineer

36 Copyright Frank J. Furrer Future-Proof Software-Systems Engineer: Skills

37 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Skill : The ability to do something well [The New Oxford Dictionary of English]

38 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Skills Coordinate System Technical Skills Competence Social Skills high low high z y x

39 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality z Social Skills y Technical Skills x Competence (Professional) Competence IT (architecture) knowledge IT (practical) experience State-of-the-Art knowledge (broad, hardware, software, processes) Technology mastering (HW & SW) Business knowledge Innovation capability Vision Skills: Competence  IT (architecture) knowledge

40 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality z Social Skills y Technical Skills x Competence Skills: Technical Skills Technical Skills Communication skills (speech & writing) Presentation skills (oral, graphical & writing) Logical reasoning capability Efficiency & effectiveness Languages „Architecture Feel“ (Simplicity & beauty) Efficiency : Doing the things right Effectiveness : Doing the right things

41 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality z Social Skills y Technical Skills x Competence Skills: Social Skills Social Skills Negotiation skills Persuasion capability People interaction capability Enthusiasm Leadership Life-long learning Socializing/Networking Team Work Honesty (Ethics) Work-life balance

42 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Skills Coordinate System Technical Skills Competence Social Skills high low high z y x Soft Skills Hard Skills

43 Personal Financial Success 85 % 15 % Dale Carnegie, 1937 ISBN Personal Impact Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Hard Skills  Soft Skills: Which are more important? Technical Lead Software Engineer Test Engineer Team Manager Project Manager Executive VP Architect Chief Architect Executive CTO Dave Hendricksen, 2012, ISBN Technical Glass Ceiling („Missing Soft Skills“)

44 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality „ Hard skills help us qualify for a job; Soft skills dictate our career growth“ [Wushow Chou, 2013, ISBN ] The „future-proof software-systems engineer“: Hard Skills  Soft Skills: Which are more important?

45 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality How can we learn Soft Skills? Information Source Apply & Train Active feedback (ask, discuss) Passive f eedback (observe) Understand, Interpret

46 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Life-Long Learning: „ Half-Life of IT-Engineering Knowledge“ Which is the half-life of IT-engineering knowledge ? Def : The time-span after which half of your current IT-knowledge has become obsolete

47 Copyright Frank J. Furrer Future-Proof Software-Systems Engineer: Personality

48 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Personality : The combination of characteristics or qualities that form an individual‘s distinctive character [The New Oxford Dictionary of English] Personality

49 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality „The fundamental principle behind any soft skill is to cultivate the perception in other people‘s minds that they can gain and benefit by engaging with us“ [Wushow Chou 2013, ISBN ] Personality

50 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Personality Photo Credit: Silvia Furrer Courage Fighting Spirit Wisdom Mediation Capability

51 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality … and – most important: Behaviour : Your behaviour must be truthful, fair and human in all situations (Professional) Competence : Your professional advice must be (provably) correct and believable, as well as realistic Honesty (Ehrlichkeit)

52 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Praising and Reprimanding Praise : - honest - precise - no „…, but …“ - (can be) personal Reprimand : - true - precise - fair - constructive - never personal „You did not take into consideration that a suitable data structure is already existing“ „Your design of the module ABC is clear and elegant. I like it“

53 1. PUBLIC - Software engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. 3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment. 5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. 8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. Copyright Frank J. Furrer Future-Proof Software-Systems: Skills & Personality Software Engineering Ethics ACM/IEEE: Software Engineering Code of Ethics and Professional Practice (  1999)

54 Copyright Frank J. Furrer Future-Proof Software-Systems: Lessons learned for FPSS Lessons learned for future-proof software-systems: The succesfull future-proof software-systems engineer has excellent (professional) competence and highly developped soft skills Missing (or insufficient) soft skills greatly limit (or inhibit) both the effectiveness and also the career chances of the future-proof software- systems engineer The future-proof software-systems engineer must be willing and able to do life-long learning (half-time of computer science knowledge  6 years!) The personality of the succesfull future-proof software-systems engineer features courage, wisdom, fighting spirit and mediation capability Unconditional honesty and adherence to ethics is a fundamental characteristics of the succesfull future-proof software-systems engineer

55 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References Selinger04Carl Selinger: Stuff You Don’t Learn in Engineering School – Skills for Success in the Real World John Wiley & Sons, Inc., Hoboken, N.J, USA, ISBN Hendricksen12Dave Hendricksen: 12 Essential Skills for Software Architects Pearson Education, Addison-Wesley, J.J., USA, ISBN Johnson07Steven Johnson: The IT Professional’s Business and Communications Guide Wiley Publishing Inc., Indianapolis, USA, ISBN Carnegie10Dale Carnegie: How to Win Friends and Influence People Pocket Publishing, New York, USA, 2010 (first published 1937). ISBN Chou13Wushow „Bill“ Chou: Fast-Tracking Your Career – Soft Skills for Engineering and IT Professionals IEEE Press, John Wiley & Sons, Inc., N.J., USA, ISBN ACM/IEEE99ACM/IEEE: Software Engineering Code of Ethics and Professional Practice Version 5.2, Downloadable from: [last accessed: ]

56 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References Whitcomb13Clifford A. Whitcomb, Leslie E. Whitcomb: Effective Interpersonal and Team Communication Skills for Engineers IEEE Press, John Wiley & Sons, Inc., N.J., USA, ISBN NAE05U.S. National Academy of Engineering:National Academy of Engineering Educating the Engineer of 2020: Adapting Engineering Education to the New Century (Phase II) National Academy Press, Washington D.C., USA, ISBN Ebert12Christof Ebert: Global Software and IT – A Guide to Distributed Development, Projects, and Outsourcing (IEEE Series) John Wiley & Sons, Inc., N.Y., USA, ISBN NAE05bU.S. National Academy of Engineering:National Academy of Engineering Engineering Research and America’s Future– Meeting the Challenges of a Global Economy National Academy Press, Washington D.C., USA, ISBN Arbesman12Samuel Arbesman: Half-Life of Facts – Why Everything We Know has an Expiration Date Penguin Group, N.Y., USA, ISBN Zobel05Justin Zobel: Writing for Computer Science Springer-Verlag, London, UK, 2 nd edition, ISBN

57 Copyright Frank J. Furrer Future-Proof Software-Systems: The Context of the successfull Future-Proof Software- Systems Engineer

58 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Context : Impact Architecture Principle A11: A1 1 Architecture Principle A11: A1 1 Architecture Principle A11: A1 1 Architecture Knowledge Management Expectations Legacy Restrictions „The three devils of systems engineering:  Complexity,  Change,  Uncertainty” Anonymous 3 devils

59 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Successfull Working Context: Elements Collaborative Business  Supportive, decisive management  Adequate, complete and comprehensive Processes Reqs SW 

60 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Successfull Working Context: Process Design Doc Review 1 Implementation Proposal Review 2Review 3 Implementation Adequate, complete and comprehensive Processes Reqs SW ok nok ok + … ok nok ok + … ok nok ok + … Supportive, decisive management

61 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Successfull Working Context: Review Procedure Implementation Proposal Review 2 Adequate, complete and comprehensive Processes Reqs SW Technical architecture Applications architecture Information architecture Security architecture Sys Mgmt architecture Operations Review Subprocess Review Report Review Subprocess : - transparent - known - fair - consequent - fast - reliable

62 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Your Relationships : Business Project Teams IT Management Peer Architects Review Subprocess Review Report ok nok ok + … Respect, Trust Team Spirit Cooperation Transparency

63 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Example : Financial Institution – Review Report (1/2) Review Summary

64 Copyright Frank J. Furrer Future-Proof Software-Systems: Context Example : Financial Institution – Review Report (2/2) Review Details

65 Copyright Frank J. Furrer Future-Proof Software-Systems: Skills Academic Knowledge Company Procedures, Tools, Principles, Guidelines, People Behaviour, … Company Procedures, Tools, Principles, Guidelines, People Behaviour, … Company Procedures, Tools, Principles, Guidelines, People Behaviour, … Company Procedures, Tools, Principles, Guidelines, People Behaviour, … ? Transition to Industry influence

66 Copyright Frank J. Furrer Future-Proof Software-Systems: Lessons learned for FPSS Lessons learned for future-proof software-systems: The context of the future-proof software-systems engineer is a tension field between architecture knowledge, management expectations, legacy systems restrictions and the 3 devils of systems engineering (complexity, change and uncertainty) The context enabling the success of the future-proof software-systems engineer includes: (1) Collaborative business partners, (2) a supportive, decisive management, and (3) adequate, complete and comprehensive processes The (positive) impact of the future-proof software-systems engineer relies on good relationships with project teams, business, peer architects and IT management

67 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References Murer11Stephan Murer, Bruno Bonati, Frank J. Furrer: Managed Evolution – A Strategy for Very Large Information Systems Springer-Verlag, Berlin Heidelberg, 2011, ISBN El-Haik10Basem S. El-Haik, Adnan Shaout: Software Design for SIX-SIGMA – A Roadmap for Excellence John Wiley & Sons, Inc., Hoboken, N.J., USA, ISBN Ahlemann12Frederik Ahlemann, Eric Stettiner, Marcus Messerschmidt, Christine Legner (Editors): Strategic Enterprise Architecture Management – Challenges, Best Practices, and Future Developments Springer-Verlag, Berlin Heidelberg, ISBN DeMarco97Tom DeMarco: The Deadline – A Novel About Project Management Dorset House Publishing, N.Y., USA, ISBN Ebert12Christof Ebert: Global Software and IT – A Guide to Distributed Development, Projects, and Outsourcing (IEEE Series) John Wiley & Sons, Inc., N.Y., USA, ISBN Eeles10Peter Eeles, Peter Cripps: The Process of Software Architecting Pearson Education (Addison-Wesley), Boston, USA, ISBN Endres03Albert Endres, Dieter Rombach: A Handbook of Software and Systems Engineering – Empirical Observations, Laws and Theories Pearson Education Ltd., Harlow UK, ISBN Knittel06Susanne Knittel-Ammerschuber: Architecture: The Element of Success – Building Strategies and Business Objectives Birkhäuser Verlag, Basel, CH, ISBN Rodin00Robert Rodin: Free, Perfect, and Now – Connecting the Three Insatiable Customer Demands Touchstone, Simon & Schuster, New York, USA, ISBN

68 Copyright Frank J. Furrer Future-Proof Software-Systems: Finally: Do We now have a Future- Proof Software-System?

69 Copyright Frank J. Furrer Future-Proof Software-Systems: Do We have what We want? Definition: A future-proof software-system is a structure that enables the management of complexity, change and uncertainty with the least effort, with acceptable risk and with specified quality properties Reminder : What do we really want? Durable, evolvable structureAdequate processes, people & management Competitive Requirements Application-specific Requirements

70 Copyright Frank J. Furrer Future-Proof Software-Systems: Do We have what We want? Future-Proof Software-Systems Engineer Failure Success Business Pressure: Short Time-to-Market Low Development Cost Architecture Quality Business Value Architecture Quality Business Value Architecture- Quality: Agility Availability Security Safety … Simplicity Elegance Functionality

71 Copyright Frank J. Furrer Future-Proof Software-Systems: Do We have what We want? Reminder: Agility Metric Business Value Agility a) FPSS key metrics: Project StartProject End TtM (Time-to-Market) Unit: days (d) Project StartProject End DevC (Development Cost) Warranty Period Unit: k€ Agility =  TtM i   DevC i (  Size i ) 2 Unit: #UCP/(days*k€) Amount of functionality: Functional Size Amount of functionality: Functional Size Size Unit: #UCP or #FP CREDIT SUISSE values: ~ 4.2 k€/UCP ~ 0.8 days/UCP My project? Warning: Agility = Significant statistical average!

72 Copyright Frank J. Furrer Future-Proof Software-Systems: Do We have what We want? Assessment : Future-Proof Software-System? Applications Landscape Single applicationApplication Landscape aggregate & average

73 Copyright Frank J. Furrer Future-Proof Software-Systems: Do We have what We want? Assessment : Future-Proof Software-System? Applications Landscape Single applicationApplication Landscape Architecture QualityFunctional (Business) „Fit-for-Future“) 

74 Copyright Frank J. Furrer Future-Proof Software-Systems: Lessons learned for FPSS Lessons learned for future-proof software-systems: Assessment of both individual applications and the whole application landscape with respect to future-proof software-systems includes:  Architecture quality (Adherence to all architecture principles & standadrs)  „Fit-for-Future“ of the business functionality An assessment of all applications should be periodically carried out to identify both architectural and business deficits

75 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References Fairbanks10George Fairbanks: Just Enough Software Architecture – A Risk-Driven Approach Marshall & Brainerd, Boulder CO, USA, ISBN Clements02aPaul Clements, Rick Kazman, Mark Klein: Evaluating Software Architectures – Methods and Case Studies Addison-Wesley, Boston, USA, ISBN X Anderson12Stuart Anderson, Massimo Felice: Emerging Technological Risk – Underpinning the Risk of Technology Innovation Springer-Verlag, London, UK, ISBN Apel13Sven Apel, Don Batory, Christian Kästner, Gunter Saake: Feature-Oriented Software Product Lines – Concepts and Implementation Springer-Verlag, New York, USA, ISBN Clements10Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert L. Nord: Documenting Software Architectures: Views and Beyond SEI Series in Software Engineering. Addison Wesley, MA, USA, 2 nd revised edition, ISBN Cusumano04Michael A. Cusumano: The Business of Software Free Press, New York, N.Y., USA, ISBN Godinez10Mario Godinez, Eberhardt Hechler, Klaus Koening, Steve Lockwood, Martin Oberhofer, Michael Schroeck: The Art of Enterprise Information Architecture: A Systems-Based Approach for Unlocking Business Insight Addison Wesley Publishing Inc., USA, ISBN Hohmann03Luke Hohmann: Beyond Software Architecture – Creating and Sustaining Winning Solutions Pearson Education, Addison-Wesley, Boston, USA, ISBN

76 Copyright Frank J. Furrer Future-Proof Software-Systems: The Engineer of 2020

77 Copyright Frank J. Furrer Future-Proof Software-Systems: Engineer of ? 7 – Economy and Social Requirements 1 – Globalization 5 – Worldwide Engineering/Development Teams 4 – Systems Assembly, Contract Engineering 3 – Systems-of-Systems (SoS‘s) and Cyber-Physical Systems (CPS‘s) 2 – Technology Progress 6 – Threats and Risks 8 – Regulations & Liability

78 Copyright Frank J. Furrer Future-Proof Software-Systems: Lessons learned for FPSS Lessons learned for future-proof software-systems: Systems- & Software-engineering will significantly change between today (2014) and 2020 The successfull future-proof software-systems engineer must carefully follow the developments both in architecture, methods and technologies

79 Copyright Frank J. Furrer Future-Proof Software-Systems: References References: References NAE04U.S. National Academy of Engineering:National Academy of Engineering Engineer of 2020: Visions of Engineering in the New Century National Academy Press, Washington D.C., USA, ISBN NAE05U.S. National Academy of Engineering:National Academy of Engineering Educating the Engineer of 2020: Adapting Engineering Education to the New Century (Phase II) National Academy Press, Washington D.C., USA, ISBN Cusumano04Michael A. Cusumano: The Business of Software Free Press, New York, N.Y., USA, ISBN Nanz11Sebastian Nanz (Editor): The Future of Software-Engineering Springer-Verlag, Heidelberg, ISBN Daylight11Edgar G. Daylight, Sebastian Nanz (Editors): Conversations: The Future of Software Engineering – Panel Discussions November 2010, ETH Zurich. Lonely Scholar bvba, Heverlee, Belgium, ISBN PCAST14President’s Council of Advisors on Science and Technology (PCAST): Designing a Digital Futre: Federally Funded Research and Development in Networking and Information Technology. January Downloadable from: [last accessed: ] Anderson12Stuart Anderson, Massimo Felice: Emerging Technological Risk – Underpinning the Risk of Technology Innovation Springer-Verlag, London, UK, ISBN

80 Copyright Frank J. Furrer Future-Proof Software-Systems Parting Notes

81 Copyright Frank J. Furrer Future-Proof Software-Systems: Parting Notes „Usually, any reasonable architecture will support the desired functionality, but only a carefully chosen architecture will enable the desired quality properties“ George Fairbanks: Just Enough Software Architecture, 2010, ISBN „The force of entropy means that disorder is the only thing that happens automatically and by itself. If you want to create a completely ad-hoc IT architecture, you do not have to lift a finger. It will happen automatically as a result of day-to-day IT activity“ Richard Hubert: Convergent Architecture, ISBN against-holism-the-argument-from-entropy/

82 Copyright Frank J. Furrer Future-Proof Software-Systems: Parting Notes „Engineering isn‘t about perfect solutions: It‘s about doing the best you can with limited resources “ Randy Pausch: The Last Lecture, ISBN

83 Copyright Frank J. Furrer Future-Proof Software-Systems: Parting Notes Essential Reading: References Hendricksen12Dave Hendricksen: 12 Essential Skills for Software Architects Pearson Education, Addison-Wesley, J.J., USA, ISBN NAE04U.S. National Academy of Engineering:National Academy of Engineering The Engineer of 2020 – Visions of Engineering in the New Century National Academy Press, Washington D.C., USA, ISBN Downloadable from: [last accessed ]http://www.nap.edu/download.php?record_id=10999 DeWeck11Olivier L. de Weck, Daniel Roos, Christopher L. Magee: Engineering Systems – Meeting Human Needs in a Complex Technological World MIT Press, Cambridge, USA, ISBN

84 Copyright Frank J. Furrer Future-Proof Software-Systems: Parting Notes Contact Details: Mobile: +41 (0) Phone: +41 (0) Postal Address: Dr. Frank J. Furrer Guldifuess 3 CH-8260 Stein am Rhein Schweiz


Download ppt "Future-Proof Software-Systems (Zukunftsfähige Software-Systeme) Frank J. Furrer Dr. sc. techn. ETH-Zürich TU Dresden WS 2013/2014 Part 3 V0.9/02-02-2014."

Similar presentations


Ads by Google