TOPCIT Software | 02. Software Engineering

TOPCIT사업단
16 Aug 201627:38

Summary

TLDRThe video discusses the importance of software competitiveness, contrasting Apple and Samsung's 2012 financials to highlight Apple's advantage due to its software ecosystem. It emphasizes the growing role of software in business success, the challenges faced by software development teams, and the need for improved software quality and processes. The video explores various software development models, including waterfall, incremental, evolutionary, and spiral, and stresses the importance of adopting effective software engineering practices to meet the demands of an evolving market.

Takeaways

  • 📊 Apple's financial performance in 2012 showed a significant lead over Samsung in terms of revenue and operating profit, highlighting the importance of software competitiveness in business success.
  • 🌐 Apple's strategy of building a content ecosystem with various software applications contributed to its competitive advantage, overcoming the limitation of focusing only on hardware devices.
  • 📈 The size and complexity of software are predicted to increase exponentially, necessitating improvements in software quality, including correctness and reliability.
  • 🔍 The social and economic impact of software defects is often overlooked, and there is a need to reduce the damage caused by software faults and to improve IT convergence product competitiveness.
  • 🏢 Challenges in the software industry include varying competency levels of new employees, low morale due to a hardware-centric environment, and knowledge leakage due to frequent staff turnover.
  • 🛠️ Development issues such as ad hoc software development, lack of process improvement, and resistance to adopting new technologies due to perceived overhead are common in many organizations.
  • 🛡️ Software configuration management (SCM) is crucial for managing source code, handling breaches, managing releases, and conducting check-ins and check-outs, but many companies lack proper training and awareness in this area.
  • 📉 A local mid-sized company's evaluation revealed deficiencies in process, technology, and people aspects of SCM, indicating a need for policy development, improved tool features, and better workforce capabilities.
  • 🤷‍♂️ Myths about software development, such as the belief that advanced tools are all that's needed or that adding more developers will make up for a delayed project, are prevalent among managers, customers, and developers.
  • 🛑 The importance of software engineering is increasingly recognized, with a shift from a 'code first, fix later' approach to a more systematic and analytical process to ensure software quality and efficiency.
  • 📚 The adoption of software process improvement models like CMMI or SPICE helps companies minimize development risks and identify opportunities for growth, emphasizing the need for continuous improvement in software processes.

Q & A

  • What was the main focus of the software engineering 2012 white paper by Napa?

    -The white paper focused on the competitiveness of software, highlighting the comparison between Apple and Samsung's financial performance and the importance of building software application-based content ecosystems.

  • How did Apple's financial performance compare to Samsung's in 2012?

    -In 2012, Apple, which focused on devices like the iPhone, had a revenue of $52 billion and an operating profit of $19 billion, which was ahead of Samsung's consolidated sales of $47 billion and operating profit of $5.2 billion.

  • Why was Apple's operating profit significantly higher than Samsung's despite Samsung's diverse product lineup?

    -Apple's higher operating profit was attributed to its focus on building various software application-based content ecosystems, overcoming the weakness of operating only on their platform with a range of services to customers.

  • What are the major challenges in software development that can impact social and economic costs?

    -Challenges include the need for improved software quality in terms of correctness and reliability, and the social and economic problems and costs caused by software defects, which are often overlooked.

  • What are some of the people-related development issues mentioned in the script?

    -Issues include varying competency levels of new employees, low morale of the software workforce due to a hardware-centric environment, and organizational knowledge leakage due to frequent staff turnover.

  • What are some common complaints from software developers regarding their work environment?

    -Developers often complain about the low position of software within the company, working style conflicts between generations, lack of career vision, and poor working environments with long working hours.

  • What are some of the development process issues that organizations face?

    -Organizations often develop software in an ad hoc manner or repeat development with rework, leading to insufficient introduction of new technology, lack of process improvement, and a general lack of understanding about the importance of process from managers.

  • What is the importance of software configuration management in a company?

    -Software configuration management is crucial for managing source code, handling breaches, managing releases, and performing check-ins and checkouts. It helps in establishing common rules and ensuring consistency in development practices.

  • What are some myths about software development that managers and customers often have?

    -Managers might think that developers have everything they need with advanced tools and standards, or that adding more developers can catch up a delayed project. Customers may believe that starting software development with just outlines is enough, and that changes to requirements are easy due to software's flexibility.

  • Why is the application of software engineering techniques important in addressing the complexity and challenges in software development?

    -Software engineering techniques provide systematic management and support for efficient work, addressing anticipated difficulties throughout the development process, from requirements analysis to maintenance, ensuring the successful development of increasingly complex software.

  • What are the three key success factors in software engineering mentioned in the script?

    -The three key success factors are the definition of systematic practices and workflows, organizing workforces with expertise, and balancing and harmonizing these factors to develop software in an engineering manner, which requires continuous improvement and investment.

