Panel discussion on TOP CHALLENGING ISSUES FOR SOFTWARE DEVELOPMENT. Roy Oberhauser Aalen University



Similar documents
Global Software Development: Issues, Solutions, Challenges

Practical Agile Requirements Engineering

PLM Center of Excellence PLM for Embedded Product Development - Challenges, Experiences and Solution. M a y

Comparing Plan-Driven and Agile Project Approaches

Anatomy of an Enterprise Software Delivery Project

Agile Offshore Development. with SOA

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

CS4507 Advanced Software Engineering

Lean Development A team approach to Software Application Development

A study on OSS Marketing and Communication Strategies

Module 6 Essentials of Enterprise Architecture Tools

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company.

Business Requirements as the Basis for Enterprise Architecture and Project Architectures. Harmen van den Berg

Advanced Software Engineering. Software Development Processes

Requirements Management im Kontext von DevOps

Business Innovation & Transformation Enablement (BITE) Method

Lowering business costs: Mitigating risk in the software delivery lifecycle

Business Process Services. White Paper. Improving Efficiency in Business Process Services through User Interface Re-engineering

Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).

Holistic Development of Knowledge Management with KMMM

Global Product Life Cycle Management. Improving product profitability amidst global competition through global sourcing.

Moving from EAI to SOA An Infosys Perspective

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

Alternative Development Methodologies

Plan-Driven Methodologies

Information Governance 2.0. Abstract. What is Information Governance?

How To Scale Agile Development With Knowledge Management

Software Life Cycles and Configuration Management

Is ISO/IEC Applicable to Agile Methods?

Introduction to Agile Software Development

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Balancing the Outsourcing Equation

Managing Successful Offshore QA Delivery

Enabling Data Quality

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

EXTENDING YOUR REACH GLOBALLY THROUGH OUTSOURCING

Security for Financial Services: Addressing the Perception Gaps in a Dynamic Landscape

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

White Paper. An Overview of the Kalido Data Governance Director Operationalizing Data Governance Programs Through Data Policy Management

Sistemi ICT per il Business Networking

Introduction to SOA governance and service lifecycle management.

TOGAF TOGAF & Major IT Frameworks, Architecting the Family

Hand IN Hand: Balanced Scorecards

Software Development with Agile Methods

COMPUTER SOFTWARE/SERVICES AND ITeS EXPORTS

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

TOGAF. TOGAF & Major IT Frameworks, Architecting the Family. by Danny Greefhorst, MSc., Director of ArchiXL. IT Governance and Strategy

Introduction to Software Engineering. 9. Project Management

Agile Software Development in Global Software Engineering

Supporting Agile Software Development With Agile Team Work Space

When User Experience Met Agile: A Case Study

White Paper Software Quality Management

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Stephen M. Fiore, Ph.D. University of Central Florida Cognitive Sciences, Department of Philosophy and Institute for Simulation & Training

CENTRALIZED CONTROL CENTERS FOR THE OIL & GAS INDUSTRY A detailed analysis on Business challenges and Technical adoption.

P3M3 Portfolio Management Self-Assessment

Agile Project Management

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development

White Paper. Comparison of ISO/IEC with ASL and BiSL

Software Production and Lifecycle Models

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

Transform Your Bank in Measurable Steps

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

CMMi and Application Outsourcing

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Meeting the challenge of software quality and maximizing return on investment Performance driven. Quality assured.

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

User and Client Satisfaction in Agile Development

Lecture 8 About Quality and Quality Management Systems

ICTEC. IT Services Issues HELSINKI UNIVERSITY OF TECHNOLOGY 2007 Kari Hiekkanen

Software Engineering Compiled By: Roshani Ghimire Page 1

DevOps: Development Challenges and New Approaches

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Systematic and Holistic IT Project Management Approach for Commercial Software. Theresa Kraft Lawrence Technological University

Service Modelling & Service Architecture:

Extreme Programming, an agile software development process

The Role of Agile Methodology in Project Management

Application Outsourcing: The management challenge

