Presentation is loading. Please wait.

Presentation is loading. Please wait.

Principles of Software Engineering Management Lecturer: Dr. Ernest Cachia This document © 2003, 2004 - Dr. Ernest Cachia.

Similar presentations


Presentation on theme: "Principles of Software Engineering Management Lecturer: Dr. Ernest Cachia This document © 2003, 2004 - Dr. Ernest Cachia."— Presentation transcript:

1 Principles of Software Engineering Management Lecturer: Dr. Ernest Cachia This document © 2003, Dr. Ernest Cachia

2 (C) Dr. Ernest Cachia Slide: 2 Why Manage? Assumption 1: Tools can be used in any number of ways Assumption 2: The way tools are used can impact positively or negatively on their efficiency Assumption 3: The way tools are used is entirely dependant on the way they are managed Therefore, a structured approach to tool management is of paramount importance.

3 (C) Dr. Ernest Cachia Slide: 3 What is to be Managed? This depends on the nature of what is being developed. Examples: Retail outlet: stock management, accounting, etc. Vehicle repair: job flow, stock management, etc. University: lecture management, staff activity, admin., etc. Hospital: doctor allocation, stock management, admin, etc. In software development: project management

4 (C) Dr. Ernest Cachia Slide: 4 Project Management First of all, what is a project? In general a planned activity – however, this is a very subjective definition Project properties (i.e. what makes an activity a project) Is made up of, or contains some, non-routine tasks Can include novel approaches and/or techniques Necessitates a degree of planning The work involved is phased Milestones, deliverables and timescales are set throughout The work involved is of a commissioned nature Amalgamates and brings to focus various specialities and/or cultural backgrounds Work resources are pre-defined The work involved is large-scale and/or high-sophistication [Loosely adapted from Hughes]

5 (C) Dr. Ernest Cachia Slide: 5 A Software Project Project System1System 2 Subsystem 1Subsystem 2 Module 1 Module 2 … Generic software project structure …......

6 (C) Dr. Ernest Cachia Slide: 6 Activity 1 Carry out Activity 1 from handout EC1

7 (C) Dr. Ernest Cachia Slide: 7 A s/w Project vs. any Project In the case of a s/w project… –Progress is not always visible –Abstraction plays a central and permeating role –In terms of cost, s/w products are more complex than traditional one –Deal in subjectivity –Have to contend with conflicting or ill-formed requirements –Is always expected to accommodate the physical components of a system (i.e. is subject to change)

8 (C) Dr. Ernest Cachia Slide: 8 What Do We Manage in a Project? Feasibility study Plan Project execution How do we do it? Is it worth doing? Do it!

9 (C) Dr. Ernest Cachia Slide: 9 Management Responsibilities (1/3) Planning Deciding what to do by defining tasks, milestones, products and meta-products Scheduling Deciding when things happen by setting deadlines and sequences Monitoring Checking on progress by maintaining watch on quality, timeliness, and cost

10 (C) Dr. Ernest Cachia Slide: 10 Management Responsibilities (2/3) Directing Issuing instructions to guide development along agreed-upon lines and standards Controlling Taking action whenever necessary to correct what’s being monitored if it strays from the set parameters Organising Making arrangements to organise available resources to promote efficient development

11 (C) Dr. Ernest Cachia Slide: 11 Management Responsibilities (3/3) Staffing Populating project development by selecting appropriately qualified and suited people and delegating them to the right jobs Innovating Being able to “break the mould” whenever necessary to come up with new approaches and solutions Representing Offer good project PR (or more correctly CR)

12 (C) Dr. Ernest Cachia Slide: 12 Activity 2 Carry out Activity 2 from handout EC1

13 (C) Dr. Ernest Cachia Slide: 13 The Project Control Cycle The real world Data collection Data processing Making decisions/plans Implement ing Define objectives Modelling From Hughes

14 (C) Dr. Ernest Cachia Slide: 14 Project Planning, Scheduling and Control Software development is a set of technical activities which should be managed if they are to be effective. Client Technical activities Management activities Management Developers products reports controls stats analysis products requirements conduct “meta” data