Outlines

00:00

📈 Software Competitiveness and Market Performance

This paragraph discusses the significance of software competitiveness in the corporate world, using Apple and Samsung as case studies. It highlights how Apple, with a focus on a few devices like the iPhone, outperformed Samsung in terms of revenue and operating profit in 2012. The key to Apple's success is attributed to its robust software application-based ecosystems and services. The paragraph emphasizes the growing importance of software in business and the need for improved software quality to reduce social and economic damage caused by defects. It concludes by stressing the importance of securing global software quality competitiveness, especially for local enterprises competing in a small domestic market.

05:01

🛠️ Software Development Challenges and People Issues

The second paragraph delves into the challenges faced in software development, focusing on people-related issues. It outlines problems such as varying competency levels of new employees, low morale due to a hardware-centric environment, and knowledge leakage from frequent staff turnover. Additionally, it touches on the dissatisfaction among developers regarding the company's low regard for software, conflicts between generations, and poor working conditions. The paragraph also addresses development issues like ad hoc software development, lack of process improvement, and resistance to change due to a belief in the adequacy of current practices. It concludes with a discussion on the importance of configuration management and the need for better training and awareness.

10:02

🚀 The Evolution of Software Engineering Practices

This paragraph traces the history and evolution of software engineering, starting from the 1950s when it was adopted similar to hardware engineering. It discusses the software crisis of the 1960s due to a surge in demand and lack of experience, leading to the formal introduction of software engineering in the 1970s. The narrative continues with the shift from coding first and fixing later to more structured techniques like the waterfall model. The paragraph also covers the emergence of agile methodologies in the 2000s to address rapid market changes, emphasizing the importance of software engineering in defining and analyzing requirements for effective development.

15:04

📊 Assessing Software Engineering Capabilities in Korea

The fourth paragraph presents an assessment of software engineering capabilities in Korea based on 2012 data from Napa, which surveyed 220 companies and 255 projects. It reveals that local software engineering capabilities are underdeveloped, with low scores in workforce, technology, and overall software engineering, despite some improvement in processes. The paragraph underscores the need for continuous improvement in software process and adoption of models like CMMI or SPICE to minimize development risks and increase organizational maturity.

20:05

🔄 Software Life Cycle Models and Their Characteristics

This paragraph explores various software life cycle models, starting with the waterfall and V models, which are simple and sequential but require clearly defined requirements upfront. It then discusses the incremental model, suitable for environments where requirements may change over time, allowing for feature expansion through iterations. The evolutionary model is highlighted as similar to agile methodologies, focusing on continuous improvement and adaptation to changes. Lastly, the spiral model is introduced as a way to manage technological risks through prototyping and iterative development.

25:06

🌐 The Spiral Model and Managing Technological Risks

The final paragraph focuses on the spiral model, which is designed to reduce technological risks by developing multiple prototypes. This model evaluates the feasibility of technology at each stage and makes decisions on whether to proceed, cancel, or change project requirements. It emphasizes minimizing commitment in each phase to address technical uncertainties and adapt to changes, making it suitable for projects with stable system requirements and a need for detailed technical risk analysis.

Mindmap

Keywords

💡Software Engineering

Software Engineering is a systematic approach to the development, operation, and maintenance of software. It is the application of engineering principles to software, which includes processes, methods, and tools to ensure the production of high-quality software. In the video's context, it is emphasized as a key to address the challenges faced by companies in the competitive tech industry, as it helps in building robust software ecosystems and improving the competitiveness of IT convergence products.

💡Competitiveness

Competitiveness refers to the ability of a company to compete effectively in the market. It is often associated with factors such as innovation, quality, and efficiency. In the script, the competitiveness of software is highlighted through the comparison of Apple and Samsung's financial performance, showing how software plays a significant role in a company's market position.

💡Operating Profit

Operating profit, also known as operating income or EBIT, is the profit from a company's core business operations, excluding any income from non-operational activities such as investments or interest. The script mentions Apple's operating profit to illustrate the financial success achieved through their focus on software and hardware integration.

