Notes
Slide Show
Outline
1
Strategies for implementing RUP on different classes of project
  • by Charles Edwards
2
What’s the talk about?
  • Background
  • Software development evolution
  • Issues affecting strategy for Process Improvement
  • 1.Admitting problems exist in development
  • 2.Explore project classes
  • 3.Explore compliance frameworks
  • 4.Explore process methodology frameworks
  • 5.Explore Tools briefly
  • Completing the Jigsaw
  • Suggest strategic approaches


3
Background
  • Been developing software since 1979.
    • Rare breed who actually studied Computer Science at University!
  • Ran a consultancy in South Africa
    • Mainly small projects for 13 years – intro modelling
    • Medium projects 3 years – intro to Business Engineering
  • Moved to London
    • Large projects for last 4 years
    • The state of the first large project got me looking at RUP
    • Been involved in implementing RUP since then
4
Evolution of software
development
5
Issues affecting strategy
  • Understand the evolving Compliance & Methodology framework quagmire
  • Process improvement (PI) level endeavour
    • Organisation
    • Program
    • Project
  • Poor general awareness of PI
  • Budget restrictions on PI
  • Team size and formality on projects
  • Type and complexity of software under construction
  • This & more impacts the strategy you follow in PI


6
1. Admitting to problems
  • Many IT departments..
    •  appear unaware there are better ways of working
    •  Accept problems exist but are clueless as to how to approach solving them
  • First admit there is a problem to solve….
    •  Admitting problems exist is seen as “weakness”
  • People specialise so few see the big picture
  • Scott Ambler says:
    •    “A good developer knows that there is more to   development than programming.”
    •     “A great developer knows that there is more to development than development.”

7
2. Project classes
  • Lets look at project classes:
    • People
    • Project
    • Product
    • Process
    • Ergonomics

8
2. Project classes
  • People
    •  Team Size
    •  Existing or new teams
    •  Growth rate of team
    •  Internal or external people on team
    •  Makeup: Contractors, consultants, permanent
    •  Motivation
      •  Can a champion / sponsor be identified?
    • Level of experience per person / overall?
9
2. Project classes
  • Project
    •  Project Budget
    •  Project Time-span
    •  Management buy-in / commitment to change
    •  Project Requirements rate of change
    •  Project Technical learning curve
    •  Project Business learning curve

10
2. Project classes
  • Product in question
    •  Commercial off the shelf packages (COTS)
    •  Bespoke development
    •  Enhancing/extending/retiring existing systems
    •  In-house use or for re-sale
    •  Combinations of these
    •  Scale and complexity



11
2. Project classes
  • Process of team in question
    •  Process awareness
    •  Previous experience implementing methods
    •  Existing process
    •  Level of process maturity
    •  Imposed legal or marketing standards
    •  Goals on the team for process improvement
    •  Existing process problem areas

12
2. Project classes
  • Ergonomics – physical issues
    •  Office geographic location/s
    •  Office layout
    •  Infrastructure capability & performance
    •  Ownership of control over infrastructure
    •  Tools available for work
    •  Tool policies and constraints
    •  Location & availability of customer knowledge?


13
3. Compliance
Frameworks
  • Which one do you pick? What’s out there?
    • There is a quagmire of standards and qualities
    • These could be imposed on you contractually, legally or for business marketing reasons.
  • So you want to improve your development process compliance – which aspect?
    •  Quality standard
    •  Process standard conformance
    •  Capability & maturity of process
  • There are also supporting models to the above
    • Introduction Models – How to implement Standard models
    • Evaluation Models - of conformance to the implemented model

14
3. Compliance
frameworks quagmire
15
3. Compliance
frameworks quagmire
  •  SW-CMM = Capability maturity model for software
    • This is a maturity capability model
    • for identifying practices that will increase the maturity of those processes.
    • developed by Software Engineering Institute (SEI), in cooperation with industry internationally.
      • 1) Initial. The software process is characterized as ad hoc, and occasionally even chaotic.
      • 2) Repeatable. Basic project management processes are established to track cost, schedule, and functionality.
      • 3) Defined. The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization for all projects.
      • 4) Managed. Detailed measures of the software process and product quality are collected and are quantitatively understood and controlled.
      • 5) Optimizing. Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies.
    • See http://www.sei.cmu.edu/
16
3. Compliance
frameworks quagmire
  • CMMI = Capability Maturity Model Integration®
    • This is a maturity capability model
    • SEI was tasked by their DOD sponsor to integrate the capability maturity models®. SW-CMM, IPD-CMM, SA-CMM and SECM
    • International industry groups and US Armed Forces have participated
    • This effort combined models of different structure and vocabularies, and in doing so created a single model with various views.
    • Elements of the CMMI are called Process Areas (not Key Process Areas or Focus Areas)
    • There is both a staged view (ß architecture of the Software CMM®)
    • and a continuous view (ß the architecture of the systems engineering and IPD models).
    • Goal is to have a unified model that can be used to evaluate the entire product development organization’s engineering and management
    • See http://www.sei.cmu.edu/cmmi/
