Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A,...

24
Assessing the influence Assessing the influence on processes when on processes when evolving the software evolving the software architecture architecture By Larsson S, Wall A, Wallin By Larsson S, Wall A, Wallin P P Parul Patel

Transcript of Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A,...

Page 1: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Assessing the influence on Assessing the influence on processes when evolving the processes when evolving the software architecturesoftware architecture

By Larsson S, Wall A, Wallin PBy Larsson S, Wall A, Wallin P

Parul Patel

Page 2: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

OverviewOverview

1. Introduction2. Method Description3. Case Study4. Related Work5. Conclusion6. Future Work

Page 3: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

1. Introduction1. Introduction Changes in business drivers, organization, and

technology are common during the life-cycle of long-lived industrial system, Examples are:◦ Commercial components that get obsolete and

need to be replaced◦ Companies merge◦ Organization targeting new market ◦ Customer focus get changed

There is a clear need for building knowledge of interdependencies between evolution of architectures, development processes, and changes in development organizations

In this paper, different relationships between changes and the effects on product development processes and the effects on architecture are discussed

Page 4: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

2. Method Description2. Method DescriptionDescribes relationships between

architecture, organization, or development processes when changes occur due to changes in business objectives

A method is proposed for assessing the requirements on changes in processes when an architectural change is initiated

Page 5: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Types of RelationshipsTypes of Relationshipso ∆B = changes in business

objectiveso ∆P = process changeso ∆O = organization changeso ∆A = changes in architectures

This method provides: Guidance concerning

specific changes in existing architecture, organization and processes

An indication on the cost and risk of the proposed changes

Page 6: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Business-Architecture-Business-Architecture-Process MethodProcess Method• Purpose: To

investigate and analyze the influences that a change in architecture will have on the development processes

• Consists of five steps• Major points:

Underlying business objects are made visible and clearly understood by the organization

Use of scenariosUse of reference models

Page 7: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Step 1Step 1 Initiate and Motivate the organization

◦A common motivation must exist for the organization

◦Based on business drivers and vision for the change, sponsors and other roles for the process investigation should be identified Sponsors need to communicate the vision and

identify the possible receivers And in final activity train these receivers

◦Outcome: An informed and prepared organization

Page 8: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Step 2Step 2Find requirements on affected

processes◦Based on 1st step, understanding of what

processes are affected should be created◦Activities to accomplish this:

Create a set of scenarios that describe the vision and purpose of the architectural change in more detail

An understanding of current practices should be obtained; which is captured by appraisal as it is the used practice, not the documented

Use one or more reference model; it helps the investigators to ensure that no process is missed

Page 9: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Step 2 (Continued…)Step 2 (Continued…) Have a workshop with affected

stakeholders Reason about whether a process is affected or

not capture the rationale for analysis document the reason for which the process is

being modified or added

◦Outcome: New requirements on the product development processes that will be used

Page 10: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Step 3Step 3Analyze different solutions

◦Describe different possible ways to change the affected processes

◦For each proposed change, list the consequences Ex: roles, authorities, responsibilities,

competence, documentation, communication◦Important to have a set of different

alternatives described for each process independently of other processes because the selected solution may differ depending on combined considerations for several processes

Page 11: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Step 4Step 4Define alternative strategies

◦Take the solutions from Step 3 and group them together to form strategies

◦ Investigate combinations of process changes because they influence each other

◦Each strategy allows a particular scenario or a group of scenarios to be implemented

◦Also include associated risks as well as steps and related effort needed to implement the process change

Page 12: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Step 5Step 5Decide on strategy

◦When various process changes are described and combined into strategies, the organization is ready to decide on the strategy to select

◦Basis of the decision should be: Business objectives Risk for each strategy

◦It’s important that A decision on a specific strategy is properly

communicated and discussed Documenting the decision and rationale for

the selection since environment may change and new solutions may appear

Page 13: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

3. Case Study : 3. Case Study : DescriptionDescription Industrial control system at an ABB development

unit System has been evolved through 10 year period

and new function has been continuously added Has more than 3 million lines of C/C++ code Several different applications are built on the

same basic monolithic system Purpose:

◦ To increase the possibilities to independently develop basic functions and applications

◦ To ensure high quality software◦ To increase efficiency in the software development

Important business drivers:◦ Shortened time-to-market for new applications and

new releases of existing applications◦ Decreased cost for maintenance