💡Ecosystems

In the context of the video, ecosystems refer to a set of interconnected components or services that work together to deliver value. Apple's strategy of building application-based content ecosystems is mentioned to show how they overcome platform limitations and provide various services to customers, enhancing their market presence.

💡Software Quality

Software quality encompasses the performance, reliability, and overall effectiveness of software. The script discusses the importance of improving software quality to reduce social and economic damage caused by software defects, emphasizing the need for correctness and reliability in software development.

💡Configuration Management

Configuration management is the process of tracking and controlling changes in software during its development life cycle. The script points out the lack of proper configuration management policies and practices in a local company as a key issue, which can lead to inconsistent execution and poor integration of tools and best practices.

💡Agile Methodologies

Agile methodologies are a group of project management and product development approaches that emphasize flexibility, collaboration, and customer feedback. The script mentions the introduction of agile methodologies in the 2000s as a response to the rapidly changing market environment, allowing companies to effectively respond to changes and increase productivity.

💡Software Process Improvement

Software process improvement refers to the ongoing efforts to enhance the processes used in software development to increase efficiency, reduce errors, and improve product quality. The video discusses the adoption of various models like CMMI or SPICE to facilitate continuous improvement in software processes.

💡Waterfall Model

The Waterfall Model is a traditional software development approach where progress is seen as flowing steadily downwards (like a waterfall) through phases in a strict sequence: requirements, design, implementation, testing, deployment, and maintenance. The script contrasts this model with Agile methodologies, highlighting its limitations in a fast-paced, changing environment.

💡Incremental Model

The Incremental Model is a software development approach where the software is built and delivered in increments, allowing for early delivery of core features and subsequent additions. The script describes this model as useful for reducing system development time and accommodating changes or improvements over time.

💡Evolutionary Model

The Evolutionary Model is a software development approach that involves iterative development of the entire system, with each iteration providing the user with all features. The script describes this model as similar to Agile methodologies, allowing for continuous product improvement and reflection of changes and feedback into the system.

💡Spiral Model

The Spiral Model is a risk-driven software development model that emphasizes iterative development through a series of prototypes. The script mentions this model as a way to reduce technological risks by evaluating and proving the feasibility of technology at each phase, making decisions based on the outcomes.

Highlights

Apple's revenue and operating profit significantly outperformed Samsung's in 2012, highlighting the impact of software competitiveness.

Apple's success is attributed to its ecosystem of software applications, overcoming the limitation of operating on a single platform.

The importance of software's role in the market is growing, with its size and complexity expected to increase exponentially.

There is a recognized need for improved software quality, including correctness and reliability, to address social and economic issues caused by defects.

Local software enterprises face challenges competing in a small domestic market against global corporations.

New software employees have varying competency levels, impacting the development process.

Low morale among the software workforce is attributed to a hardware-centric environment.

Organizational knowledge loss due to frequent staff turnover is a significant issue in software development.

Software developers face challenges such as low recognition within companies and inter-generational working style conflicts.

Most organizations develop software in an ad hoc manner with insufficient introduction of new technologies.

Managers often lack understanding of the importance of process improvement in software development.

Software engineering techniques and methods are underutilized in practice, with insufficient use of case tools and global standards.

Leading companies periodically evaluate their software development maturity and prioritize improvement activities.

Software configuration management is crucial for managing source code, handling breaches, and controlling releases.

Common myths among managers, customers, and developers about software development are debunked.

The application of software engineering is emphasized for successfully developing increasingly complex software.

Three key success factors in software engineering are defined: systematic practices, skilled workforce organization, and process integration.

Software engineering should be a continuous effort, supported by top management for desired results.

The history of software engineering is traced back to the 1950s, with the waterfall model developed to address the software crisis in the 1970s.

Agile methodologies emerged in the 2000s to respond to rapid market changes, emphasizing concurrent engineering.

Software development capabilities are key to a company's success in the digital age, with 69% of companies leveraging it for competitive advantage.

Statistics from Napa in 2012 show that local software engineering capabilities in Korea are still poor, with low scores in workforce and technology.

Software process improvement and adoption are emphasized for effective software development with minimal investment.

Various software process improvement models like CMMI or SPICE are adopted to minimize development risk and increase organizational maturity.

The software life cycle is crucial as it dictates the direction of a software project, with different models like waterfall, V model, incremental, evolutionary, and spiral having distinct characteristics and applications.

