software development o & c

Post on 05-Jul-2015

55 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Software development Opportunities and Challenges

TRANSCRIPT

Software Development

Challenges & Opportunities

“You’ve got to be very careful if you don’t know where you’re going, because you might not get there.”

Yogi Berra

Topics Covered in PresentationSoftware Lifecycle – At a glanceElements and Principles of Software Development.Software Development ActivitiesChallenges with Software DevelopmentProblem solving ApproachModel driven development strategyRisk vs Opportunity assessmentSoftware Development LifecyclePhases in developmentProblems with the approachGlobal and Legal ChallengesOpportunities in working with specific approach.

• About

• Technology

• Client Base

• Services

Project analysis

Application for buying and selling

◦ Mobile application

◦ Search Adv.

◦ Post adv.

Category

Country

Analysis ?

Software Life Cycle

Software construction goes through a

progression of states:

5

Conception Adulthood RetirementChildhood

Pre-

DevelopmentDevelopment

Post-

Development

Elements of Software

Development User Requirements

Software Requirements: target systems, languages

Architectural Design: target systems

Detailed Software Design: language, structure, libraries

Implementation: languages, quality, version control

Unit Testing

Integration Testing

System Testing

Deployment and Acceptance Testing

Maintenance: regression testing, quality control, bug tracking, version control

Documentation: paper, online (HTML/PDF), 6

Principles of System

Development Get the system users involved.

Use a problem-solving approach.

Establish phases and activities.

Document through development.

Establish standards.

Manage the process and projects

Justify systems as capital investments.

Don’t be afraid to cancel or revise scope.

Divide and conquer.

Design systems for growth and change.

3-7

Possible Identification of Software Development

Activities

8

Requirements AnalysisWhat is the problem?

System DesignWhat is the solution?

Program Design

What are the mechanismsthat best implement thesolution?

Program ImplementationHow is the solutionconstructed?

Testing Is the problem solved?

Delivery Can the customer use the solution?

Maintenance Are enhancements needed?

Problem

Domain

Implementation

Domain

Participants in Systems

Development

Who participates in the

system development life

cycle?

Inherent Challenges with Software

Development Requirements are complex

◦ The client usually does not know all the functional requirements in advance

Requirements may be changing

◦ Technology enablers introduce new possibilities to deal with nonfunctional

requirements

Frequent changes are difficult to manage

◦ Identifying milestones and cost estimation is difficult

There is more than one software system

◦ New system must often be backward compatible with existing system

(―legacy system‖)

◦ Phased development: Need to distinguish between the system under

development and already released systems 10

Manage the Process and ProjectsProcess management –

an ongoing activity that documents, manages,oversees the use of, and improves an organization’schosen methodology (the ―process‖) for systemdevelopment. Process management is concernedwith phases, activities, deliverables, and qualitystandards should be consistently applied to allprojects.

Project management

is the process of scoping, planning, staffing,organizing, directing, and controlling a project todevelop an information system at a minimum cost,within a specified time frame, and with acceptablequality.

3-

11

Don’t Be Afraid to Cancel

or Revise ScopeCreeping commitment –

a strategy in which feasibility and risks are continuously reevaluatedthroughout a project. Project budgets and deadlines are adjustedaccordingly.

Risk management –the process of identifying, evaluating, and controlling what might gowrong in a project before it becomes a threat to the successfulcompletion of the project or implementation of the informationsystem. Risk management is drive by risk analysis or assessment.

3-

12

Where Do Systems Development

Projects Come From?

Problem –

◦ an undesirable situation that prevents the organization from fully

achieving its purpose, goals, and/or objectives.

Opportunity –

◦ a chance to improve the organization even in the absence of an

identified problem.

Directive –

◦ a new requirement that is imposed by management,

government, or some external influence.

3-

13

Where Do Systems Development

Projects Come From? Planned Projects

◦ An information systems strategy plan

has examined the business as a whole to identify those system development projects that will return the greatest strategic (long-term) value to the business

◦ A business process redesign

has thoroughly analyzed a series of business processes to eliminate redundancy and bureaucracy and to improve efficiency and value added. Not it is time to redesign the supporting information system for those redesigned business processes.

3-

14

Use a Problem-Solving Approach

Classical Problem-solving approach

1. Study and understand the problem, its context,

and its impact.

2. Define the requirements that must be meet by any

solution.

3. Identify candidate solutions that fulfill the

requirements, and select the ―best‖ solution.

4. Design and/or implement the chosen solution.

