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

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
<<Date>><<SDLC Phase>>
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
ITIL: Service Transition
DoD Information Technology Security Certification and Accreditation Process (DITSCAP) Phase III – Validation Thomas Howard Chris Pierce.
Designing Your Project Output Achieving your objectives by targeting your audience Ken Peffers UNLV February 2004.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Systems Engineering Management
IIBA Denver | may 20, 2015 | Kym Byron , MBA, CBAP, PMP, CSM, CSPO
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
4 4 By: A. Shukr, M. Alnouri. Many new project managers have trouble looking at the “big picture” and want to focus on too many details. Project managers.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
Enterprise Architecture
Objective Explain What is the Balanced Scorecard
Release & Deployment ITIL Version 3
Internal Auditing and Outsourcing
Project Management Fundamentals Project Organization and Integration
What is Business Analysis Planning & Monitoring?
Developing Enterprise Architecture
Configuration Management, Logistics, and Universal CM Issues Larry Bauer Boeing Commercial Airplanes NDIA Conference Miami March 4-5, 2005
CMMI Course Summary CMMI course Module 9..
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
N By: Md Rezaul Huda Reza n
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
The Challenge of IT-Business Alignment
CSI - Introduction General Understanding. What is ITSM and what is its Value? ITSM is a set of specialized organizational capabilities for providing value.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
© 2011 Underwriters Laboratories Inc. All rights reserved. This document may not be reproduced or distributed without authorization. ASSET Safety Management.
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
1 Unit 1 Information for management. 2 Introduction Decision-making is the primary role of the management function. The manager’s decision will depend.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
| 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Facilitating Software Architecting by.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc., All Rights Reserved. 6-1 Chapter 6 CHAPTER 6 INTERNAL CONTROL IN A FINANCIAL STATEMENT AUDIT.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
A Guide for Management. Overview Benefits of entity-level controls Nature of entity-level controls Types of entity-level controls, control objectives,
Software Engineering Lecture # 1.
Module 4: Systems Development Chapter 13: Investigation and Analysis.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
UTA/ARRI. Enterprise Engineering for The Agile Enterprise Don Liles The University of Texas at Arlington.
Evaluating Engagement Judging the outcome above the noise of squeaky wheels Heather Shaw, Department of Sustainability & Environment Jessica Dart, Clear.
44222: Information Systems Development
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
P3 Business Analysis. 2 Section F: Project Management F1.The nature of projects F2. Building the Business Case F4. Planning,monitoring and controlling.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Info-Tech Research Group1 Info-Tech Research Group, Inc. Is a global leader in providing IT research and advice. Info-Tech’s products and services combine.
This is a customer facing presentation that you can use to present the your assessment findings, recommendations, options, benefits and requirements. This.
AUDIT STAFF TRAINING WORKSHOP 13 TH – 14 TH NOVEMBER 2014, HILTON HOTEL NAIROBI AUDIT PLANNING 1.
MANAGEMENT INFORMATION SYSTEM
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
ITIL: Service Transition
Configuration Management
BIL 424 NETWORK ARCHITECTURE AND SERVICE PROVIDING.
BANKING INFORMATION SYSTEMS
Identify the Risk of Not Doing BA
Configuration Management
Level - 3 Process Areas (CMMI-DEV)
Software life cycle models
Presentation transcript:

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

Overview 1. Introduction 2. Method Description 3. Case Study 4. Related Work 5. Conclusion 6. Future Work

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

2. Method Description Describes 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

Types of Relationships o ∆B = changes in business objectives o ∆P = process changes o ∆O = organization changes o ∆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

Business-Architecture-Process 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 scenarios Use of reference models

Step 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

Step 2  Find requirements on affected processes ◦ Based on 1 st 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

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

Step 3  Analyze 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

Step 4  Define 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

Step 5 Decide 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

3. Case Study : Description 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

Case Study: Description (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

Case Study: Description (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

Applying the Proposed Method  Step 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

Applying the Proposed 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

Applying the Proposed 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

Applying the Proposed Method (Continued..)  Step 4: Define alternative strategies o 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

Applying the Proposed 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

Applying the Proposed 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

4. Related Work Architecture 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

5. Conclusion The method proposed here makes use of the scenarios and process reference models Combining 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

6. Future Work Add 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