The evolutionary model is particularly suitable for environments with continuous demands for product improvement and unclear system specifications.

The spiral model is used to reduce technological risks by developing multiple prototypes and evaluating feasibility at each phase.

Transcripts

play00:13

[Music]

play00:49

[Music]

play00:59

[Applause]

play01:01

[Music]

play01:11

[Music]

play01:28

ah

play01:55

let's take a look at the software

play01:57

challenges in your company if you you

play01:59

see a software engineering 2012 white

play02:02

paper issued by Napa we can see the

play02:05

importance of the competitiveness of the

play02:07

software through comparison of Apple and

play02:10

Samsung Apple has achieved a $52 billion

play02:14

Revenue operating profit of 19 billion

play02:16

from fiscal year 2012 quarter 1

play02:20

performance Samsung Electronics in

play02:22

fourth quarter announced Consolidated

play02:25

sales of $47 billion operating profit of

play02:29

5.2 bill milon Dollar in

play02:31

2012 it can be seen that Apple which is

play02:34

only focusing in it devices such as the

play02:37

iPhone was ahead of Samsung sales with a

play02:40

full lineup in the semiconductor LCD

play02:43

mobile phones home

play02:45

appliances in particular we can see

play02:48

apple is much ahead even in the

play02:50

operating profit four times higher than

play02:53

Samsung so you can see that apple is

play02:55

ahead of Samsung both in terms of grow

play02:58

sales and substance

play03:00

what major causes to make such a

play03:03

difference the answer is that Apple has

play03:05

been building various software

play03:07

application-based content

play03:10

ecosystems Apple overcomes their

play03:12

weakness which they operate only in

play03:14

their platform with various services to

play03:17

customers as we see the data we can

play03:20

realize that how important software

play03:22

competitiveness of Enterprises are in

play03:25

recent

play03:27

days recently software significantly

play03:31

takes important role and increase their

play03:33

size and predict that in the future the

play03:36

size and complexity of software

play03:37

increases

play03:39

exponentially as the dependency to

play03:41

software get increased in parallel there

play03:44

are needs that software quality should

play03:46

be improved such as correctness and

play03:49

reliability but we actually Overlook for

play03:51

the Social and economic problems and

play03:53

costs caused by quality problems such as

play03:57

software

play03:58

defects therefore it's now time to

play04:01

reduce the social and economic damage

play04:03

caused by the fault of the software and

play04:05

prepare a plan or approach to improve

play04:08

the competitiveness of the it

play04:09

convergence products in particular we

play04:13

have the situation where it is required

play04:15

to put more our interests and efforts to

play04:18

secure Global software quality

play04:20

competitiveness given the reality of

play04:22

local software Enterprises in the small

play04:24

domestic Market struggling to compete

play04:27

with global

play04:28

corporations

play04:31

let's continue the people processes

play04:34

Technologies aspects of issues related

play04:36

to software

play04:38

development the development issues

play04:40

related to people is firstly new

play04:42

employees have different competency

play04:44

levels from the past secondly morale of

play04:47

software Workforce is low due to

play04:49

Hardware Centric environment and thirdly

play04:52

organizational knowledge is leaked due

play04:54

to frequent staff

play04:56

turnover and also other problems which

play04:59

is is the common concern of software

play05:01

developers are included in development

play05:04

issues they are complaining about the

play05:06

low position of software in company and

play05:08

the working style conflict between

play05:10

senior and juniors due to different

play05:13

generation concerning on lack of career

play05:15

vision for example we have no vision and

play05:19

raise a problem in poor work

play05:21

environments that require work until

play05:23

9:00 p.m. at 900

play05:26

a.m. take a look at the following issues

play05:29

in the development process point of view

play05:32

most organizations have developed

play05:34

software with ad hoc manner or repeat

play05:36

development with

play05:38

rework therefore the effect on the

play05:40

introduction of new technology is

play05:42

generally

play05:44

insufficient an organization that

play05:47

generates a lot of benefits does not

play05:48

really care about the process

play05:50

Improvement because they think they are

play05:52

the best and there is no reason to do

play05:54

additional work to get better in the

play05:57

case of managers a lack of under

play05:59

understanding about the importance of

play06:01

process because they think the most

play06:03

important is sales and revenue for

play06:06

developers they have a sense that the

play06:09

process makes additional overhead so

play06:11

