ScienceDirect ScienceDirect

1 downloads 0 Views 600KB Size Report
approaches uses as a framework the industrial standard ANSI/ISA 95 in ... Keywords: ISA-95, MES/MOM, Personnel Model, Scheduling, Lead Time, Capacity,.
16th 16th IFAC IFAC Conference Conference on on Technology, Technology, Culture Culture and and International International Stability Stability Available online at www.sciencedirect.com 16th IFAC Conference on Technology, Culture and September 24-27, Sozopol, Bulgaria 16th IFAC Conference Technology, Culture and International International September 24-27, 2015. 2015.on Sozopol, Bulgaria Stability Stability September September 24-27, 24-27, 2015. 2015. Sozopol, Sozopol, Bulgaria Bulgaria

ScienceDirect

IFAC-PapersOnLine 48-24 (2015) 237–240

ANSI/ISA 95 FINAL CAPACITY SCHEDULING FOR SOFTWARE ANSI/ISA SCHEDULING INDUSTRY ANSI/ISA 95 95 FINAL FINAL CAPACITY CAPACITY SCHEDULING FOR FOR SOFTWARE SOFTWARE INDUSTRY INDUSTRY P. Vasilev P. Vasilev P. Vasilev Vasilev Automation, Department of ofP.Industrial Industrial Department Automation, University of Chemical Technology and University of Chemical Technology and Metallurgy, Metallurgy, Department of Automation, Department of Industrial Industrial Automation, 8 Kl. Ochridski, 1756 Sofia, Bulgaria 8 Kl. Ochridski, 1756 Sofia, Bulgaria University of Chemical Technology and University of Chemical Technology and Metallurgy, Metallurgy, (e-mail: [email protected]) (e-mail: [email protected]) 88 Kl. 1756 Kl. Ochridski, Ochridski, 1756 Sofia, Sofia, Bulgaria Bulgaria (e-mail: (e-mail: [email protected]) [email protected])

