Upload
austin-ramirez
View
215
Download
0
Embed Size (px)
Citation preview
3 October 2001 [email protected] 1
Understanding and (Re)Designing Software Development 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
3 October 2001 [email protected] 2
Recurring problems
• What is the best way to organize software development project?
• How to speed up development, reduce costs and improve software quality?
• How to achieve the quickest development effort, lowest effective development cost, and best available product quality?
3 October 2001 [email protected] 3
Possible solutions
• Attain and improve maturity of software development capabilities (image)
• Get best people to practice standards-based development process supported by IDEs
• (Re)Design your software production architecture (SPA) to optimize use of development resources, processes, and people.
3 October 2001 [email protected] 4
Goals
• Present an approach for how to optimize software production
• Identify key concepts, techniques, and tools that enable better optimization
• Describe optimization transformations from business process redesign studies
• Describe opportunity areas for exploitation and use
3 October 2001 [email protected] 5
Definitions and Differences
• Software production: enterprise processes and resources that produce software
• Production strategies: business strategies guiding overall approach to building software
• Production architecture: configuration of enterprise capabilities to enact strategies
• Optimizing production: minimizing enterprise configuration to maximize strategic options
3 October 2001 [email protected] 6
(Re)designing software production• What first: to-be goal vs. as-is mess?
– If you don’t know where you are, any road will do (proverb)
– Observation: people at work cannot describe the processes they do with high fidelity (tacit knowledge)
– Redesign necessitates understanding as-is, to-be, and here-to-there
• Creating high-performance work groups– Empowerment, participation, incentivization (resource
sovereignty), and recognition
W. Scacchi, Redesigning Contracted Service Procurement for Internet-based Electronic Commerce: A Case Study, J. Information Technology and Management, 2(3), 313-334, 2001.
3 October 2001 [email protected] 7
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 market share• Enable just-in-time
service delivery
3 October 2001 [email protected] 8
Software Production Architecture• A composite model that interrelates
– software system architecture– software process architecture– development organization architecture– network infrastructure and development
tools/environment configuration – documentation architecture– customer-support knowledge base architecture
P. Mi and W. Scacchi, A Meta-Model for Formulating Knowledge-Based Models of Software Development, Decision Support Systems, 17(4):313-330, 1996.
3 October 2001 [email protected] 9
Optimizing Software Production
• Strategies provide global constraints or opportunities for optimizing software production
• Constraints and opportunities realized in software production enterprise
• Constraints and opportunities are distributed across the software production architecture
3 October 2001 [email protected] 10
Optimizing Software Production
• Optimization must address composite architecture of software production
• Local optimization of any component architecture does not guarantee global optimality of software production
• Diagnostic analyses and transformation heuristics applied to composite architectural models lead to optimization opportunities
3 October 2001 [email protected] 11
Optimizing Software Production
• Transformation heuristics classified taxonomically
• Taxonomy classifies domain-independent and domain-specific hueristics
• DI transformations applied in any software production setting
• DS transformations applied to specific component architectures
3 October 2001 [email protected] 12
Optimizing Software Production
• DI transformation classes (sample):– Job scope– Worker empowerment– Organization design– Workflow streamlining– Information technology (IT)
3 October 2001 [email protected] 13
Research grant justification and approval process at Office of Naval Research (c. 1995)
W. Scacchi and J. Noll, Process-Driven Intranets: Life Cycle Support for Process Reengineering IEEE Internet Computing, 1(5):42-49, 1997.
3 October 2001 [email protected] 14
Optimizing Software Production
• IT transformation sub-classes (sample):– Extend IT-based support to manual process steps – Extend IT-based communication facilities to
encourage information sharing activities – Extend IT-based automation to incorporate new
kinds of application packages – Extend IT-based integration to interconnect and
interrelate existing "islands of automation"
3 October 2001 [email protected] 15
3 October 2001 [email protected] 16
As-is vs. to-be process
3 October 2001 [email protected] 17
Redesign/Optimization Results
• Reduction in procurement process cycle times of 20X, 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.
3 October 2001 [email protected] 18
Tools and Techniques
• Software process redesign case web
• Knowledge web for software production
• Process-driven intranets
• Organizational transformation
3 October 2001 [email protected] 19
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, and team shared responsibility.
3 October 2001 [email protected] 20
What to Understand• Work Structures and Shifts: Resource
arrangements, historical circumstances, division of labor and expertise, etc.
• Work Processes: Routine, habitual or emergent patterns of how work flows among people through/onto work structures
• Work Practices: Behavioral discourse and social dynamics enacted through work processes
3 October 2001 [email protected] 21
What to Understand
• Structures are domain independent constructs– Prescriptive/descriptive abstractions
• Processes are classes of workflow– Descriptive and derived – Prescriptive and composed
• Practices are instances– Descriptive, historic and situated
3 October 2001 [email protected] 22
Comparative analysis of software specification teamwork
– Six work structure types observed: Negotiated, Integrated, Replicated, Delegated, Prediscriminated and Separated
– Three structural shift types observed: • anticipated ->,
• unanticipated -->>,
• role shift within work structure +.
[email protected] October 2001
Work structures and shifts (data)Team ID T1 T2 T3 T4 T5Team Size 6 7 7 7 5Reusable Exemplar no yes yes yes yes
PROCESSA. Pre-planning task N->R->I N->R->I N->R->I N->R->I N->R->I
B. Planning task N N N N N c. I I I I -> S I -> Sd. I I+ I S Se. 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 Dh. D I I D D
C. Develop preliminary I -->> I+ I+ I+ -> S+ I -> S+(informal) specification N -->>
R -->> I
D. Develop formal I+ I+ I+ S+ -->> S+(processable) spec. N -->>E. Document N -->> D P+ P+ N -->> P(D,D,I)write-up P(D,S->I,D)F. Documentation D -->> D+ D+ D+ D+integration N -->> I
G. Document review R R R N -->> R D
H. Prepare for D -->> I+ N -->> I+ N -->> I+ D+Delivery N -->> I
3 October 2001 [email protected] 24
Findings
• Highest (lowest) quality product (measured by automated tools): T1 (T5)
• Highest (lowest) productivity (self reported time expended): T5 (T1)
• Note the coincidental relationship
• Effectiveness of planning, automated tool use, asset reuse not clearly associated with high(low) quality or high(low) productivity
3 October 2001 [email protected] 25
Findings
• Teams falling primarily into Negotiative and Integrative structures had higher quality
• Teams falling primarily into Delegative, Pre-discriminative or Separative structures had higher productivity
• Computer supported work environments must account for teamwork structures as a usage parameter.
3 October 2001 [email protected] 26
Tools and Techniques
• Software process redesign case web
• Knowledge web for software production:– Software production ontology– Taxonomy for as-is diagnosis, redesign heuristics– Best practices and lessons learned cross-linked
• Process-driven intranets
• Organizational transformation
W. Scacchi and A. Valente, Developing a Knowledge Web for Business Process Redesign, Presented at the 1999 Knowledge Acquisition Workshop, Banff, Canada, October 1999.
3 October 2001 [email protected] 27
3 October 2001 [email protected] 28
3 October 2001 [email protected] 29
Current field study
• Understanding open source software practices and processes in different domains– Academic research vs. Commercial development
• Deep Space Astronomy, Software Architecture
• Internet infrastructure, Networked computer games
• To produce and compare case studies using narrative, hypertext, and computational renderings.
3 October 2001 [email protected] 30
Tools and Techniques
• Software process redesign case web
• Knowledge web for software production:
• Process-driven intranets: – Model, prototype, and enact software production
architectures
• Organizational transformation
3 October 2001 [email protected] 31
Process-driven intranets
• Enable rapid configuration of virtual enterprises (VEs) across multiple organizational domains
• Virtual enterprises for wide-area software development have been demonstrated
• Software production in VEs supported and 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.
3 October 2001 [email protected] 32
Process-driven intranets
• Accommodate organizational autonomy and computer-supported cooperative work
• Accommodate heterogeneous repositories of development artifacts (source code, etc.)
• Accommodate use of local tools and development environments
3 October 2001 [email protected] 33
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
3 October 2001 [email protected] 34
Process-driven intranets
3 October 2001 [email protected] 35
Tools and Techniques
• Software process redesign case web
• Knowledge web for software production
• Process-driven intranets
• Organizational transformation– What’s involved?– How long does it take?– How much bang for the buck?
3 October 2001 [email protected] 36
Organizational transformation
• Collaborative participation to understand as-is, to-be, and here-to-there SPAs within constraints and contexts.
• Timeframe: 6-18 months
• Baseline investment (ROI): – External: Invest $1 to realize $10 savings/gain.– Internal: Staff time, infrastructure usage, etc.
3 October 2001 [email protected] 37
Conclusions
• Software production can be optimized
• Optimizing software production is a strategic option/choice that can be realized
• Software production architectures and supporting technologies enable optimization
• Process improvement and production optimization are complementary efforts
3 October 2001 [email protected] 38
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 be improved? Politecnico di Milano, Dipartimento di Elettronica e Informazione, Submitted for publication, 2001.
• W. Scacchi and P. Mi, Process Life Cycle Engineering: A Knowledge-Based Approach and Environment, Intelligent Systems in Accounting, Finance and Management, 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 Acquisition Process Architectures, Journal of Systems and Software, to appear, 2001
• Available at http://www.ics.uci.edu/~wscacchi/publications.html
3 October 2001 [email protected] 39
3 October 2001 [email protected] 40