that they have a lack of the motivation

play06:13

to participate in the process

play06:16

Improvement finally having the issues of

play06:19

the technology aspect there are problems

play06:22

in that to apply software engineering

play06:24

techniques and methods in practice also

play06:26

using case tools applying global

play06:29

standard s and a systematic reuse

play06:31

practices is

play06:35

insufficient leading companies recognize

play06:38

that software development is very

play06:40

important these companies evaluate their

play06:43

software development maturity

play06:44

periodically and looking for improvement

play06:47

opportunities and prioritize Improvement

play06:49

activities and Carry Out execution plans

play06:52

to

play06:54

move this is the summary data related to

play06:57

software configuration management which

play07:00

carried out in a local midsized company

play07:02

in the past when evaluating any

play07:05

company's capabilities it usually

play07:07

diagnoses three

play07:09

perspectives the first is process the

play07:12

second technology and the third is

play07:16

person for each of the three

play07:20

aspects regarding process issues found

play07:23

we saw this company had a lack of

play07:25

configuration management policies and

play07:27

process definition and there was

play07:29

inconsistent execution in their real

play07:32

practices regarding technology issues

play07:35

tools and best practices for

play07:37

configuration management were not well

play07:40

integrated for people issues there were

play07:42

a lack of knowledge and competency

play07:44

development for developers these

play07:46

problems are not just limited to this

play07:50

company process is not defined process

play07:52

was poor even if there was a defined

play07:56

process tools are in place but we can

play07:58

frequent quently see developer skills

play08:01

understanding and deployment are

play08:02

generally

play08:03

poor look at the developer side

play08:06

importance of configuration management

play08:09

how should configuration management does

play08:11

how to manage the source code how to

play08:13

manage breaches how to manage releases

play08:16

and how to do check-in and checkout are

play08:18

not well

play08:20

established these should be done with

play08:22

General common rules but as there are

play08:24

insufficient training or awareness they

play08:27

are not well integrated and each

play08:30

separately so companies are looking to

play08:33

find the problems and derive the

play08:35

implications of the problem for example

play08:38

this company needed policy and process

play08:41

Concepts and definition and improve CM

play08:43

support tool features and performance

play08:45

Improvement to be able to operate in

play08:48

automaking workflow based CM

play08:51

processes from people aspect there

play08:54

should be a need to set up the CM

play08:55

dedicated team to Foster the developer

play08:58

configuration man management

play08:59

capabilities and knowledge to maintain

play09:01

CM

play09:02

systems this company found the

play09:05

implications and prioritize based on

play09:07

impacts and importance developed the

play09:09

action plans and finally executed an

play09:12

action plan to improve the configuration

play09:14

management

play09:18

process now shall we look at some things

play09:22

that are related to myths that manager

play09:24

and customers and software developers

play09:26

have managers think developers have

play09:29

everything they need to develop software

play09:32

if they have advanced case tools

play09:34

standards and

play09:35

procedures and they think developers

play09:37

don't need standards and tools because

play09:40

developers work hard and put their best

play09:42

when project behind schedule they think

play09:45

they can catch up to the schedule if

play09:46

they add more developers to the project

play09:49

they think good managers can also manage

play09:52

the project well as the software is not

play09:55

visible they think it should be enough

play09:57

to check the start and end

play10:00

for customers they think that it's

play10:02

enough to start software development

play10:04

once we get the outlines it's okay that

play10:06

the detail can be developed later they

play10:09

have myths that changes to requirements

play10:12

and are easy as software itself is

play10:14

flexible and developers make decisions

play10:17

themselves than execute

play10:19

project for developers they have myths

play10:22

that their job is complete the program

play10:24

and developed and run they think that

play10:26

there is no way to assess the quality

play10:28

until a program is run working programs

play10:31

are only project deliverables and case

play10:34

tool solves their

play10:38

[Music]

play10:43

problem now what would be the answers to

play10:46

address these problems complexity and

play10:49

our challenges we are seeking to find

play10:52

the answers from software engineering to

play10:54

successfully develop the software which

play10:56

is increasing the sizes and functional

play10:59

alities the application of software

play11:02

engineering is more important than

play11:04

others as systemic management software

play11:06

engineering techniques to provide a

play11:08

technique techniques that support the

play11:10

efficient work performed address

play11:12

anticipated difficulties throughout the

play11:15

process up to the maintenance from the

play11:17

requirements

play11:18

