140 likes | 246 Views
The importance of people and skills in Software Development (despite the CMM!) or People or Process, which to improve? Karl Reed, MSc, FACS, PCP ,FIE Aust, CPE Director, AAITP. This Talk Will Discuss… 1. Issues relevant to improving s/w development
E N D
The importance of people and skills in Software Development (despite the CMM!) or People or Process, which to improve? Karl Reed, MSc, FACS, PCP ,FIE Aust, CPE Director, AAITP
This Talk Will Discuss… • 1. Issues relevant to • improving s/w development • 2. Arguments against Quality • Management and Process • Improvement • 3. The role of skill in Software • Development • 4. Programs for Skill • Improvement • 5. Summary
But First… • We identify five issues… • The technology :- • a. embodied by the complete product, • Its capabilities, in function, performance etc. • b. of its components, • the parts, materials, sub-systems • c. used in its production, • tools, design techniques • d. in terms of human skills • used in production, • e. used in the process of • production • organisation of production, process
Consider the following commodities… McClaren F1, Holden Commodore, Valve amplifier, Boom Box, Windows95 AS400/Power PC Version
1. Issues relevant to • improving s/w development • A Statement of the obvious… • Methodologies, • High-level implimentation • vehicles (more FP’s per line) • Tools • Process • Skills • Platforms • VERY HIGH LEVEL DESIGN AND SOLUTION RE-USE • (Implimentations valid for more than one application domain!!)
2. Arguments against • Considering Quality • Management and Process • Improvement as panaceas • PROCESS IMPROVEMENT… • (Is this based on de-skilling, or compensation for lack of skill, or other factors?) • Assumes we already have… • Repeatability and determinism of s/w development, • “adequate” methodologies, • “adequate” skills, • Process actually can or is followed…
2. Arguments against • Considering Quality • Management and Process • Improvement as panaceas(con’td) • PROCESS IMPROVEMENT… • Cultural origins and reports of success come from non-software companies, E.G. • Motorola mobile phones, • Raython, aero-space and telecomm. manufacturers… • Few reports to date from Software Industry, computer companies • SOME COMMENTS… • “why not use dumb and dumber?” • “the CMM 3+ teams were the ones who got axed in the downsizings” • “CASE cast inadequate methodologies in concrete, are we doing this again with SPI?”
2. Arguments against • Considering Quality • Management and Process • Improvement as panaceas(con’td) • PROCESS IMPROVEMENT… • Despite this… • I believe SPI and SPIN are very important, • In particular, SPIN is one ACS’ stars, and has my unequivacal support • (Karl Reed, Director, ACS CS & CE)
3. The role of skill in Software • Development • There are two essential pre-conditions for the execution of any task… • 1. A description of the task… • (sufficient to allow a person with the…) • 2.. Appropriate skill… • This includes knowledge of appropriate techniques, ability to use appropriate tools, where these exist. • Carollories… • C1. The completion of a task is • proof of 1. and 2. above, • C2.. Skills can exist and be • acquired even when not • codified and be lost. • C3. Lack of determinism in • process is due to the absence • of the above. (Every project • becomes a learning experience)
3. The role of skill in Software Development(cont’d) TYPES OF SKILL AND KNOWLEDGE (not complete) THE KABASPP DOMAINS… a) Application Domain: the physical laws, organizational structures, procedures etc which govern the software artifact to be produced. b) Application Solution Domain: the collection of machine executable descriptions (algorithms) which make it possible to realise the application as software. c) Development Environment Domain: the complete set of tools, techniques and methods used to both develop elements of a) and b), and to realise them as software. d) Run Time Environment Domain: the set of characteristics, relating to the particular machine environment under which the software must run. e) Managerial Domain: the techniques necessary to plan, estimate and manage the project.
3. The role of skill in Software Development(cont’d) TYPES OF SKILL AND KNOWLEDGE (not complete) THE IMPLEMENTATION AND DESIGN KNOWLEDGE… a) Implementation: techniques for re-use , re-engineering, maintenance, “surgical” modification of systems, scavanging, enhancement, “evolving systems”… b) Component and Structural Technology: specific algorithms, architectures, c) Isomorphisms: interchangeble domains -solutions, re-usable systems, all-embracing solutions.
4. Programs for Skill Improvement TAILORED TRAINING PROGRAMS ADDRESSING PARTICULAR SKILL DEFICIENCIES… HUMPHREY’S PERSONAL PROCESS MODEL… TECHNOLOGY EXCHANGE AND TRANSFER WITHIN ORGANISATION… “BEST PRACTICE” RECOGNITION PROGRAMS… ASSESSMENT OF SKILL ACQUISTION TAKE LEARNING EXPERIENCES OUT OF PROJECT IMPLEMENTATION…