Scrum: A disciplined approach to product quality and project success.

IV. Software Lifecycles

TOGAF usage in outsourcing of software development

Using SOA to Improve Operational Efficiency A Management Overview. Introducing MIKE2.0 An Open Source Methodology for Information Development

Transcription:

Panel discussion on TOP CHALLENGING ISSUES FOR SOFTWARE DEVELOPMENT Roy Oberhauser Aalen University

Importance of SW Development Society increasingly depends on software SW impacts us all, thus SW development issues too Value has shifted to software and data Impacts of development issues Direct costs of defects and catastrophes Indirect costs in lack of satisfaction and capabilities New trends/situations bring their own challenges: GSD, Crowdsourcing, Cloud Computing, DevOps, etc. Security: malware, hacking, cyber-espionage and -warfare Reuse via composability and resulting issues 2013 Roy Oberhauser Yet in some cases these may be running into some common underlying challenges too... 2

Challenging Issues for SW Development Technical Issues Brooks Essential Difficulties [Br86] Complexity, Conformity, Changeability, Invisibility Requirements refinement [Br86] Deciding precisely what to build is hardest part of the conceptual work: establishing the detailed technical requirements, including all the interfaces to people... UI design [Br03] An art, not systematic or an engineering discipline Productivity via reuse: compositionality (avoid building) 2013 Roy Oberhauser 3

Challenging Issues for SW Development Technical Issues Process Issues Agile vs. plan-driven approaches Agile Manifesto with explicit emphasis on: Explicit values, ownership, trust, working SW CHAOS Report 2012 on Waterfall vs. Agile [CH12]: Success 14 vs. 42%; Failed 29 vs. 9%; But half are still Challenged in either case (57 vs. 49%) Technical debt - long-term? Team self-organization and role ambiguity Maintaining conceptual integrity across multiple minds? Forking binges ; lack of documentation 2013 Roy Oberhauser 4

Challenging Issues for SW Development Technical Issues Process Issues People-related Issues Human issues: fallibility, communication issues, social skills, psychological effects Adequate competency, training, and education Dynamic technological landscape Handling & valuing developers: Peopleware [DeLi87] 2013 Roy Oberhauser 5

Challenging Issues for SW Development Technical Issues Process Issues People Issues Project Issues SW estimation [Br03] Predictable schedule and predictable amount of work 2013 Roy Oberhauser 6

Challenging Issues for SW Development Technical Issues Process Issues People Issues Project Issues Quality and other Holistic Issues Less tolerance for errors? Beyond single-point-of-failures, chain events 2013 Roy Oberhauser 7

In Summary Software development is really about: Multiple fallible humans collaborating via some lossful natural language to precisely program essentially invisible systems based on unclear and imperfect specifications, thereby creating highly complex defect-prone systems without definitive schedule or work predictability, on which society (gratefully and wishfully) relies... 2013 Roy Oberhauser 8

References [Br86] Frederick P. Brooks, Jr. "No Silver Bullet Essence and Accident in Software Engineering". Proceedings of the IFIP Tenth World Computing Conference: 1069 1076, 1986. [DeLi87] Tom DeMarco and Timothy Lister. Peopleware: Productive Projects and Teams. ISBN 0-932633-43-9. 1987. [Br03] Frederick P. Brooks, Jr. Three great challenges for half-century-old computer science. J. ACM 50, 1 (January 2003), 25-26. [CH12] The CHAOS Report by the Standish Group 2012. 2013 Roy Oberhauser 9

Stephen Clyde? Who s he? Object Complex? Role 0..* plays Person has 0..* Interest Software System 0..* likes working with <<instance of>> me: Problem Solver <<uses> > Conceptual Modeling

Transitions and States? @circa.1973 has idea & customer Acquiring skills Start Business Pursuing Education @circa.1993 success failure has question Developing Software Researching & Learning Teaching Soft. Eng.