analysis the companies realize and need

play11:21

the importance of software

play11:23

engineering in the past from the way of

play11:25

coding first and fixing later now the

play11:29

companies get more recognition on that

play11:31

it is important to Define and analyze

play11:35

requirements in order to effectively

play11:37

apply software engineering techniques

play11:40

three key success factors which are the

play11:42

definition of systematic practices and

play11:45

workflows that integrate into processes

play11:47

organizing the workforces with expertise

play11:50

and infrastructure to operate to find

play11:53

workflows and workforces efficiently

play11:56

should be balanced and harmonized then

play11:59

we can develop software that we want in

play12:01

engineering manner also these three

play12:04

factors are required to be steadily

play12:06

improved and invested with many efforts

play12:08

During the period in which the company

play12:11

operates software engineering is not a

play12:14

onetime event but should proceed as

play12:17

planned and continuous efforts through

play12:19

strong commitment and sponsorship of top

play12:21

management then you can finally achieve

play12:24

the desired

play12:27

results this this is how the birth of

play12:30

software engineering and explain what is

play12:32

currently the hottest and trendy look at

play12:35

the history of software engineering

play12:37

1950s software engineering Concepts was

play12:40

adopted to software development projects

play12:43

which was similar to Hardware

play12:45

engineering as the demand for software

play12:47

surged in the 1960s it caused a software

play12:51

crisis due to the lack of experience and

play12:53

ability numerical shortage of manpower

play12:55

to implement it so then software

play12:59

engineering earnestly got

play13:01

introduced starting in the 1970s as high

play13:04

demand for software occurred it become

play13:07

lack of

play13:08

Manpower there were a situation where

play13:11

put a large number of non- Majors to

play13:13

resolve the problem these people

play13:16

typically coded first then fixed the

play13:18

problems later leveraging the

play13:20

characteristics of software which can be

play13:22

easily modified when they developed the

play13:24

software this approach would make

play13:26

company realize that the Gap exist in

play13:29

reality a fast changing World

play13:31

requirements were becoming increasingly

play13:33

apparent and development teams defined

play13:36

their own requirements themselves as

play13:38

coding first and fixing later approach

play13:40

made many defects found and they caused

play13:43

the side effects structured or formal

play13:46

techniques had

play13:47

revealed thus the waterfall model was

play13:50

developed to proceed in order with the

play13:52

analysis design implementation and so on

play13:57

but formal techniques had difficulties

play13:59

in use for the general software

play14:01

developers the waterfall model required

play14:04

requirements to be clearly defined at

play14:06

front and start the analysis development

play14:09

testing which such defined requirement

play14:12

but in reality there were a lot of

play14:14

changes in the middle of development

play14:16

occurred because the development

play14:17

typically started with undefined

play14:21

requirements these impacted the progress

play14:23

slowed down due to high rework and cost

play14:27

overrun so in 1980s where try to address

play14:30

these problems there were many

play14:32

researches on finding ways to increase

play14:34

software productivity to develop

play14:36

software effectively to increase the

play14:39

reusability in 1990 it happened to be a

play14:42

need to shorten the time to Market of

play14:44

products for a competitive advantage in

play14:46

the market this impacted more research

play14:49

on software development productivity

play14:52

used the model that focused on

play14:53

concurrent engineering to conduct a

play14:55

requirements design and implementation

play14:58

at the same time in waterfall

play15:00

model in 2000s which began to rapidly

play15:03

changing Market environment surrounding

play15:05

the software agile methodologies have

play15:08

been introduced in order to effectively

play15:10

respond to these rapid changes and you

play15:13

can see many modern companies have been

play15:15

adopting and institutionalizing these

play15:17

agile

play15:22

methods software development

play15:24

capabilities is recognized as the key

play15:27

success of companies in the digital age

play15:30

the companies which understand and

play15:31

prepare the major technology Trends get

play15:34

tangible benefits to bridge the

play15:36

execution Gap in fact 69% of companies

play15:41

that leverage software development to

play15:42

reap the competitive Advantage is better

play15:45

performance than any other company in

play15:47

terms of

play15:49

profitability therefore companies should

play15:52

increase software development

play15:53

capabilities in order to enhance the

play15:55

competitiveness of products and services

play15:59

however as software development gets

play16:01

more difficulties due to software

play16:03

increases in size software features

play16:06

Diversified and changes to software

play16:08

operating environment such as user

play16:11

