|
1
|
|
|
2
|
- 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
|
- 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
|
|
|
5
|
- 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
|
- 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
|
- Lets look at project classes:
- People
- Project
- Product
- Process
- Ergonomics
|
|
8
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
|
|
15
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- RUP – Rational Unified Process
|
|
24
|
- EUP – Enterprise Unified Process
- See http://www.ambysoft.com/unifiedProcess.html
|
|
25
|
- 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
|
- DSDM– Dynamic Systems Development method
- Comparison to
- RUP
- available
- New focus on
- e-Business
- See http://www.dsdm.org
|
|
27
|
- XP – eXtreme Programming
- See www.extremeprogramming.org
- & www.xprogramming.com
|
|
28
|
- AM - Agile Modeling
- See www.agilemodeling.com
- Also new see www.agiledata.org
- Bringing in the Enterprise DBA’s role to the spotlight.
|
|
29
|
- PIC = Phase Integrated COTS approach
- COTS = Commercial off the shelf
- https://www.software.org/pub/pic
|
|
30
|
- Icon Process
- Internet
- E-Business
- bias
- See www.iconprocess.com
|
|
31
|
- CxOne – Container for merging processes
- http://www.construx.com/cxone/
|
|
32
|
- 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
|
- 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
|
- 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
|
|
|
36
|
- Where to from here for my Organisation?
- All these dimensions have different impacts
- Buy-in from Senior management
- Budget
- Size of Organisation / Endeavour
|
|
37
|
- 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
|
- 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
|
- Determine the worst areas in the process by Discipline
|
|
40
|
- Enable a successful environment
- Also set-up Organisation wide
Process Group
|
|
41
|
- 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
|
- 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
|
- 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
|
- 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
|
- “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
|
- 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
|