ABSTRACT: ABSTRACT: The The Scheduling Scheduling in in Software Software Industry Industry is is aa matter matter that that caused caused many many studies studies and various approaches for solving this problem in the past few decades. Neither of these and various approaches for solving this problem in the past few that decades. Neither ofstudies these ABSTRACT: The Scheduling in Software Industry is a matter caused many ABSTRACT: The Scheduling inthe Software Industry is aANSI/ISA matter that caused many studies approaches uses as a framework industrial standard 95 in which the models approaches uses as a framework thethis industrial standard ANSI/ISA 95 in which theofmodels and various approaches for solving problem in the past few decades. Neither these andCapability, various approaches forand solving this problem in the past fewwith decades.needed Neither of these for Scheduling are connected Resources for Capability, Scheduling and Execution Execution are tightly tightly connected with95the the needed Resources approaches uses as aa framework the industrial standard ANSI/ISA in which the models approaches uses as framework the industrial standard ANSI/ISA 95 in which the models and their In research the matter of Final Scheduling using andCapability, their availability. availability. In this this research theare matter of connected Final Capacity Capacity Scheduling using the the for Scheduling and Execution tightly with the needed Resources for Capability, Scheduling and Execution are tightly connected with the needed Resources standard ANSI/ISA 95 as a framework is discussed. Examples are given for using ISO standard ANSI/ISA 95 as a framework is discussed. Examples are given for using ISO and In this the matter Final Capacity using and their their availability. availability. In Indicators this research research thecalculation matter of of of Final Capacity Scheduling Scheduling using the the 22400 Performance in some for Scheduling 22400 Key Key Performance Indicators in the the is calculation ofExamples some important important for the the Scheduling standard ANSI/ISA 95 as a framework discussed. are given for using ISO standard ANSI/ISA 95 as a framework is discussed. Examples are given for using ISO process parameters. processKey parameters. 22400 22400 Key Performance Performance Indicators Indicators in in the the calculation calculation of of some some important important for for the the Scheduling Scheduling Keywords: ISA-95, MES/MOM, Personnel Model, Scheduling, Lead Time, Capacity, process parameters. Keywords: ISA-95, MES/MOM, Personnel Model, Scheduling, Lead Time, Capacity, © 2015, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. process parameters. Software Industry Software Industry Keywords: ISA-95, MES/MOM, Personnel Model, Scheduling, Lead Time, Capacity, Keywords: ISA-95, MES/MOM, Personnel Model, Scheduling, Lead Time, Capacity, Software Industry Industry Software 1. INTRODUCTION INTRODUCTION 1. INTRODUCTION Estimating Industry Estimating Tasks Tasks 1. in Software Software Industry for for the the purpose purpose of of Usually Usually Story Story Points Points are are measured measured in in man-hours, man-hours, but but it it is is not not 1.in INTRODUCTION Scheduling is a matter that drives along with the Software a value of User Story itself but of the effort needed for it be Scheduling is a matter that drives alongfor with thepurpose Software aUsually value of UserPoints Story are itself but of the effort neededbut foritit isto tonot be Estimating Tasks in Software Industry the of Story measured in man-hours, Estimating Tasks in Software Industry for theofpurpose of done. Usually Story Points are measured inTasks, man-hours, but it is not Industry itself from its beginning. The difficulties estimation User Stories are break down to which progress is Industry itself from its beginning. Thealong difficulties of estimation done. User Stories areitself breakbut down to Tasks, which progress is Scheduling is a matter that drives with the Software a value of User Story of the effort needed for it to Scheduling is many a matter thatand drives along with the Software a value of in User Storymeetings.[6,7] itself but of the effort needed for it to be be are related to factors uncertainties mainly resulting discussed in daily are related to many factors and uncertainties mainly resulting discussed in in daily meetings.[6,7] Industry itself from its beginning. The difficulties of estimation done. User Stories are break down to Tasks, which progress is Industry itself from its beginning. The difficulties of estimation done. User Stories are break down to Tasks, which progress is of the relativity of software software development’s products and their Another Another approach ismeetings.[6,7] Kanban Software Development, which of the relativity of development’s products and their approach is Kanban Software Development, which are related to many factors and uncertainties mainly resulting discussed in in daily are related to many factors and uncertainties mainly resulting discussed in in daily meetings.[6,7] differ from from Agileis approaches approaches as Scrum Scrum and Extreme Extreme virtual nature. differ Agile as and virtual nature. of approach Software Development, which of the the relativity relativity of of software software development’s development’s products products and and their their Another Another approach is Kanban Kanban Software Development, which Programming (XP) mainly in the way of Planning & Programming (XP) mainly in the way of Planning & differ from Agile approaches as Scrum and Extreme virtual nature. differ from Agile approaches as Scrum and Extreme virtual nature. In contrast to conventional manufacturing industry, where the Scheduling. Originating from manufacturing (TPS), Kanban In contrast to conventional manufacturing industry, where the Scheduling. Originating from manufacturing (TPS), Kanban Programming (XP) in the of & (XP) mainly mainlyLead in Time the way waya base of Planning Planning & Lead Time for task based on Software Development for Lead Timeto conventional for aa given givenmanufacturing task is is calculated, calculated, based on Programming Software Development uses Lead Time as as a base for planning planning In contrast industry, where the Scheduling. Originatinguses from manufacturing (TPS), Kanban In contrast to conventional manufacturing industry, where the Scheduling. Originating from manufacturing (TPS), Kanban productivity of a machine and other tangible values as the activities that have to be executed. The Lead Time may be productivity of a machine and other tangible values as activities that have to be Lead executed. The Lead Time may be Lead Time for aa given is calculated, based Software Development uses as planning Lead Time and for proportions given task task isproduct, calculated, based on on the Software Development uses Lead Time Time as aa base base for for dimensions of aa other the scheduling scheduling approximately set for example by executing aa planning spectral dimensions and proportions of product, the approximately set for example by executing spectral productivity of a machine and tangible values as the activities that have to be executed. The Lead Time may be productivity of a machine and other tangible values as analysis the activities have to be and executed. The Lead Time may be process in Software Software Industry cannot cannot be performed performed with such such on aathat Task backlog diversifying them by similar process in Industry be with analysis on Task backlog and diversifying them by similar dimensions and proportions of a product, the scheduling approximately set for example by executing a spectral dimensions and proportions of a product, the scheduling characteristics. approximately set for example by executing a spectral accuracy and certainty at all. [9,10] accuracy and certainty at all. [9,10] process analysis process in in Software Software Industry Industry cannot cannot be be performed performed with with such such characteristics. analysis on on aa Task Task backlog backlog and and diversifying diversifying them them by by similar similar accuracy and and certainty certainty at at all. all. [9,10] characteristics. accuracy Many approaches approaches have have had had considered considered using using heuristics heuristics and and characteristics. [9,10] Many 3. ANSI/ISA-95 3. ANSI/ISA-95 exact predictions of Lines Lines of Code Code (LOC) (LOC) that must must and be exact predictions of of that be Many approaches have had considered using heuristics Many approaches have had considered using heuristics and 3. ANSI/ISA-95 ISA-95 is is the the international international standard for for the the integration integration of of written. These approaches approaches assume either aa backlog backlog of Tasks ISA-95 standard 3. ANSI/ISA-95 written. These assume either of Tasks exact predictions of of Code that must be exact predictions of Lines Lines ofcharacteristics Code (LOC) (LOC) for thatevery mustnew be enterprise and control systems. ISA-95 consists of models and categorized by some similar enterprise and control systems. ISA-95 consists of models and categorized by some similar characteristics for every new is international standard for the of written. These approaches assume either ISA-95 is the the These international standard for the integration integration of written. Thesewill approaches assume either aa isbacklog backlog of of Tasks Tasks ISA-95 terminology. can used to which Task, be case These systems. can be be ISA-95 used consists to determine determine which Task, which which by willsome be useless useless incharacteristics case there there is something something new enterprise and control of models and categorized similarin for every every new new terminology. enterprise and control systems. ISA-95 consists of models and categorized by some similar characteristics for new information, has to be exchanged between systems for sales, that have to be made, or presume that everything that is has to be can exchanged between systems for which sales, that have to will be made, or presume that everything thatnew is information, terminology. These be to Task, which be useless in there terminology. These and cansystems be used usedproduction, to determine determine which Task, which willstep be of uselessSoftware in case case Development there is is something something new finance and maintenance written on each Process is finance and logistics logistics and systems for for production, maintenance written on to each step of the the Software Development Process is information, has to be exchanged between systems for sales, that have be made, or presume that everything that is has toinformation be exchanged between systems for sales, that have totakes be made, or amount presume that everything is information, and quality. This is structured structured in UML UML models, code and it the time aa that line and quality. This information is in models, code and iteach takesstep theofsame same amount of ofDevelopment time to to write writeProcess line of of finance and logistics and systems for production, maintenance written on the Software is finance and logistics and systems for production, maintenance written on each step of the Software Development Process is which are the theThis basisinformation for the the development development of standard standard interfaces code each ittime. time. the same amount of time to write a line of which are basis for of interfaces code each quality. is structured in UML models, code and quality. This information issystems. structured inISA-95 UML standard models, code and and it takes takes the same amount of time to write a line of and between ERP and MES/MOM The between ERP and MES/MOM systems. The ISA-95 standard which are the basis for the development of standard interfaces code each time. which are the basis for the development of standard interfaces code 2. each time. AGILE SOFTWARE DEVELOPMENT can be used used for several several purposes, for example example as aa guide guide for 2. AGILE SOFTWARE DEVELOPMENT can be for purposes, for as for between ERP MES/MOM systems. The ISA-95 standard between ERP and and MES/MOM systems. for The the ISA-95 standard VS. the definition of user requirements, selection of VS. KANBAN KANBAN the definition of user requirements, for the selection of 2. AGILE SOFTWARE DEVELOPMENT can be be used used for for several several purposes, purposes, for for example example as as aa guide guide for for 2. AGILE SOFTWARE DEVELOPMENT can The agile approaches are based on collectively defining User MES/MOM suppliers and as a basis for the development of The agile approaches areKANBAN based on collectively defining User MES/MOM suppliers and as a basis for the development of VS. the definition of user requirements, for the selection VS.independent, KANBAN estimable, small sized and the definition of user requirements, for the selection of of Stories that have to be MES/MOM systems and databases.[1,2] Stories that have to be independent, estimable, small sized and MES/MOM systems and databases.[1,2] The agile approaches are based on collectively defining User MES/MOM suppliers and as a basis for the development of The agile approaches are on collectively defining User testable functionalities thatbased the customer customer (or the thesmall user) wants to MES/MOM suppliers and as a basis for the development of testable functionalities that the (or user) wants to Stories that have to be independent, estimable, sized and MES/MOM systems and databases.[1,2] Stories that have be independent, estimable, small sized and MES/MOMModel systems databases.[1,2] acquire and have to value for him. him. User Stories are estimated by Personnel Model in and ISA-95 acquire and have value for User Stories are estimated by Personnel in ISA-95 testable functionalities that the (or the wants to testable functionalities thatStory the customer customer (or the user) user) wants to the Agile team using Points which give rough the Agile have team value usingforStory Points which give rough acquire him. User are estimated by acquire and and of have value for him. User Stories Stories are estimated by Personnel Personnel Model Model in in ISA-95 ISA-95 estimation the size and complexity of the User estimation of the size and complexity of the User Story. the Agile Agile team team using using Story Story Points Points which which give give Story. rough the rough estimation the size and of the User 2405-8963 © of 2015, Federation Control) Hosting by Elsevier Ltd. All rights reserved. estimation of theIFAC size(International and complexity complexity of of theAutomatic User Story. Story. Copyright © © IFAC IFAC 2015 2015 237 Copyright 237 Peer review under responsibility of International Federation of Automatic Control. 10.1016/j.ifacol.2015.12.089 Copyright © IFAC 2015 237 Copyright © IFAC 2015 237

IFAC TECIS 2015 238 September 24-27, 2015. Sozopol, Bulgaria

P. Vasilev et al. / IFAC-PapersOnLine 48-24 (2015) 237–240

The Personnel Model in the standard defines the connections between the objects: Person, its properties and Personnel Class (Roles) in the production and properties of the class. In the Personnel Model are also defined the objects for Personnel Qualification Test Specification and the Qualification Test Results. In the model on Fig. 1:

For Example: there may be a requirement for one mechanic with a specified level of certification available five hours after start of production. There would be one personnel requirement for the requirement for the mechanic and two personnel requirement properties, one for the certification level and one for the time requirement. [3]

Fig. 1 UML Diagram of Personnel Model

Fig. 2 UML diagram of Production Schedule Model [2] Personnel Model Attributes

Person is a specifically identified individual.

The second part of ANSI/ISA-95 standard defines the attributes of the object information model. The attributes represent a minimum set of industry-independent information, attributes can be added depending of the needs of specific production. Examples of additional attributes that can be added for Qualification Test Specification, which is related to a property of the Personnel Class or to Person Property, can be: “Qualification Type” with values – “Operational”, “Safety”, “Foreign Language”, etc. or “Validated by” with values – Name of responsible person or “Certification” with values “ASP.Net”, “JavaScript”, etc.

Person properties may include the current availability of a person and other current information, such as location and assigned activity, and the unit of measure of the current information. Personnel class is a means to describe a grouping of persons with similar characteristics for purposes of scheduling and planning. Each personnel class may have zero or more recognized properties. Examples of personnel class properties for the personnel class “operators” may be “class 1 certified,” “class 2 certified,” “night shift,” and “exposure hours.” Production requests may specify required personnel class property requirements for a product segment.

The attributes given for Qualification Test Specification are:   

Qualification Test Specification may be associated with a personnel class property or person property. This is typically used where a qualification test is required to ensure that a person has the correct training and/or experience for specific operations. A qualification test specification may test for one or more properties.

Name: identifies the test for certifying one or more values of the person properties; Description: Additional information; Version: for more than one version of qualification test specification.

The attributes given for Qualification Test Results are: 

Qualification Test Result records the results from a qualification test for a specific person.[2]     

Based on the Personnel Model a Qualification Test is made to correspond to a specific Personnel Class properties that each Person, which is a member of this Class must achieve. The Qualification Test Result may be further interpreted for providing specific certifications or classifications, needed for preparation of Production Schedule as Personnel Requirement and Personnel Requirement Properties.

ID: A unique instance identification that records the results from the execution of a test identified in a qualification test specification for a specific person; Description: Additional information; Date: Date time of the test; Result: Pass/Fail, Alphabetical score, etc.; Result Unit of Measure Expiration: Date time of expiration, may be used for appointing next test (periodically testing of personnel).[3]

Qualification Tests Specifications 238

IFAC TECIS 2015 September 24-27, 2015. Sozopol, Bulgaria

P. Vasilev et al. / IFAC-PapersOnLine 48-24 (2015) 237–240

The Qualification Test Specifications’ purpose in a MES/MOM system is to provide the necessary tool for tracking and tracing personnel knowledge and skills, which correspond to specific personnel class (Software Engineer, QA Engineer, etc.). For each personnel class there may be several test specifications depending of which personnel class property the test is related to. For Example: a Software Engineer may need operational certificate, “ASP.Net” certificate and/or “JavaScript” certificate in his every-day work, so he must pass an exam every year (or six months).

For Example: Personnel Capability gives information for the resources that are needed for a given Production Request. If there are two software engineers capable to work on this request and their Availability is four hours each. When one of them is assigned for the requested work on the given Process Segment, the Capacity needed for the work, will be changed from Available to Utilized (Committed). [4,5] Lead Time Calculation When a Production Request is entered in the system, depending on its type and complexity, it is estimated (with Story Points) and broke down to Tasks (Work Orders). All the Tasks of each type in the system are weighted by coefficient, which is a result of a spectral analysis. The Tasks duration (Standard Time) is then calculated as:

The Qualification Tests Specification is important to the tasks scheduling process. It is a “building block” of the Personnel Capability and thus is connected to the Personnel Requirement. [2,3] 4.

239

PERSONNEL CAPABILITY AND CAPACITY SCHEDULING

Standard Time = Story Points*Kw

The Capability in the standard ANSI/ISA 95 is defined as a collection of information about all available resources for production for selected times. The availability of resources depends on whether or not they correspond to the Segment Requirement for a given Production Request. It includes Personnel Capability, Equipment Capability, Material Capability and Process Segment Capability, as shown on Fig. 3:

(1.1),

Where Kw is the Weight Coefficient, calculated as a result of the spectral analysis. Having the Standard Time of Tasks is not enough for calculation of their Lead Time. In the software development process Tasks duration during execution vary, depending on the Person assigned and his Performance. The most important indicator of the Performance is Overall Equipment Effectiveness. It includes productivity, availability and the quality rate of the Person. OEE Index = Productivity*Availability*Quality Rate*100 [%] (1.2), OEE Index is calculated on a daily basis (for every working day) and the Time Series of OEE Index can be further examined [8]. Currently the implementation in the system is realized by using Simple Moving Average model for the last three values of the index [11]. OEE(SMA) = OEE(d-1) + OEE(d-2) + OEE(d-3) /3 (1.3) Therefore Lead Time will be calculated as:

Fig. 3 UML diagram of Production Capability Model Lead Time = Standard Time / OEE(SMA)/100 (1.4) In the Software Development processes the most valuable resource is Personnel. From the Personnel Capability, which includes all the Capacity of Personnel, depends the whole Production Capability, hence the Production Scheduling and Production Performance. While the Capability is used to provide information about what resources may be used, the Capacity gives information about current situation of the resources and their utilization. It depends more of the Calendar time (working and not working time) and the tasks already committed with given resources.

The following algorithm for Capacity balancing between the needed resources, based on their Capability, is made and used in practice in a MES/MOM system designed for the purpose of Software Industry:

P roduction C apacity U tilization

M ax im um A vailab le P ro duction C ap acity U tilization

U nused P roduction C ap acity

U nused C apacity – M ultiple R easons

U tilized C ap acity U tilized P roduction C ap acity

P ast

T im e C u rren t T im e

Fig. 4 Capacity Utilization 239

IFAC TECIS 2015 240 September 24-27, 2015. Sozopol, Bulgaria

P. Vasilev et al. / IFAC-PapersOnLine 48-24 (2015) 237–240

REFERENCES

CO1, CO2,…, COn, PS1(Capacity), PS2(Capacity),…, PSn

X = Sum Two(PS1) – Sum Two(PS2)

Creates WO1, WO2,…,WOn

Check Product Segments Material Specifications

Check PS Capability, Personnel Capability

Calculate Two1, Two2,...Twon

Assign Person to each Process Segment

Sort Descending Order T[]

1. 2.

http://www.isa-95.com/ ISA–95.00.01–2010 Enterprise-Control System Integration Part 1: Models and Terminology 3. ISA–95.00.02–2010 Enterprise-Control System Integration Part 2: Object Model Attributes 4. ISA–95.00.03–2013 Enterprise-Control System Integration Part 3: Activity Models of Manufacturing Operations Management 5. ISA–95.00.04–2012 Enterprise-Control System Integration Part 4: Object models and attributes for Manufacturing Operations Management 6. Boehm, B., Turner, R., Balancing agility and discipline: evaluating and integrating agile and plan-driven methods, ICSE 2004, Proceedings. 26th International Conference 7. Hirsch, Michael, Moving from a Plan Driven Culture to Agile Development, ICSE 2005, St. Louis, 20May-2005 8. ISO Standards, IEC/ISO 22400: Automation systems and integration - Key performance indicators (KPIs) for manufacturing operations management 9. http://logistics.about.com/od/tacticalsupplychain/a/I ntroduction-To-Kanban.htm 10. http://www.netobjectives.com/blogs/real-differencesbetween-kanban-and-scrum 11. Plamen Vasilev, ISO 22400 Key Performance Indicators For Software Industry, Fourth International Conference “Engineering, Technologies And Systems” Techsys 2015, 28 - 30 May, Plovdiv 12. NearSoft MOM4 – www.nearsoft.eu

If X>= 0 Take Twomin(PS1) = Twomin(last) Else Twomin(PS2) = Twomin(last)

Y = Twomin(last) / number of pieces

Z=X/Y

For WO(Twomax)=n, WO(Twomax)>0, WO(Twomax)--

Yes no

Check if WO(Twomax)