interface software engineering is

play16:13

required and at the same time the need

play16:15

for efforts to increase the execution

play16:18

and quality is also

play16:22

necessary let's summarize the software

play16:25

statistics in Korea via the 2012 data of

play16:29

Napa this Statistics was made by Napa

play16:32

based on results of targeted 255

play16:35

projects of total 220 companies in

play16:38

conclusion we look to see local software

play16:41

engineering capabilities are still very

play16:43

poor if you look at this chart it shows

play16:47

69 point for process 57 points for

play16:50

Workforce 59 points for technology and

play16:54

62 points for overall score out of 100

play16:57

points in software

play16:59

engineering in this case we can see all

play17:02

aspect except for process are very poor

play17:05

which points to the lowest

play17:07

grade looking at the data compared to

play17:10

2010 to understand how much get improved

play17:13

we can see process aspect is somewhat

play17:15

improved but the quality technology and

play17:18

Workforce are very little relatively

play17:22

improved what common phenomenon appears

play17:24

in Korea software engineering capability

play17:27

scores between 2009 and

play17:31

2011 the processes are usually defined

play17:35

as internal policies in many companies

play17:38

but we can see that they have relatively

play17:40

insufficient quality workforces to

play17:42

efficiently operate and manage processes

play17:45

and their technology aspect is

play17:47

considerably very

play17:51

[Music]

play17:56

poor recently many companies strive to

play17:59

adopt and improve effective processes

play18:01

for software development in order to

play18:04

improve software quality and keep it

play18:07

consistent the reason to emphasize on

play18:10

software process Improvement and

play18:12

adoption in the companies is that it can

play18:14

perform effectively in software

play18:16

development with less investment and can

play18:19

independently proceed with people and

play18:22

Technology even if outstanding people or

play18:25

technology exists it is difficult to

play18:27

maximize these capabilities without

play18:30

appropriate processes or

play18:33

understanding software process is

play18:36

consisted of a series of steps carried

play18:38

out activities tasks and deliverables as

play18:42

seen on the

play18:43

screen this will ensure that there is

play18:46

visibility as roles and responsibilities

play18:48

are clearly defined in addition this

play18:51

makes easy to plan and track the project

play18:54

and reduce unnecessary work the starting

play18:57

point for process Improvement to enable

play18:59

continuous process Improvement in your

play19:02

company to enable them to continuously

play19:05

improve their software process in the

play19:07

company they're adopting a various

play19:09

software process Improvement models such

play19:11

as cmmi or spice which helps minimize

play19:15

the development risk and identify

play19:17

Improvement opportunities that help a

play19:20

company to increase maturity of

play19:21

organizational

play19:27

development let's see the

play19:29

characteristics in the software life

play19:31

cycle as said in the beginning the

play19:33

software life cycle serves as the

play19:35

backbone in the software project

play19:37

compared to the human since it takes the

play19:40

backbone role depending on which model

play19:42

is selected the software project tracks

play19:45

right direction or in Failure we should

play19:48

consider it take a very important role

play19:50

to dictate

play19:53

it in the waterfall model or V model

play19:56

there are a typical model of the most

play19:58

most widely used in the field the reason

play20:01

is that it is typically the easiest as

play20:04

analysis design implementation and

play20:07

testing phase progress sequentially

play20:09

project managers or developers stand to

play20:12

think of something simple and not

play20:13

complicated progress in a series of

play20:16

activities so waterfall or V model

play20:20

clearly shows that what process should

play20:22

be performed by project manager or

play20:24

developer and is fairly easy to

play20:27

understand customers who does not know

play20:29

software development well but when you

play20:31

see the shortcomings this is a model

play20:33

that can be applied in the most ideal

play20:35

when user system software requirements

play20:38

are clearly identified in advanced

play20:40

details but in reality it is almost

play20:45

impossible therefore agile is recently

play20:48

one of the hottest Trends as it is more

play20:50

appropriate than waterfall because we

play20:52

can see that agile is most suitable to

play20:55

recent changing development

play20:57

environment in addition the waterfall

play21:00

model is a model that emphasizes the

play21:02

verification validation and testing so

play21:06

according to the characteristics of our

play21:07

development environment as we always

play21:10

emphasize the testing processes on the

play21:13

other hand the company considers the

play21:15

waterfall or V model is the most

play21:19

suitable let's look at the incremental

play21:22

model in case of the incremental model

play21:25

