Understanding and
             (Re)Designing Software
             Development Processes

                                ...
Recurring problems
• What is the best way to organize software
  development project?
• How to speed up development, reduc...
Possible solutions
• Attain and improve maturity of software
  development capabilities (image)
• Get best people to pract...
Goals
• Present an approach for how to optimize
  software production
• Identify key concepts, techniques, and tools
  tha...
Definitions and Differences
• Software production: enterprise processes and
  resources that produce software
• Production...
(Re)designing software production
• What first: to-be goal vs. as-is mess?
     – If you don’t know where you are, any roa...
Software Production Strategies
•   Reduce costs                •   Increase productivity
•   Reduce cycle time           •...
Software Production Architecture
• A composite model that interrelates
     – software system architecture
     – software...
Optimizing Software Production
• Strategies provide global constraints or
  opportunities for optimizing software
  produc...
Optimizing Software Production
• Optimization must address composite
  architecture of software production
• Local optimiz...
Optimizing Software Production
• Transformation heuristics classified
  taxonomically
• Taxonomy classifies domain-indepen...
Optimizing Software Production
• DI transformation classes (sample):
     –   Job scope
     –   Worker empowerment
     –...
Research grant justification and approval process at
        Office of Naval Research (c. 1995)




W. Scacchi and J. Noll...
Optimizing Software Production
• IT transformation sub-classes (sample):
     – Extend IT-based support to manual process
...
3 October 2001   wscacchi@uci.edu   15
As-is vs. to-be process




3 October 2001         wscacchi@uci.edu    16
Redesign/Optimization Results
• Reduction in procurement process cycle times of
  20X, annual operational savings of $10-1...
Tools and Techniques
•   Software process redesign case web
•   Knowledge web for software production
•   Process-driven i...
Case study: Software
                 development teamwork
• Comparative analysis of software
  specification teamwork (in...
What to Understand
• Work Structures and Shifts: Resource
  arrangements, historical circumstances,
  division of labor an...
What to Understand
• Structures are domain independent
  constructs
     – Prescriptive/descriptive abstractions
• Process...
Comparative analysis of software
   specification teamwork
 – Six work structure types observed: Negotiated,
   Integrated...
Work structures and shifts (data)
    Team ID                         T1            T2            T3        T4            ...
Findings
• Highest (lowest) quality product (measured
  by automated tools): T1 (T5)
• Highest (lowest) productivity (self...
Findings
• Teams falling primarily into Negotiative
  and Integrative structures had higher quality
• Teams falling primar...
Tools and Techniques
• Software process redesign case web
• Knowledge web for software production:
     – Software product...
3 October 2001   wscacchi@uci.edu   27
3 October 2001   wscacchi@uci.edu   28
Current field study
• Understanding open source software
  practices and processes in different domains
     – Academic re...
Tools and Techniques
• Software process redesign case web
• Knowledge web for software production:
• Process-driven intran...
Process-driven intranets
• Enable rapid configuration of virtual
  enterprises (VEs) across multiple
  organizational doma...
Process-driven intranets
• Accommodate organizational autonomy
  and computer-supported cooperative work
• Accommodate het...
Process-driven intranets




Also see, J. Noll and W. Scacchi, Specifying Process-Oriented Hypertext for Organizational
Co...
Process-driven intranets




3 October 2001        wscacchi@uci.edu   34
Tools and Techniques
•   Software process redesign case web
•   Knowledge web for software production
•   Process-driven i...
Organizational transformation
• Collaborative participation to understand
  as-is, to-be, and here-to-there SPAs within
  ...
Conclusions
• Software production can be optimized
• Optimizing software production is a
  strategic option/choice that ca...
References
•   S. Bendifallah and W. Scacchi, Work Structures and Shifts: A Study in Software
    Specification Teamwork, ...
3 October 2001   wscacchi@uci.edu   39
3 October 2001   wscacchi@uci.edu   40
Upcoming SlideShare
Loading in …5
×

Understanding and (Re)Designing Software Development Processes

389 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
389
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Understanding and (Re)Designing Software Development Processes

  1. 1. Understanding and (Re)Designing Software Development Processes Walt Scacchi Institute 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 wscacchi@uci.edu 1
  2. 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 wscacchi@uci.edu 2
  3. 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 wscacchi@uci.edu 3
  4. 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 wscacchi@uci.edu 4
  5. 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 wscacchi@uci.edu 5
  6. 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 wscacchi@uci.edu 6
  7. 7. Software Production Strategies • Reduce costs • Increase productivity • Reduce cycle time • Open new markets • Improve cash flow • Open new “channels” • Customer satisfaction • Be innovation leader • Increase sales • Increase market share • Improve customer • Enable just-in-time service service delivery 3 October 2001 wscacchi@uci.edu 7
  8. 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 wscacchi@uci.edu 8
  9. 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 wscacchi@uci.edu 9
  10. 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 wscacchi@uci.edu 10
  11. 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 wscacchi@uci.edu 11
  12. 12. Optimizing Software Production • DI transformation classes (sample): – Job scope – Worker empowerment – Organization design – Workflow streamlining – Information technology (IT) 3 October 2001 wscacchi@uci.edu 12
  13. 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 wscacchi@uci.edu 13
  14. 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 wscacchi@uci.edu 14
  15. 15. 3 October 2001 wscacchi@uci.edu 15
  16. 16. As-is vs. to-be process 3 October 2001 wscacchi@uci.edu 16
  17. 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 wscacchi@uci.edu 17
  18. 18. Tools and Techniques • Software process redesign case web • Knowledge web for software production • Process-driven intranets • Organizational transformation 3 October 2001 wscacchi@uci.edu 18
  19. 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 wscacchi@uci.edu 19
  20. 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 wscacchi@uci.edu 20
  21. 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 wscacchi@uci.edu 21
  22. 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 +. 3 October 2001 wscacchi@uci.edu 22
  23. 23. 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-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 -> 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 D g. R R R D D h. 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 wscacchi@uci.edu 23
  24. 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 wscacchi@uci.edu 24
  25. 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 wscacchi@uci.edu 25
  26. 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 wscacchi@uci.edu 26
  27. 27. 3 October 2001 wscacchi@uci.edu 27
  28. 28. 3 October 2001 wscacchi@uci.edu 28
  29. 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 wscacchi@uci.edu 29
  30. 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 wscacchi@uci.edu 30
  31. 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 wscacchi@uci.edu 31
  32. 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 wscacchi@uci.edu 32
  33. 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 wscacchi@uci.edu 33
  34. 34. Process-driven intranets 3 October 2001 wscacchi@uci.edu 34
  35. 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 wscacchi@uci.edu 35
  36. 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 wscacchi@uci.edu 36
  37. 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 wscacchi@uci.edu 37
  38. 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 wscacchi@uci.edu 38
  39. 39. 3 October 2001 wscacchi@uci.edu 39
  40. 40. 3 October 2001 wscacchi@uci.edu 40

×