17
3. Compliance
frameworks quagmire
  • People CMM – Capability Maturity Model for People
    • This is a maturity capability model
    • A framework that helps organizations address critical people issues
    • It guides improving processes for managing & developing workforces
    • Based on the best practices in fields such as
      • human resources
      • knowledge management
      • organizational development
    • The People CMM consists of five maturity levels that establish successive foundations for continuously improving
      • individual competencies,
      • developing effective teams,
      • motivating improved performance,
      • and shaping the workforce the organization needs to accomplish its future business plans.
    • See www.sei.cmu.edu/cmm-p/
18
3. Compliance
frameworks quagmire
  • ISO 12207 – Information technology - Software life cycle processes
    • This is a Process Standard
    • life-cycle processes:
      • Primary Processes: Acquisition, Supply, Development, Operation, and Maintenance.
      • Supporting Processes: Documentation, Configuration Management, Quality Assurance, Verification, Validation, Joint Review, Audit, and Problem Resolution.
      • Organization Processes: Management, Infrastructure, Improvement, and Training.
    • An American adaptation exists called IEEE/EIA 12207



19
3. Compliance
frameworks quagmire
  • ISO 9000 series
    •  This is a Quality Standard
    •  ISO 9000:2000 Series (December 2000) replaced ISO 9001, 9002, and 9003 conformance standards (1987, major update in 1994).
    • For software organizations :
      • ISO 9001:2000: Quality management systems - Requirements
      • ISO 9000-3:1997 Quality Management and Quality Assurance standards. Guidelines for the application of ISO 9001 to the development, supply, and maintenance of software.
      • ISO 9001:2000 has five sections specifying activities that need to be considered when implementing a quality management system.
      • There are four sections that apply to all organizations and parts of the fifth section (Product Realization) may be excluded if not applicable to the organization’s operations.
  • See www.iso.ch


20
3. Compliance
frameworks quagmire
  • IDEAL - Process Implementation Methods
    • This is an Process Implementation Method
    • The model forms an infrastructure to guide in planning and implementing an effective software process improvement program
    • The Initiating Phase  à  Inception
    • The Diagnosing Phase  à  Inception
    • The Establishing Phase  à  Elaboration
    • The Acting Phase  à  Construction
    • The Learning Phase  à  Transition








    • See http://www.sei.cmu.edu/ideal/

21
3. Compliance
frameworks quagmire
  • SCAMPI – Standard CMMI Assessment Method for Process Improvement
    • This is an Assessment Method
    • The Method is a diagnostic tool that supports, enables, and encourages an organization’s commitment to process improvement
    • The method helps an organization gain insight into its process area capability, or organizational maturity
    • It identifies strengths and weaknesses of its current processes relative to one or more of the CMMI models
    • It also helps an organization prioritize its improvement plans, focus on improvements that are most beneficial, and derive capability level ratings, or maturity level ratings
    • The SCAMPI method is also the standard benchmarking tool for CMMI process area capability and maturity level profiles
    • See www.software.org/quagmire/descriptions/scampi.asp


22
4. Methodologies
quagmire
  • RUP – Rational Unified Process
  • UP – Unified Process
  • Open – Oo Process, Environment & Notation
  • DSDM– Dynamic Systems Development method
  • AM - Agile Modeling
  • XP – eXtreme Programming
  • PIC - Phase Integrated COTS approach
  • Icon Process – Extending to RUP
  • CxOne – Hybrid extensions for RUP
  • Appropriate process – PI manifesto
  • Best practices generally - in books, etc.
23
4. Process methodology
frameworks quagmire
  • RUP – Rational Unified Process
24
4. Process methodology
frameworks quagmire
  • EUP – Enterprise Unified Process
    • See http://www.ambysoft.com/unifiedProcess.html
25
4. Process methodology
frameworks quagmire
  • Open – Oo Process, Environment & Notation
    • Features
      • End-to-end lifecycle support
      • using object-oriented paradigm
    • Meta-model-based framework
      • can be tailored to
      • individual domains or projects
    • See www.open.org.au
    • Also www.donald-firesmith.com
26
4. Process methodology
frameworks quagmire
  • DSDM– Dynamic Systems Development method
    •  Comparison to
    •     RUP
    •     available
    •  New focus on
    •    e-Business
    •  See http://www.dsdm.org
27
4. Process methodology
frameworks quagmire
  • XP – eXtreme Programming
    •  See www.extremeprogramming.org
    •  & www.xprogramming.com

28
4. Process methodology
frameworks quagmire
  • AM - Agile Modeling
    •  See www.agilemodeling.com







    • Also new see www.agiledata.org
      • Bringing in the Enterprise DBA’s role to the spotlight.
29
4. Process methodology
frameworks quagmire
  • PIC = Phase Integrated COTS approach
    •  COTS = Commercial off the shelf
    •  https://www.software.org/pub/pic
30
4. Process methodology
frameworks quagmire
  • Icon Process
    • Internet
    • E-Business
    • bias











    • See www.iconprocess.com
