• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Panel discussion on

TOP CHALLENGING ISSUES

FOR SOFTWARE DEVELOPMENT

Roy Oberhauser

Aalen University

(2)

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

Yet in some cases these may be running into

some common underlying challenges too...

2

Importance of SW Development

(3)

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)

3

Challenging Issues for SW Development

(4)

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

4

Challenging Issues for SW Development

(5)

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]

5

Challenging Issues for SW Development

(6)

Technical Issues

Process Issues

People Issues

Project Issues

SW estimation

[Br03]

Predictable schedule and predictable amount of work

6

Challenging Issues for SW Development

(7)

Technical Issues

Process Issues

People Issues

Project Issues

Quality and other Holistic Issues

Less tolerance for errors?

Beyond single-point-of-failures, chain events

7

Challenging Issues for SW Development

(8)

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...

8

In Summary

(9)

[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.

9

References

(10)

Stephen Clyde? Who’s he?

Object Complex?

me: Problem Solver Conceptual

Modeling <<uses> > Person <<instance of>> Software System likes working with 0..* Role plays 0..* 0..* Interest has

(11)

Transitions and States?

Acquiring skills

@circa.1973

has idea & customer Pursuing Education Developing Software Start Business Teaching Soft. Eng. @circa.1993 success failure Researching & Learning has question

(12)

Responsibilities and Collaborations?

Problem Solver

In the 1980’s

CRC-Card-like model [Cunningham, Beck, Wirfs-Brock, etc.]

Average Software Engineer

Responsible for … Collaborates with …

Programming (coding) core application logicDetailed design

Some levels and types of designSome testing

Some integration

A little analysis of application problems and domainsand moreManagersCustomersEnd usersTestersGraphic artistsDocumentersand more

(13)

Responsibilities and Collaborations?

Problem Solver

Today

Average Software Engineer Average Software Engineer

Responsible for … Collaborates with …

Programming the “glue” between frameworks, SDK’s,

and existing components

All kinds of integrationAll kinds of testing

All levels and kinds of design

Analysis of application problems and domainsMost of the development process

and more

More Managers

Sophisticated Customers

& End Users

Quality AssuranceSecurity OfficersGraphic artistsDocumentersand more

(14)

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

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

(15)

Università degli Studi dell’Insubria

Top Challenging Issues for Software Development

Governance

Governance issues

issues

Luigi Lavazza

Dipartimento di Scienze Teoriche e Applicate Università degli Studi dell'Insubria

(16)

The software lifecycle “in the large”

Here needs, money, priorities are known

Here needs are

mapped onto software requirements

A P.A. or company Including business people and business analysts

Venice, October 27-31, 2013

ICSEA 2013 2

Here bids are

specified, on the basis of software

requirements

Here actual software is developed A company acting as software procurer and integrator A company acting as software developer

(17)

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

ICSEA 2013 3

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)

(18)

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?

(19)

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

(20)

Virtuous communication flows

Model

Model based cost estimates Actual costs and progress referred to modelmodel items Reqs modelsmodels

and measures Models

Models

Refined cost estimates Actual costs and progress

ICSEA 2013 6

and measures

Specs modelsmodels

Actual costs and progress referred to modelmodel items

(21)

Global Software Development Challenges

8th International Conference on Software Engineering Advances (ICSEA 2013) Software Development Challenges Panel

Venice, October 28th, 2013 Jameleddine Hassine

Global Software

Development (GSD)

Challenges

1 Jameleddine Hassine

Department of Information and Computer Science

KFUPM, Kingdom of Saudi Arabia [email protected]

(22)

Global Software Development Challenges

Software work undertaken at geographically

separated locations across national boundaries in a

coordinated fashion involving real time

(synchronous) and asynchronous interaction.

What is Global Software Development (GSD)

What is Global Software Development

2

(synchronous) and asynchronous interaction.

Communication

for information exchange.

C

oordination