15 (C) Dr. Ernest Cachia Slide: 15 Project Planning Scope of project Project estimates Effort Cost Time Human resources Resource management Risk analysis Scheduling issues Staff organisation All the above should be continuously monitored because project information is constantly being received as development progresses.

16 (C) Dr. Ernest Cachia Slide: 16 Other Project Plans Quality Configuration management Staff development Exception Maintenance

17 (C) Dr. Ernest Cachia Slide: 17 Project Planning Techniques Option Analysis (Goal aspect) Weighing various (sometime conflicting) goals against each other. Risk Management (Problem probability aspect) Determining, analysing, planning for, and controlling unwanted (detrimental) events. Milestone Setting (Product aspect) Determination and setting of (meta) deliverables. Scheduling (Activity/Timing aspect) Setting conditions for task activation and termination.

18 (C) Dr. Ernest Cachia Slide: 18 Aside on Risk Management Risk identification –Define the risk Probability (chance) of occurrence –Subjective but can be based on solid experience Severity (developmental impact) –Should be clearly discernable and prognostic Manageable and mitigate-able –To what extent is it controllable?

19 (C) Dr. Ernest Cachia Slide: 19 Classic Project Planning Misjudgements Over optimistic schedule Weak monitoring Fall-back Staff augmentation (to a late project)

20 (C) Dr. Ernest Cachia Slide: 20 Common SE Risks (from Boehm, 1989) Personnel shortfalls Unrealistic schedules and budgets Developing the wrong software functions Developing the wrong user interface Gold plating Continuing stream of requirements Shortfalls in externally furnished components and tasks Real-time performance shortfalls Straining computer science capabilities

21 (C) Dr. Ernest Cachia Slide: 21 Process State - CMM Capability Maturity Model (CMM) 5 Levels: –Initial –Repeatable –Defined –Managed –Optimising Explained on next set of slides…

22 (C) Dr. Ernest Cachia Slide: 22 Repeatable Applies to: Requirements management S/w project planning S/w project tracking and oversight S/w subcontract management S/w quality assurance S/w configuration management

23 (C) Dr. Ernest Cachia Slide: 23 Defined Applies to: Organisation process focus Organisation process definition Training programme Integrated s/w management S/w product engineering Peer reviews

24 (C) Dr. Ernest Cachia Slide: 24 Managed Applies to: S/w quality management Quantitive process management

25 (C) Dr. Ernest Cachia Slide: 25 Optimising Applies to: Process change management Technology change management Defect prevention

26 (C) Dr. Ernest Cachia Slide: 26 More on The Techniques Separate slides outlining Gantt and PERT should follow

27 (C) Dr. Ernest Cachia Slide: 27 Managing People IS A VERY IMPORTANT MANAGEMENT ASPECT. People (HR) are a manager’s most valuable resource Is a major influence on project quality Is not a substitute for unqualified or not competent staff Can entail cultural issues Is a tricky business!

28 (C) Dr. Ernest Cachia Slide: 28 The Raw HR Management Objectives The “Taylorist” approach: Select Delegate appropriate people to appropriate activities (according to competences) Instruct Teach people the best (to your knowledge) methods of going about their activities Motivate Pay (in the original “Taylorist” theory) more money to the most hard-working people

29 (C) Dr. Ernest Cachia Slide: 29 The Human Psyche Basically the competence of the science of psychology How people work in groups is known as Organisational Behaviour (OB) Much research is done in OB due to the enormous influence the human state of mind has on a person’s efficiency and productivity Look for information on Donald McGregor’s “Theory X and Theory Y”

30 (C) Dr. Ernest Cachia Slide: 30 Before Starting to Manage your People… Understand the your people’s and organisational particularities and idiosyncrasies Understand each team member’s value (i.e. qualifications, experience and background – both professional and personal) Associate your people with the right work for them (i.e. Twaqqa lil-]add g]a`-`ajt!) Keep track your people’s morale and psyche just as you would the technical aspect All the above is collectively referred to as …

31 (C) Dr. Ernest Cachia Slide: 31 The “Project Culture” The Project Culture – which is heavily influenced by organisational culture “Culture” (in project management sense) can be seen as the modus-operandi of a particular collection of people working in close quarters towards a generally common goal. E.g. If all around is chaos, it would be difficult to instil a sense of discipline and ordered development in a team

