understanding and re-designing software development processes=jpl-understand-process-oct01
TRANSCRIPT
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
1/40
Understanding and(Re)Designing SoftwareDevelopment Processes
Walt ScacchiInstitute for Software Research
University of California, Irvine
Irvine, CA 92697-3425 USA
http://www.ics.uci.edu/~wscacchi/Presentations/JPL-Process-Oct01.ppt
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
2/40
Recurring problems
What is the best way to organize softwaredevelopment project?
How to speed up development, reducecosts and improve software quality?
How to achieve the quickest developmenteffort, lowest effective development cost,and best available product quality?
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
3/40
Possible solutions
Attain and improve maturity of softwaredevelopment capabilities (image)
Get best people to practice standards-based development process supported byIDEs
(Re)Design your software productionarchitecture (SPA) to optimize use ofdevelopment resources, processes, andpeople.
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
4/40
Goals
Present an approach for how tooptimize software production
Identify key concepts, techniques, andtools that enable better optimization
Describe optimization transformationsfrom business process redesign studies
Describe opportunity areas forexploitation and use
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
5/40
Definitions and Differences
Software production: enterprise processesand resources that produce software
Production strategies: business strategiesguiding overall approach to buildingsoftware
Production architecture: configuration ofenterprise capabilities to enact strategies
Optimizing production: minimizingenterprise configuration to maximizestrate ic o tions
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
6/40
(Re)designing softwareproduction
What first: to-be goal vs. as-is mess?
If you dont know where you are, any road will do(proverb)
Observation: people at work cannot describe the
processes they do with high fidelity (tacitknowledge)
Redesign necessitates understanding as-is, to-be,and here-to-there
Creating high-performance work groups Empowerment, participation, incentivization
(resource sovereignty), and recognitionW. Scacchi, Redesigning Contracted Service Procurement for Internet-based Electronic
Commerce: A Case Study,J. Information Technology and Management, 2(3), 313-334, 2001.
http://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.htmlhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.htmlhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.htmlhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.htmlhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.htmlhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.html -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
7/40
Software Production Strategies
Reduce costs
Reduce cycle time
Improve cash flow
Customer satisfaction
Increase sales
Improve customer
service
Increase productivity
Open new markets
Open new channels
Be innovation leader
Increase marketshare
Enable just-in-timeservice delivery
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
8/40
Software ProductionArchitecture
A composite modelthat interrelates software system architecture
software process architecture
development organization architecture network infrastructure and development
tools/environment configuration
documentation architecture customer-support knowledge base
architectureP. Mi and W. Scacchi,A Meta-Model for Formulating Knowledge-Based Models ofSoftware Development,Decision Support Systems, 17(4):313-330, 1996.
http://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Meta-Model.pdf -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
9/40
Optimizing Software Production
Strategies provide global constraints oropportunities for optimizing softwareproduction
Constraints and opportunities realized insoftware production enterprise
Constraints and opportunities aredistributed across the software productionarchitecture
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
10/40
Optimizing Software Production
Optimization must address compositearchitecture of software production
Local optimization of any componentarchitecture does not guarantee globaloptimality of software production
Diagnostic analyses and transformationheuristics applied to compositearchitectural models lead to optimizationopportunities
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
11/40
Optimizing Software Production
Transformation heuristics classifiedtaxonomically
Taxonomy classifies domain-independentand domain-specifichueristics
DI transformations applied in anysoftwareproduction setting
DS transformations applied to specificcomponent architectures
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
12/40
Optimizing Software Production
DI transformation classes (sample):
Job scope
Worker empowerment
Organization design
Workflow streamlining
Information technology (IT)
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
13/40
Research grant justification and approvalprocess at Office of Naval Research (c. 1995)
W. Scacchi and J. Noll, Process-Driven Intranets: Life Cycle Support for Process
ReengineeringIEEE Internet Computing, 1(5):42-49, 1997.
http://www.usc.edu/dept/ATRIUM/Papers/PDI.pdfhttp://www.usc.edu/dept/ATRIUM/Papers/PDI.pdfhttp://www.usc.edu/dept/ATRIUM/Papers/PDI.pdfhttp://www.usc.edu/dept/ATRIUM/Papers/PDI.pdfhttp://www.usc.edu/dept/ATRIUM/Papers/PDI.pdfhttp://www.usc.edu/dept/ATRIUM/Papers/PDI.pdf -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
14/40
Optimizing Software Production
IT transformation sub-classes (sample):
Extend IT-based supportto manual processsteps
Extend IT-based communication facilities toencourage information sharing activities
Extend IT-based automation to incorporate
new kinds of application packages Extend IT-based integration to interconnect
and interrelate existing "islands ofautomation"
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
15/40
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
16/40
As-is vs. to-be process
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
17/40
Redesign/Optimization Results
Reduction inprocurement process cycle times of20X, annual operational savings of $10-15M. Via transformation and realignment of information
systems, business processes, corporate strategy, and
work practices in a 1-2 year time frame. Participatory design, development and refinement of
computational models of new work processes,resource configurations and work practices, together
as an organizational system.
W. Scacchi, Redesigning Contracted Service Procurement for Internet-Based Electronic Commerce: A
Case Study,Information Technology and Management, 2(3):313-334, 2001.
http://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Internet-Procurement/Internet_Procurement.pdf -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
18/40
Tools and Techniques
Software process redesign case web
Knowledge web for software production
Process-driven intranets
Organizational transformation
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
19/40
Case study: Software
development teamwork Comparative analysis of software
specification teamwork (in complex
setting) Five teams, 5-7 members, two-week (part-
time) process that incorporates planning,formal notation, automated tool use,reusable assets, documentation tasks, andteam shared responsibility.
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
20/40
What to Understand
Work Structures and Shifts: Resourcearrangements, historical circumstances,division of labor and expertise, etc.
Work Processes: Routine, habitual oremergent patterns of how work flowsamong people through/onto work
structures Work Practices: Behavioral discourse
and social dynamics enacted through
work processes
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
21/40
What to Understand
Structures are domain independentconstructs
Prescriptive/descriptive abstractions
Processes are classes of workflow
Descriptive and derived
Prescriptive and composed
Practices are instances
Descriptive, historic and situated
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
22/40
Comparative analysis ofsoftware specification
teamwork Six work structure types observed: Negotiated,I
ntegrated,R
eplicated,D
elegated,Prediscriminated and Separated
Three structural shift types observed:
anticipated ->,
unanticipated -->>, role shift within work structure +.
W k t t d hift
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
23/40
Work structures and shifts(data)
Team ID T1 T2 T3 T4 T5
Team Size 6 7 7 7 5
Reusable Exemplar no yes yes yes yes
PROCESS
A . Pre-pl annin g task N->R->I N->R->I N->R->I N->R->I N->R->I
B. Plann in g task N N N N N
c. I I I I -> S I -> S
d. I I+ I S S
e. P (D,I,I) P (D,I,I) P (D,I,I) P (D,S->I,I) P (D,D,I)
f. D D D D Dg. R R R D D
h. D I I D D
C. Develop p rel im in ary I -->> I+ I+ I+ -> S+ I -> S+
(info rm al) specif icatio n N -->>
R -->> I
D. Develop form al I+ I+ I+ S+ -->> S+
(pro cessabl e) spec. N -->>
E. Docum ent N -->> D P+ P+ N -->> P(D,D,I)write-up P(D,S->I,D)
F. Docum entat ion D -->> D+ D+ D+ D+
integrat ion N -->> I
G. Docum ent review R R R N -->> R D
H. Prepare for D -->> I+ N -->> I+ N -->> I+ D+
Delivery N -->> I
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
24/40
Findings
Highest (lowest) qualityproduct(measured by automated tools): T1 (T5)
Highest (lowest)productivity(self
reported time expended): T5 (T1) Note the coincidentalrelationship
Effectiveness of planning, automated
tool use, asset reuse notclearlyassociated with high(low) quality orhigh(low) productivity
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
25/40
Findings
Teams falling primarily into Negotiativeand Integrative structures had higherquality
Teams falling primarily into Delegative,Pre-discriminative or Separativestructures had higher productivity
Computer supported work environmentsmust account for teamwork structuresas a usage parameter.
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
26/40
Tools and Techniques
Software process redesign case web
Knowledge web for software production:
Software production ontology
Taxonomy for as-is diagnosis, redesignheuristics
Best practices and lessons learned cross-
linked Process-driven intranets
Organizational transformationW. Scacchi and A. Valente,Developing a Knowledge Web for Business Process Redesign,
Presented at the 1999 Knowledge Acquisition Workshop, Banff, Canada, October 1999.
http://www.ics.uci.edu/~wscacchi/Papers/KnowledgeWeb/http://www.ics.uci.edu/~wscacchi/Papers/KnowledgeWeb/ -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
27/40
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
28/40
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
29/40
Current field study
Understanding open source softwarepractices and processes in differentdomains
Academic research vs. Commercialdevelopment
Deep Space Astronomy, Software Architecture
Internet infrastructure, Networked computergames
To produce and compare case studiesusing narrative, hypertext, and
computational renderings.
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
30/40
Tools and Techniques
Software process redesign case web
Knowledge web for software production:
Process-driven intranets:
Model, prototype, and enact softwareproduction architectures
Organizational transformation
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
31/40
Process-driven intranets
Enable rapid configuration ofvirtualenterprises (VEs) across multipleorganizational domains
Virtual enterprises for wide-areasoftware development have beendemonstrated
Software production in VEs supportedand enacted via process navigation(process surfing)
J. Noll and W. Scacchi, Supporting Software Development in Virtual Enterprises,Journal
of Digital Information, 1(4), February 1999.
http://www.ics.uci.edu/~wscacchi/Papers/JODI-1999.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/JODI-1999.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/JODI-1999.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/JODI-1999.pdf -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
32/40
Process-driven intranets
Accommodate organizational autonomyand computer-supported cooperativework
Accommodate heterogeneousrepositories of development artifacts(source code, etc.)
Accommodate use of local tools anddevelopment environments
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
33/40
Process-driven intranets
Also see, J. Noll and W. Scacchi, Specifying Process-Oriented Hypertext for Organizational
Computing,J. Network and Computer Applications, 24(1):39-61, 2001
http://www.ics.uci.edu/~wscacchi/Papers/Process-Hypertext/Process-Hypertext.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Hypertext/Process-Hypertext.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Hypertext/Process-Hypertext.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Hypertext/Process-Hypertext.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Hypertext/Process-Hypertext.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process-Hypertext/Process-Hypertext.pdf -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
34/40
Process-driven intranets
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
35/40
Tools and Techniques
Software process redesign case web
Knowledge web for software production
Process-driven intranets
Organizational transformation
Whats involved?
How long does it take?
How much bang for the buck?
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
36/40
Organizational transformation
Collaborative participation to understandas-is, to-be, and here-to-there SPAs withinconstraints and contexts.
Timeframe: 6-18 months
Baseline investment (ROI):
External: Invest $1 to realize $10
savings/gain.
Internal: Staff time, infrastructure usage, etc.
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
37/40
Conclusions
Software production can be optimized
Optimizing software production is astrategic option/choice that can be realized
Software production architectures andsupporting technologies enableoptimization
Process improvement and productionoptimization are complementary efforts
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
38/40
References S. Bendifallah and W. Scacchi, Work Structures and Shifts: A Study in Software
Specification Teamwork, Proc. 11th. Intern. Conf. Software Engineering,Pittsburgh, PA, IEEE Press, 260-270, 1989.
R. Conradi and A. Fuggetta. Software process improvement: what can beimproved? Politecnico di Milano, Dipartimento di Elettronica e Informazione,Submitted for publication, 2001.
W. Scacchi and P. Mi, Process Life Cycle Engineering: A Knowledge-BasedApproach and Environment, Intelligent Systems in Accounting, Finance andManagement, 6:83-107, 1997.
W. Scacchi, Understanding Software Process Redesign using Modeling,Analysis, and Simulation, Software Process--Improvement and Practice, 5(2/3),183-195, 2000.
J.S. Choi and W. Scacchi, Modeling and Simulating Software AcquisitionProcess Architectures, Journal of Systems and Software, to appear, 2001
Available at http://www.ics.uci.edu/~wscacchi/publications.html
http://www.cefriel.it/~alfonso/documents/Papers/spi.pdfhttp://www.cefriel.it/~alfonso/documents/Papers/spi.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process_Engineering/Process_Life_Cycle.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process_Engineering/Process_Life_Cycle.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Software_Process_Redesign/SPIP-ProSim99.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Software_Process_Redesign/SPIP-ProSim99.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/ProSim-2K/ProSim-2K-Paper.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/ProSim-2K/ProSim-2K-Paper.pdfhttp://www.ics.uci.edu/~wscacchi/publications.htmlhttp://www.ics.uci.edu/~wscacchi/publications.htmlhttp://www.ics.uci.edu/~wscacchi/Papers/ProSim-2K/ProSim-2K-Paper.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/ProSim-2K/ProSim-2K-Paper.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Software_Process_Redesign/SPIP-ProSim99.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Software_Process_Redesign/SPIP-ProSim99.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process_Engineering/Process_Life_Cycle.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process_Engineering/Process_Life_Cycle.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process_Engineering/Process_Life_Cycle.pdfhttp://www.ics.uci.edu/~wscacchi/Papers/Process_Engineering/Process_Life_Cycle.pdfhttp://www.cefriel.it/~alfonso/documents/Papers/spi.pdfhttp://www.cefriel.it/~alfonso/documents/Papers/spi.pdf -
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
39/40
-
7/30/2019 Understanding and Re-Designing Software Development Processes=JPL-Understand-Process-Oct01
40/40