Page 14: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Case Study: Case Study: Description Description (Cont…)(Cont…)Restructure to

divide the existing system into 3 parts◦ A kernel:

components that provide basic services

◦ A set of common extensions: is selected when defining an application specific product

◦ Application specific extensions

Page 15: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Case Study: Case Study: Description Description (Cont…)(Cont…)The kernel and the common extensions are

to be managed by one development group, while applications is intended to be developed at several different locations

The Base Software is the combination of the kernel and the common extensions

The Base Software SDK (Software Development Kit) should be developed with the public interfaces provided by the Base Software (the API, application programming interface)

The final result from the application development is the load file for the control system, which is added at production time

Page 16: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Applying the Proposed Applying the Proposed MethodMethodStep 1: Initiate and Motivate the

Organization◦The vision and the goals for

refactoring were communicated to the stakeholders

◦This approach covered the architectural influence on the product development process

◦The communication was continued throughout the project to ensure that new information and status was given to the receivers

Page 17: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Applying the Proposed Applying the Proposed Method (Continued..)Method (Continued..) Step 2: Find requirements

on affected processes◦ First activity was to

develop a set of scenarios to be used together with two reference models, CMMI and ISO/IEC 15288:2002

◦ Second activity was to look at the current process to understand how the system is developed today

◦ Based on these activities, the requirements for the process have been defined and described

◦ In the investigation, 4 different scenarios have been defined, with different levels of independence for application development units

Page 18: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Applying the Proposed Applying the Proposed Method (Continued..)Method (Continued..)Step 3: Analyze different solutions

o Performed discussions with experts in the different processes, and findings were validated through a review; Following are affected areas described with various solutions discussed: Configuration Management Product Integration Strategy Requirements on application development

units Product Integration delivery and criteria Interface Handling Verification strategies

Page 19: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Applying the Proposed Applying the Proposed Method (Continued..)Method (Continued..) Step 4: Define

alternative strategieso In this case, the strategies

are divided from a business perspective and are based on how the application products are packaged, distributed, and verified

o Two areas, product integration delivery criteria and interface handling, were needed independent of the chosen strategy; and are unchanged in all strategies

o The pros and cons as well as the risks have been captured, documented and reviewed for each one of the strategies

Page 20: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Applying the Proposed Applying the Proposed Method (Continued..)Method (Continued..)Step 5: Decide on a strategy

◦This step was delayed as the product management needed further investigation for changing the product development to be more distributed

◦The final decision was to stay with the current model, strategy 1, and gradually move toward strategy 4

◦Also allowing different locations to work in different ways and develop their capabilities overtime

Page 21: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

Applying the Proposed Applying the Proposed Method (Continued..)Method (Continued..) Case Discussion and Lessons Learned

◦ Compared to an ad-hoc method, the Business-Architecture-Process method facilitated the definition of the proposed changes and the compilation of strategies

◦ The difference in result is that necessary changes are implemented faster and that the organization is better informed and prepared for the new technology and new processes

◦ Four observations that will affect future use of the method: By using reference model as basis, there is a risk that the

proposed changes are generic and are not connected to change of architecture

Some changes might only be depending on the changed business objectives and may not result in architectural change

Its important to continuously have a dialog with sponsor To minimize the time and effort, it is important to plan

workshops and other interaction early, ensuring that effort spent is balanced in expected gains and reduced problems

Page 22: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

4. Related Work4. Related WorkArchitecture Tradeoff Analysis Method

(ATAM): To assess the consequences of architectural decisions in the light of quality attributes requirements

Cost Benefit Analysis Method (CBAM): Aids in the process of making architectural decisions by providing a return of investment (ROI) ratio

Chainwise Paired Comparison method (CPC): Aids in selecting a specific architecture over another

Analytical Hierarchy Process (AHP): Provides a structured reasoning why a specific architecture is chosen

Page 23: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

5. Conclusion5. ConclusionThe method proposed here makes use of

the scenarios and process reference modelsCombining solutions to process

requirements enable stakeholders to understand implications of different decisions

The case study has resulted in identification of additional details as useful input to the method

The case study supports the proposal that structured method supports efficient and effective investigations of process changes due to architectural changes

Page 24: Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.

6. Future Work6. Future WorkAdd details in description in the

method, how each step should be performed and provide additional examples

Add details regarding scalability and resource needs for using the model in different types of organizations

Expand the method to describe remaining relationships