Responsibilities and Collaborations? In the 1980 s Problem Solver CRC-Card-like model [Cunningham, Beck, Wirfs-Brock, etc.] Average Software Engineer Responsible for Programming (coding) core application logic Detailed design Some levels and types of design Some testing Some integration A little analysis of application problems and domains and more Collaborates with Managers Customers End users Testers Graphic artists Documenters and more

Responsibilities and Collaborations? Today Problem Solver Average Software Engineer Responsible for Programming the glue between frameworks, SDK s, and existing components All kinds of integration All kinds of testing All levels and kinds of design Analysis of application problems and domains Most of the development process and more Collaborates with More Managers Sophisticated Customers & End Users Quality Assurance Security Officers Graphic artists Documenters and more

What s change and what hasn t? Essence more complexity Tools lots of improvements, still focus primarily on reducing accidents Accidental complexity different, but more frequent and subtle Principles some advancements and more evidence, but still lacking maturity The need for great designers the need for great analysts, designers, integrators, testers, etc.

Università degli Studi dell Insubria Top Challenging Issues for Software Development Governance issues Luigi Lavazza Dipartimento di Scienze Teoriche e Applicate Università degli Studi dell'insubria Varese, Italy

The software lifecycle in the large A P.A. or company Including business people and business analysts A company acting as software procurer and integrator A company acting as software developer Here needs, money, priorities are known Here needs are mapped onto software requirements Here bids are specified, on the basis of software requirements Here actual software is developed ICSEA 2013 2 Venice, October 27-31, 2013

The goals at the different levels Satisfying business needs Managing the budget and the software portfolio, Translating business needs into software requirements Roughly estimating costs to assess requirements viability and supply costs Translating software requirements into bid-oriented specifications (including functionality, quality, cost, etc.) Software development (of the required quality, within budget and in time) ICSEA 2013 3 Venice, October 27-31, 2013

The problems Communication impedance mismatch How can analysts understand business people (or PA administrators)? and vice versa How can analysts and technical people communicate with no misunderstandings? Dealing with invisibility What are the actual needs? What are the requirements? What are the specifications of the software solution? What is the cost and value Of satisfying needs? Of implementing requirements? Of developing software? ICSEA 2013 4 Venice, October 27-31, 2013

A step towards a solution A common language, to express business processes Software requirements Software specs, architecture, design The common language should support measurement. Objective quantitative measures support Cost estimation models Value models Evaluation of progress ICSEA 2013 5 Venice, October 27-31, 2013

Virtuous communication flows Models Model based cost estimates Actual costs and progress referred to model items Reqs models and measures Refined cost estimates Actual costs and progress referred to model items Specs models ICSEA 2013 6 Venice, October 27-31, 2013

Global Software Development Challenges Software Development Challenges Panel 8th International Conference on Software Engineering Advances (ICSEA 2013) Venice, October 28 th, 2013 Global Software Development (GSD) Challenges Jameleddine Hassine Department of Information and Computer Science KFUPM, Kingdom of Saudi Arabia jhassine@kfupm.edu.sa 1

Global Software Development Challenges What is Global Software Development What is Global Software Development (GSD) Software work undertaken at geographically separated locations across national boundaries in a coordinated fashion involving real time (synchronous) and asynchronous interaction. Communication for information exchange. Coordination of teams and activities (adhering to goals and policies) 2

Global Software Development Challenges Types of GSD Organizations Types of GSD Organizations Organizations shift all or part of their software development to other countries (referred to as off shoring). Independent client companies who outsource their software development to a vendor or software supplier. Multinational organizations distribute their software development activities across multiple subsidiary sites, located in different countries, e.g., Cisco, IBM, Alcatel- Lucent, Siemens, etc. 3

Global Software Development Challenges Extent of Global Software Development Extent of Global Software Development More than 90% of Fortune 500 companies use external resources for IT services delivery [2010] 31% of IT spending by companies in 2010 was on external services Cisco, IBM, Alcatel-Lucent, British Telecom, and General Electric have moved parts of their software development to countries like Ireland and India 4