5. Observe and evaluate the solution’s impact, and

refine the solution accordingly.

3-

15

The PIECES Problem-Solving

FrameworkP the need to improve performance

I the need to improve information (and data)

E the need to improve economics, control costs, or increase profits

C the need to improve control or security

E the need to improve efficiency of people and processes

S the need to improve service to customers, suppliers, partners, employees, etc.

Model-Driven Development Strategy

Model-driven development –◦ a system development strategy that emphasizes the drawing of system models

to help visualize and analyze problems, define business requirements, and design information systems.

◦ Process modeling – a process-centered technique popularized by the structured analysis and design methodology that used models of business process requirements to derive effective software designs for a system.

◦ Data modeling – a data-centered technique used to model business data requirements and design database systems that fulfill those requirements.

◦ Object modeling – a technique that attempts to merge the data and process concerns into singular constructs called objects. Object models are diagrams that document a system in terms of its objects and their interactions.

3-

17

Logical vs. Physical Models

Logical model –

a pictorial representation that depicts what a

system is or does.

Physical model –

a technical pictorial representation that depicts

what a system is or does and how the system is

implemented.

3-

18

Model-Driven Development

Strategy

Requirements often

more thorough

Easier to analyze

alternatives

Design specifications

often more stable and

flexible

Systems can be

constructed more

correctly the first time

Time consuming

Models only as good

as users'

understanding of

requirements

Reduces users' role

because pictures are

not software

Can be Inflexible

3-

19

Advantages Disadvantages

Level

5

OPTIMIZED

Level

4

MANAGED

Level

3

DEFINED

Level

2

REPEATABLE

RISK

COMPETITIVENESS

Level

1

INITIAL

Opportunity Principle 1:

◦ Get the Owners and Users Involved

Principle 2:

◦ Use a Problem-Solving Approach

Principle 3:

◦ Establish Phases and Activities

Principle 4:

◦ Justify Systems as Capital Investments

Principle 5:

◦ Don’t Be Afraid to Cancel or Revise Scope

The System Development Life Cycle

What are guidelines for system development?

Involve users (anyone for whom

system is being built)

Develop clearly defined standards (procedures

company expects employees to follow)

Arrange tasks into phases (groups

of activities)

What is a systems analyst?

Responsible for designing and

developing information system

Liaison between users and IT

professionals

What is the project team?

Consists of users, systems analyst, and other IT professionals

Formed to work on project from beginning to end

Project leader—one member of the team who

manages and controls project budget and

schedule

The System Development Life

CycleWhat are some reasons to create or modify an information system?

Competition can

lead to change

To improve

existing system

Outside group may

mandate change

To correct problem

in existing system

Presented to

steering

committee,

which decides

how system will

be developed

What is the system proposal?

Assesses

feasibility

of each

alternative

solution

Recommen

ds the most

feasible

solution for

the project

Formal request for new or modified information system Also called project request

Development Stages

1. Analysis

2. Design

3. Implementation

4. Testing

5. Documentation

6. Evaluation

7. Maintenance

What is the analysis phase?

Read and understand the problem

Interview client to be clear about the problem

Develop a software specification: Clear statement of problem

Basis of legal agreement

Agreed between analyst and client

Conduct preliminary

investigation, also

called feasibility

study

Perform detailed

analysis

Questioning

Write a program which calculates and displays the average of a set of numbers

Questions...?

Questioning

• Write a program which calculates and displays the average of a set of numbers

• Questions:

–How many numbers in set?

–What is maximum number?

–Are numbers integers, or real?

–What output device(s) to be used?

Inputs, Processes and Outputs

Inputs, Processes and Outputs

Inputs, Processes and Outputs

Feasibility Study

Measure of

how suitable

system

development

will be to the

company

Operational

feasibility

Schedule

feasibility

Four feasibility

tests:

Technical

feasibility

Economic

feasibility

(also called

cost/benefit

feasibility)

Begins when steering committee receives project request

Steering

committee

decision-making

body for the

company

Function of committee:

Review and

approve project

requests

Allocate

resources

Form project

development

team for each

approved

project

Prioritize

project requests

What is the planning phase?

What are possible solutions?

Buy packaged software—prewritten

software available for purchase

Outsource—have outside source

develop software

Write own custom software—software

developed at user’s request

Vertical market

software—designed

for particular industry

Horizontal market

software—meets

needs of many

companies

Logical Design PhaseLogical design –