32 (C) Dr. Ernest Cachia Slide: 32 Suss-out The Organisation’s Culture By asking yourself… 1.What development procedures and standards are generally used? 2.What is understood by a “successful project”? Do many of these happen? 3.What levels of confidence exist (towards managers, tools, methods, deadlines, etc.) 4.How are projects generally viewed by SEs? (i.e. level of interest, motivation, etc.)

33 (C) Dr. Ernest Cachia Slide: 33 Suss-out Each of your Members By asking yourself… 1.What’s the person’s formal educational background? 2.What’s the person’s job (project development) experience? 3.What’s the person’s age? (generation considerations) 4.What his/her character and personal background like? (strength/weakness considerations)

34 (C) Dr. Ernest Cachia Slide: 34 Emergent Cultural Roles We all consciously or sub-consciously tend to adopt a stance/role within a group – it’s only natural. Which one do you “slide” into?... Leader Listener Talker Complainer Naysayer (dejjem hemm xi problema) Expert (know-it-all - dominant) Charger (Jid]ol g]al kollox a-la g]ajnu) Plodder [Categories based on Henry]

35 (C) Dr. Ernest Cachia Slide: 35 Typical SE Roles Requirements Engineer (Req. Eng.) Systems Analyst Lead Designer Designer Coder Tools Expert Quality Assurance Engineer (QA Eng.) Client Liason

36 (C) Dr. Ernest Cachia Slide: 36 Another View of SE Roles (Taken from Sheard, S. A., Software Productivity Consortium, Virginia, USA, 1996) Classified Ads SECA CoordinatorCO Process EngineerPE Information ManagerIM Technical ManagerTM Customer InterfaceCI Glue Among SubsystemsG Logistics/Ops EngineerLO Validation/Verification Eng.VV System AnalystSA System DesignerSD Requirements OwnerRO Short NameAbbr.

37 (C) Dr. Ernest Cachia Slide: 37 What can one Conclude…? Different opinions exist regarding SE roles! In my opinion: Correctness (or not) of SE roles can only be judged in relation to the local culture. (Please remember what is meant by “culture” – not culture in the sociological sense)

38 (C) Dr. Ernest Cachia Slide: 38 Roles as determined In your organisation Now subject to additional managerial influence (i.e. scheduling, measured, represented, etc.) Matching People to Roles Educational Background Experience (on projects) Personal & Personality Traits Professional preferences Age group (generation) Activity 1 Activity 2 Activity n Recruitment Process Assigned Task 1 Assigned Task 2 Assigned Task n......

39 (C) Dr. Ernest Cachia Slide: 39 Please Note that… Software development is one of those areas where gender issues and natural distinctions can never be construed to effect the role-matching process. Any form of gender distinction in this field can be viewed as gender discrimination. Remember to be fair and open-minded. (Din tg]odd kemm g]all-ir[iel u kemm g]an-nisa)

40 (C) Dr. Ernest Cachia Slide: 40 The Recruitment Process In practice is generally an organisational- level responsibility (not a project-managerial one) Can offer sparse choice Can be of a “pre-decided” nature Can be of a transitory nature Can be deceptive (depending on time and effort dedication) Can be unfair (depending on competencies of the recruiters)

41 (C) Dr. Ernest Cachia Slide: 41 What Should Not Influence the Recruitment Process (1/2) Race issues Gender issues Social status/background issues (However, in certain cases, monitoring after recruitment is a good idea) Generation issues (Although this factor can indirectly impinge on areas of knowledge, and therefore, on recruitment decisions) Personal prejudices

42 (C) Dr. Ernest Cachia Slide: 42 What Should Not Influence the Recruitment Process (2/2) Physical disability issues (Mental disabilities do not necessarily preclude people from software development. However, this remains a highly selective issue) Hearsay or conceived rumours Appearance and Mannerisms (For some conceived roles this could however, be a serious issue. If so, clarify during the recruitment process)

43 (C) Dr. Ernest Cachia Slide: 43 What Should Influence The Recruitment Process Primarily: Actual knowledge and skills Partially: Formal qualifications Impressive (or not) CVs Listed experience “Wideness of spread” of posts held Spread of knowledge References Suitable Eligible Ideal