Global Software Development Challenges Why Global Software Development? Why Global Software Development? Solving local IT skills shortage Threat of opportunism, security and trust concerns, training, cultural issues Hidden, unexpected, and long term costs Cost Savings Follow the sun development Geopolitical risks, coordination problems Improvements in time-to-market efficiency Remain focused on core competencies Improved quality? Legal issues New markets Loss of control Competitive advantage 5

Global Software Development Challenges Issues and Challenges Issues and Challenges Strategic issues: when, to whom and how, task allocation. Communication issues: distance, time zone difference, infrastructure support, distinct backgrounds, lack of informal communication. Requirements dynamism: user requirements are dynamic Cultural issues: individualism vs. collectivism, emotional vs. neutral, attitude to time, attitude to governments, etc. Geographical dispersion: coordination complexity, vendor support, access to experts, software practices that need face-to-face communications. Technical issues: information and artifact sharing, software architecture. Knowledge management: slow communication, poor documentation, management of repositories, etc. 6

Global Software Development Challenges Addressing GSD Issues Global software development process capabilities: Rigor and Standardization: may offset some of the negative effects of team dispersions Agility and Customizability: may help teams cope with user requirements dynamism. Such processes can lower cost and shorten time in responding to user change requests. Addressing GSD issues Work allocations: Transfer by development stage, transfer by functionalities, product line approach Organizational models: local managers at each site (with common visions). Cultures must be understood and respected. They could not be easily changed! Other solutions: Share your experience... 7

Global Software Development Challenges 8

How to handle Human Diversity! at the Web?! Professor Adriana E. MARTIN PhD in Informatics Science - Master in Software Engineering GIFIS Research Group, National University of Austral Patagonia (UNPA), Santa Cruz, Southern Patagonia, Argentina GIISCo Research Group, National University of Comahue (UNComa), Neuquén, Northern Patagonia, Argentina amartin@uaco.unpa.edu.ar / adrianaelba.martin@gmail.com!

You can t just punch in Let there be Light without writing the code underlying the user interface functions! J. P. Rini (1997) So, what's the problem? Web users are just like humans and there are many different areas concerned with what we called:! The Human Side of the Web!

Web Accessibility promotes "A Web for All"! by removing barriers based on standards and guidelines that help Web sites or products meet basic requirements...! User-Centered Design (UCD) works on the strategy of positioning users needs at the center of a Web design! (also known as Usability Engineering) It seams that we already have good proposals, so again:! what s the problem?! The Web is more of a Social creation than a Technical one! Tim Berners-Lee: The Web's Brainchild by UNESCO s Courier (2000) Human-Computer Interaction (HCI) involves the study, planning and design of the interaction between people (users) and computers Web Usability promotes "A Web site or product easy to Use"! by targeting to users who use that Web site or product to study the user s attitude towards it

Web Accessibility "A Web for All possible?! what about the human interaction aspect?! puts the focus on technical aspects So, let s take a second look to some of these areas we mentioned before, and their proposals more than 7 billion people around the word! As predicted by the National Geographic Magazine - Special Series: 7 Billion (2011) content and! frequency of tests?! what about considering people who have disabilities?! representative users?! Web Usability "A Web site or product easy to Use puts early focus on identifying users and tasks

Web Accessibility "A Web for All puts the focus on technical aspects How we cope with these issues within the boundaries of these areas?! and how's the Client s test going? good! just a couple issues An Usable Accessibility! Hi, please could you guide me to the checkout? Sure It s just over there! I bet he s pointing Web Usability "A Web site or product easy to Use puts early focus on identifying users and tasks

researchers and practitioners have to leave their sandboxes and work their fields with a broader view!! For sure this is a very fast decade and it s a fact that we need technology to survive, but mostly it s a SOCIAL DECADE where It s really about the! Web User experience! Mike Paciello of The Paciello Group (2009) involves HUMAN logics!!!

there is no doubt that we need to improve recipes, ergo, effective and practical solutions to better handle the human nature of our Web users.! Thanks for your attention!! Professor Adriana E. MARTIN amartin@uaco.unpa.edu.ar // adrianaelba.martin@gmail.com!