of teams and activities (adhering to

(23)

Global Software Development Challenges

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.

Types of GSD Organizations

Types of GSD Organizations

3

supplier.

Multinational organizations distribute their software

development activities across multiple subsidiary sites,

located in different countries, e.g., Cisco, IBM,

Alcatel-Lucent, Siemens, etc.

(24)

Global Software Development Challenges

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

Extent of Global Software Development

Extent of Global Software Development

4

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

(25)

Global Software Development Challenges

Why Global Software Development?

Why Global Software Development ?

Solving local IT

skills shortage Cost Savings

Follow the sun development

Hidden, unexpected, and long term costs

Geopolitical risks, coordination problems Threat of opportunism,

security and trust concerns, training,

5

Improvements in time-to-market efficiency

Remain focused on

core competencies New markets

Competitive advantage

Improved quality ? Legal issues

Loss of control concerns, training,

(26)

Global Software Development 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,

Issues and Challenges

Issues and Challenges

6

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,

(27)

Global Software Development Challenges

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

Addressing GSD Issues

7

to user change requests.

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:

(28)

Global Software Development Challenges

(29)

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

[email protected] / [email protected]

(30)

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 a

re just like humans…

and there are many different areas concerned with what

we called:

!

(31)

Web Accessibility promotes

"A Web for All" !

by removing barriers based on standards and guidelines that help Web sites or products

meet basic requirements...

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…

Human-Computer Interaction (HCI) involves the study, planning and design of the

interaction between people (users) and computers…

The Web is more of a Social creation than a Technical one…” !

Tim Berners-Lee: The Web's Brainchild by UNESCO’s Courier (2000)

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: !

(32)

Web Accessibility

"A Web for All”

puts the focus on technical aspects

Web Usability

"A Web site or product easy to Use”

puts early focus on identifying users and tasks

possible?! what about the human

interaction aspect?!

representative

users?!

content and !

frequency of tests?!

what about considering people

who have disabilities?!

… more than 7 billion people around the word !

As predicted by the National Geographic Magazine - Special Series: 7 Billion (2011)

So, let’s take a second look to some of these

areas we mentioned before, and their

(33)

Web Accessibility

"A Web for All”

puts the focus on technical aspects

Web Usability

"A Web site or product easy to Use”

puts early focus on identifying users and tasks

“An Usable Accessibility”

!

Sure… It’s just over there! Hi, please could you

guide me to the checkout?

I bet he’s pointing… … and how's the

Client’s test going? good! just a couple issues…

How we cope with these issues within the boundaries of these areas? !

(34)

… researchers and practitioners have to leave their

sandboxes and work their fields with a broader view!

!

“It’s really about the

!

Web User eXperience”

!

Mike Paciello of The Paciello Group (2009)

… involves

HUMAN logics!!!

!

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

(35)

Thanks for your attention!

!

Professor Adriana E. MARTIN

[email protected] // [email protected]

!

… there is no doubt that we need to improve recipes, ergo,

effective and practical solutions to better handle the human

References

Related documents

In order to enhance its marketing efforts, the Institute for Sustainable Technologies – National Research Institute in Radom initiated the creation of a model

This study investigates the interplay between research &amp; development (R&amp;D), human capital, foreign direct investment (FDI) and total factor productivity (TFP) in OECD..

Conclusions: Pretreatment PSR index scores of 4 were a strong indicator of periodontal access surgery needs in un- treated dentition sextants but markedly overestimated surgi-

Four GCF strips were eluted and analyzed separately for each individual (n = 4,407). IL-1b levels were evaluated by enzyme-linked immune-absorbent as- say according to

EGFR c’1000, the endocytic effect of Rab5a expression was restored; i.e., cells expressing EGFR:c’1000 continue to accelerate fluid phase endocytosis and EGF internaliza-.. tion

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and

Comparisons were made with 3% delta dose and 3-mm distance criteriawithin the VeriSoftsoftware&amp;both dose planes (measured and calculated) were normalized to

In a tool like Tinkerplots, students switch more easily between representations, including value bar graphs, dot plots, histograms, pie charts, and scatter plots.. As