44 (C) Dr. Ernest Cachia Slide: 44 Structuring Recruitment (1/3) If you have the luxury (i.e. “carte-blanche”) to do so, then… –Create the actual job specification –Create the “virtual profile” of the ideal person who would fit the post –Prepare a realistic and descriptive public announcement –Get the list of applicants (to have a feel of the level of interest and therefore get some feed-forward on how to behave in during the interviews) More…

45 (C) Dr. Ernest Cachia Slide: 45 Structuring Recruitment (2/3) –Get and examine applicants’ CVs –Hold interviews (applicants to appear in person, avoid phone, video or other remotely-held interviews) –Follow up any references of potential choice applicants –Inform of final decision, or short-list applicants and hold a second interview session –Formulate letter/s of acceptance –Meet, introduce and induce the new person/s

46 (C) Dr. Ernest Cachia Slide: 46 Structuring Recruitment (3/3) Finally… In some cases interviews may include (or be supplemented by) aptitude and/or psychometric tests. These type of tests require extra effort to create and organise, but can yield a lot of insight into an applicant’s aptness and suitability for the job. This is the subject of debate amongst project managers.

47 (C) Dr. Ernest Cachia Slide: 47 Activity 3 Carry out Activity 3 from handout EC2

48 (C) Dr. Ernest Cachia Slide: 48 Dealing with Your Own People Existing staff generally falls into one of two categories: 1.Good and improvable 2.Already there! Both types of staff need to be managed, with one difference – the former could be made better before being managed.

49 (C) Dr. Ernest Cachia Slide: 49 Making Good People Better Make people think of professional self- betterment as one of the aims of the project they are working on Allow people to set their own improvement goals Ask people to manage their own time (for their individual activities) Determine, and distinguish between, temporary short-term and longer-reaching long-term staff professional development goals

50 (C) Dr. Ernest Cachia Slide: 50 Managing Good People Monitor and assess the process and product – NOT the people Conduct without interfering Make use of your knowledge – NEVER your position Act as a conduit for your people’s effort – NOT as an obstacle or critical filter Forget the trapping of managerial authority (those are always present anyway) and concentrate on project and people needs Be always there for your people without seeming intrusive

51 (C) Dr. Ernest Cachia Slide: 51 The Attributes of a Good Manager Confidence both in yourself and your people Don’t allow personal relationships to interfere with work relationships Admit that you too can make mistakes and be prepared to have them corrected through your people’s scrutiny Be punctual and your people will follow suit Set positive examples Know your people and tap all their talents

52 (C) Dr. Ernest Cachia Slide: 52 In a Nutshell Therefore, in a nutshell, management of people in an SE project is… Managing group effort and individual cultural attributes Careful management of highly motivated, intelligent and responsible people Managing your people’s professional development Setting the right examples and standards, and elevating project and team needs above everything else

53 (C) Dr. Ernest Cachia Slide: 53 Activity 4 Carry out Activity 4 from handout EC2

54 (C) Dr. Ernest Cachia Slide: 54 Working in Groups This is what software engineers end up doing most of the time. Group effectiveness (or ineffectiveness) will dictate the outcome of any project Managing how a group works is not a trivial affair and entails many aspects The project manager has considerable, but not absolute, influence on group work

55 (C) Dr. Ernest Cachia Slide: 55 Group Building and Management Aspects Individual characteristics of group members Group cohesion Group communication Group organisation This was already mentioned and discussed earlier on. Will be discussed shortly

56 (C) Dr. Ernest Cachia Slide: 56 Group Management Aspects Explained Separate slides will follow

57 (C) Dr. Ernest Cachia Slide: 57 Group Evolution Cycle These are the six basic group life stages: Formative Hectic (aka Storming) Normative Productive (aka performing) Introspective (my personal addition to the original five) Wind-up (aka Adjournment) [based on Tuckman and Jensen]

58 (C) Dr. Ernest Cachia Slide: 58 Activity 5 Carry out Activity 5 from handout EC2


Download ppt "Principles of Software Engineering Management Lecturer: Dr. Ernest Cachia This document © 2003, 2004 - Dr. Ernest Cachia."

Similar presentations


Ads by Google