◦ the translation of business user requirements into a system model that depicts only the business requirements and not any possible technical design or implementation of those requirements. Common synonyms include conceptual design and essential design.

System model –◦ a picture of a system that represents reality or a desired

reality. System models facilitate improved communication between system users, system analysts, system designers, and system builders.

Analysis paralysis –◦ a satirical term coined to describe a common project

condition in which excessive system modeling dramatically slows progress toward implementation of the intended system solution.

Physical Design & Integration

PhasePhysical design –◦ the translation of business user requirements into a system

model that depicts a technical implementation of the users’ business requirements. Common synonyms include technical design or implementation model.

Two extreme philosophies of physical design

Design by specification –◦ physical system models and detailed specification are

produced as a series of written (or computer-generated) blueprints for construction.

Design by prototyping –◦ Incomplete but functioning applications or subsystems (called

prototypes) are constructed and refined based on feedback from users and other designers. 3-

39

Construction and Testing Phase

Construct and test system components

◦ Software

Purchased

Custom-built

◦ Databases

◦ User and System Interfaces

◦ Hardware

◦ Networks

3-

40

Installation and Delivery Phase

Deliver the system into operation

(production)

Deliver User training

Deliver completed documentation

Convert existing data

3-

41

What is the support phase?

Conduct post-implementation

system review—meeting to find

out if information system is

performing according to

expectations

Identify errors

Identify enhancements

Monitor system performance

Provides ongoing

assistance after

system is

implemented

The ongoing

technical support

for users of a

system, as well as

the maintenance

required to deal

with any errors,

omissions, or new

requirements that

may arise.

System Development Documentation, Repository, and Presentations

3-

43

Challenges in the Development

Phases Difficulty of accommodating change

One phase has to be complete before moving onto the next phase

Inflexible partitioning of the project into distinct stages makes it difficult to respond

to changing customer requirements.

Only appropriate when the requirements are well-understood and changes will be

fairly limited during the design process.

Few business systems have stable requirements.

Mostly used for large systems engineering projects where a system is developed

at several sites.

Not targeting all goals of Model-Driven Engineering

Using model transformations which are not fully executable

Not testing the model

Insufficient tooling

44

Software Industry Challenges

2/21/2014 Seton Hall University

Costs

Up

Revenues

Down

Market

Expectations

Up

Need solutions that areflexible, expansible, survivable, sustainable, affordable and secure

Complexity

UpStockholders : ROICustomers: ValueUsers : Functionality & Quality

Intervals

Shrinking

Legal challenges

Intellectual property rights—general

◦ Application and tools

Can you reuse your component?

Can you use it in a competitor’s application?

◦ Proprietary confidential information

Library source code, proprietary tools, data, …

◦ Test suites and case studies

Performance of partner applications or process

◦ Overlapping alliances and conflicts

Legal Challenges

Intellectual property rights

◦ Right to publish and disseminate

Revealing experimental results

◦ Indirect intellectual property

Insights developed in

collaborative process

Process and practices

Whose law governs what?

Opportunities? Faster

More cost-effective

Leads to increased quality

less error-prone

leads to meaningful validation

results in software being less sensitive to changes in personnel

empowers domain experts

lets advanced programmers focus on the hard stuff

bridges the gap between business and IT

in software being less sensitive to changes in business requirements

results in software being less sensitive to changes in technology

really enforces architecture

captures domain knowledge

provides up-to-date documentation

enables to focus on business problems instead of technology

provides you the ability to see your system at various levels

Our Learning's.. Development and maintenance processes our

software portfolio

Establish good software development practices

Capture/rescue important legacy software

Improve the quality of our software base:◦ language conformance.

◦ portability (over many platforms and architectures)

◦ design and structure

◦ testing

◦ maintenance

◦ improve software quality

Where possible use tools to automate, to make the process easier and more measurable

Ensure our developers adopt some good practices and develop their own process of improvement!

49

What do we learn? Much of Best Practice is common sense – however

is it formalised common sense

The essence of Best Practice is in definition anddocumentation

Software development should be managed like anyproject

The Best Practice outlined is a framework in whichto work

The process steps have not been defined – theseare the remit of the project to defined, implementand audit

There are some tools that can aid a process step

There is no magic bullet – software anddevelopment process improvement is a long termactivity

50

Interact – with unknown

Play

Job portal

Candidate Registration

Upload CV

Upload documents

Search CV

Questions ?

WhiteCodewww.whitecode.co.in

info@whitecode.co.in

top related