it is a useful model when there is a

play21:26

need to reduce the system development

play21:29

time after core features are developed

play21:32

and operated first the rest of the

play21:34

features are implemented and

play21:37

added this results in the system

play21:39

development via the function expansion

play21:41

through several

play21:44

iterations therefore firstly let the

play21:47

base system version operate with limited

play21:49

features and then complete the future

play21:51

system version with add-on features on

play21:54

top of Base features of previous

play21:57

versions

play21:58

so requirements are already determined

play22:01

but this is the most useful model in the

play22:03

case that there are possibility of

play22:05

changes or Improvement for defined

play22:07

requirements over

play22:12

time now let's look at the evolutionary

play22:15

model The evolutionary model is a useful

play22:18

model when there is a need to reduce the

play22:20

system development time unlike the

play22:23

incremental model we discussed it is the

play22:26

model to repeat several times to develop

play22:28

the entire systems it's also a model

play22:31

that each system provides the user with

play22:34

all the features

play22:36

finally so a system was developed and

play22:38

operated and changes are derived these

play22:41

changes are inputs and feedbacks to

play22:43

develop the next system so this model is

play22:47

fairly similar model to Agile and

play22:49

interactive development which is one of

play22:51

Agile development

play22:53

methodologies because it has similar

play22:55

properties current many companies are

play22:57

are using the evolutionary model

play23:00

aot it is a model that changes including

play23:03

changes to the functions and changes to

play23:06

the user interface and changes to

play23:08

nonfunctional requirements such as

play23:10

reliability and performance Improvement

play23:13

are implemented and reflected to the

play23:15

system as it

play23:17

evolves in case where system

play23:19

specification is unclear as a whole it

play23:22

is also the most appropriate model where

play23:24

there are continuous demands for product

play23:27

Improvement

play23:30

there are many cases where mix of

play23:32

incremental and evolutionary models are

play23:34

both adopted in the

play23:36

field by closing look at the field

play23:39

several models in hybrid forms are

play23:41

applied not just only one model The

play23:45

evolutionary model has the

play23:46

characteristics where software

play23:47

development progresses by adding new

play23:49

features and improving existing features

play23:52

at the same time for new system version

play23:55

therefore such model has the following

play23:59

characteristics for The evolutionary

play24:01

model even if the system does not have

play24:03

the full functionality early training

play24:06

for the system can be delivered it can

play24:09

also provide initial training for system

play24:11

users also allow users to become

play24:14

familiar with the system elicit

play24:16

necessary changes and reflect those

play24:18

feedbacks into future

play24:20

Evolution so due to the shortening of

play24:23

the development cycle can be more

play24:25

competitive as the early use of the

play24:27

system

play24:28

because the system is developing several

play24:30

times it is a good model that can

play24:32

address the issues problems and risks

play24:35

early also it can be developed by

play24:38

splitting it with professional

play24:40

breakdown for example this model can be

play24:43

used that if the project transforms the

play24:45

text-based user interface into Graphics

play24:48

based a user interface development team

play24:51

first develops certain Improvement on

play24:53

user interface and the other development

play24:56

teams then to proceed and improve

play24:57

improve the next

play24:59

pieces lastly let's talk about a spiral

play25:04

model while previous models are to

play25:06

reduce managerial risks spiral model is

play25:09

to develop many prototypes to reduce the

play25:11

number of technological

play25:14

risks with this prototype this model

play25:17

evaluates the technology is really

play25:19

reasonable can prove the feasibility or

play25:22

if not then decide whether it should be

play25:24

disposed or develop another prototype

play25:28

it would make a decision on whether we

play25:30

changes to project requirements cancel

play25:33

or proceed after each of the prototypes

play25:35

has been

play25:36

developed it is also the model that

play25:39

minimizes the commitment in each phase

play25:42

to find a solution of the technical

play25:44

risks the spiral model is adequate when

play25:47

there are a dependency on stable system

play25:49

requirements and detail analysis of

play25:52

technical

play25:56

risks

play26:00

[Music]

play26:10

[Music]

play26:28

[Music]

play26:37

[Music]

play27:25

[Music]

Rate This

5.0 / 5 (0 votes)

関連タグ
Software EngineeringCompetitivenessApple vs SamsungEcosystemsQuality AssuranceProcess ImprovementWorkforce MoraleAgile MethodologiesConfiguration ManagementDevelopment Challenges
英語で要約が必要ですか?