31
4. Process methodology
frameworks quagmire
  • CxOne – Container for merging processes









    • http://www.construx.com/cxone/

32
4. Process methodology
frameworks quagmire
  • Appropriate Process
    •  Hybrid selection of appropriate process elements
    •  According to the requirements and situation of the target organisation
    •  Accepts “ideal” process as a constantly moving target.
    •  Check out the manifesto
    •  See www.aptprocess.com
33
4. Process methodology
frameworks quagmire
  • Loads of other Methods and Frameworks exist
    •  not discussed here, see www.processwave.net
    •  if you know of others please let us know.
  • Best practices generally available
    •  In books
    •  Articles Magazines and on the web
    •  Presentations
    •  From Companies who specialise in process
    •  Organisations like SEI, Software.org, etc.
34
5.Explore Tools
  • Look at the existing tools in the endeavour
  • Account for the size of the project/product
  • Look at the budget of the project for PI, including tools & infrastructure
  • Look at the tools per discipline required
  • Then consider the tool integration issues


35
5.Explore Tools
36
Completing the Jigsaw
  • Where to from here for my Organisation?









    • All these dimensions have different impacts
      • Buy-in from Senior management
      • Budget
      • Size of Organisation / Endeavour
37
Goal driven strategies
  • Use a Phase and Iterative approach running a separate small project for the PI
    •  Suggest using the SEI’s IDEAL approach but within a RUP framework for the PI
      • Why? So PI project maps onto your Software project in parallel
      • Less confusing to those involved
  • Run the Actual project in parallel on the same iterations.



38
Goal driven strategies
  • Package up the process improvement (PI) implementation into Modules





  • Why package?
    •  To monitor progress
    •  To keep it understandable and in context to all.
    •  Account for success against

39
Goal driven strategies
  • Determine the worst areas in the process by Discipline
40
Goal driven strategies
  • Enable a successful environment








    •  Also set-up Organisation wide Process Group
41
Goal driven strategies
  • 1. Off Project    : Goal = Ready to Use Environment
    • Pre-Build Approach - People & Process
      • Do the work for the Endeavour = Organisation, Program or Project
      • Do this prior to the Endeavour proceeding.
      • Do this for the selected or all packages (Budget dependent)
      • Liase with key personnel – Arch, PM, etc.
    • Pre-Build Approach - People & Process & Tools
      • Same as Above but including
      • Infrastructure and Tools
      • With any tool integration

42
Goal driven strategies
  • 2. On Project
    • Pilot approach
    • Quick fix approach – fix specific identified problems – then get out.
      • Usually because the consultants have to come in to rescue an ailing project halfway through.
    • Slowly-Slowly
      • Fix problems iteratively on-going
      • One Process engineer
      • One mentor at a time on the biggest problem per iteration.
    • Quickly - one mentor per discipline on top 3 problems.
    • Big Bang – one mentor per discipline

43
Goal driven strategies
  • 3. On Organization
    • RUP has (Typical, Fast, Careful, Distributed, Org Env project)
      • Typical=Pilot, Establish Env, n Projects
      • Fast=Establish Env, n Projects
      • Careful=Pilot1, Pilot2, Establish Env, n Projects
      • Distributed=Each Project does its own thing, consolidate later.
    • Pre-Build approach = (same two options as before)
    • Training only approach
      • No mentors – not recommended.
      • Tends to be infinitely better with experienced hands on people advising.
    • Select Packaged approach = for constrained budget.
      • Fix main problems – then consultants get out.
      • Call in consultants when ready for next package improvement.
    • Slowly-Slowly = Team of Process Engineers/Mentors from a central Organization Process Group
      • On a project from a central Organization Process Group
      • Cycle through mentoring on projects
    • Big Bang = one mentor per discipline on the project.
      • Risky, because its expensive and tend to try and change too much.
      • Can be done if the project is under audit and no time for pilots, etc.
44
Conclusion
  • We looked at..
    •  Background
    •  Software development evolution
    •  Issues affecting strategy
    •  1. Admitting problems exist in development
    •  2. Explore project classes
    •  3. Explore compliance frameworks
    •  4. Explore process methodology frameworks
    •  5. Explore Tools briefly
    •  Completing the Jigsaw
    •  Suggest strategic approaches
45
Thought for the day
  • “Change has considerable psychological impact on the human mind.
  •       To the fearful it is threatening because it means that things may get worse.
  •       To the hopeful it is encouraging because things may get better.
  •       To the confident it is inspiring because the challenge exists to make things better.
  •       Obviously, then, one’s character and frame of mind determine how readily he brings about change and how he reacts to change that is imposed on him.”
    • King Whitney Jr., Quoted by Wall Street Journal, 7 June 1967
    •  Questions?
    •  Thanks for your time.
46
References
  • Zahran, Sami – Software process Improvement, 1998.
  • Grady, Robert – Successful Software Process Improvement, 1997.
  • Rational – RUP, 2002.
  • Sheard, Sarah - Software Productivity Consortium for compliance Quagmire info, 1997.
  • Plus all URL’s already noted in slides from www.processwave.net