180 likes | 306 Views
Project Resource Planning. Key Software Project Resources: “Human” Resource “Methodologies and Processes” Resources “Tools and Equipment” Resources. 1. Human Resource. How Many People? What Attributes or What Type of people? Technical Skills Experience Level Non-technical Skills
E N D
Project Resource Planning Key Software Project Resources: • “Human” Resource • “Methodologies and Processes” Resources • “Tools and Equipment” Resources
1. Human Resource • How Many People? • What Attributes or What Type of people? • Technical Skills • Experience Level • Non-technical Skills • Personal Character Attributes • When scheduled to be on-board? • Go back to the initial schedule derived from WSB
Schedule “Evolved from WBS” Choose Specific # of Resources Resp. May June July Tasks Req 1 Design 2 Code 2 Test 1
Consider the People Responsibility Column in Schedule • How Many? • Start with the initial estimate and assumption for each major task listed. • What Attributes? • Based on task type, specify the: • required technical skill • required experience • required non-technical skills • required temperament and personal traits • When ? • Utilize the initial schedule layout and estimate the timing
from schedule - - -Expressing the “People Needs” Skilled Personnel May June July Req Analyst 1 2 Designer Programmer 2 1 Tester Assuming that you agree with testing schedule
“Sample” Skill Descriptions • If the Organization already has skills and level descriptions, then use them • Brief Examples • Requirements Analyst : ‘j’ application domain knowledgeby education or ‘x’ years of experience in the domain ‘j’; technical skill knowledge by education or ‘y’ years of experience; ‘z’ years of prior experiencein performing the requirements analysis task; good written and verbal communications skills; disciplined work habits; can travel 75% of time, etc. • Depending on the ‘x’, ‘y’, ‘z’ and other information the requirements analyst may be classified as a senior, normal, or junior level; one may use the levels once they are defined and agreed upon. • Programmer: ‘B-language’ development environment skills by education or by ‘x’ years of experience; ‘j’ application domainknowledge by education or by ‘y’ years of programming in ‘j’ application domain area; good written communications skill; high energy; can work excessive overtime, etc.
If You Know the Individual Resources,Start with them ------ Skilled Personnel May June July Req Analyst: - B. Sam Designers: - T. Book - M. Soso recruiting time Programmers: - new hire - new hire What do we do with this time? Don’t need this much time. Tester: - B. Sam
Perhaps We Can Re-consider ? Skilled Personnel May June July Req Analyst: - B. Sam Designers: - T. Book - M. Sosa recruiting time Programmers: - new hire - new hire Tester: - M.Sosa Pick the next best qualified candidate ?
Making Trade-off (No Candidate is “Perfect”) • What is/are the most important attribute(s) required to perform the task? • Does the candidate meet it/them? • What is/are somewhat important attribute(s) needed to perform the task? • How many of them does the candidate meet? • What are some example (criteria) of trade-off? • Financial cost versus qualifications (think about the project goals) • Person’s desire /career aspirations versus project goals (think about the goals of project and the person) • **Can anything else be modified --- such as task sequence or dates ? **
Project Manager’s “In-sourcing” or “Out-sourcing” Decision Making Considerations • Large projects with enormous amount of effort and time required in HR recruiting and all the follow-on activities • The amount of lead time available for recruiting (short project schedule) • Amount of control over the resources • Amount of Cost Savings • Information Security and Proprietary Information Ownership • Skills • Available Infrastructure (process, tools, timing) has been over-emphasized & over-valued sometimes comes back to the bite us
2. Process and Methodologies • Process describes a set of activities or tasks to accomplish something. • List the activities • Sequence the activities (including parallel activities) • entrance and exit criteria of the activities • Methodology describes theprinciples and rules to perform and accomplish an activity • description of the principle : the intended “goals” of the methodology and why the procedure will achieve the goals • description of the rules : the actual sub-steps that make up the procedure (Most do not have this)
Process and Tasks • What is the overall process? • What tasks should be included? And why? • Have we already considered this before and may have an existing process that may be applied • Decision making is based on • goal • type of project • current state • For each of the task • What is/should be the methodology? And why? • Decision making is based on • goal • type of project • current state
Process: Major Tasks for Software Projects • They all seem to have: • Requirements Processing • Design • Implementation • Testing • Packaging and Releasing • Does this mean every project uses the same process ? • We need to look deeper • ****When do we have to have this decision? ***** • Before we embark on the project; before we embark on the task! Where is the attractiveness of Waterfall? and of Agile? ---- of Spiral?
Methodology to Accomplish Major Task • Example: i) Requirements Gathering, ii) Analysis/Validation, and iii) Representation is something we have talked about in class and in an earlier chapter: • how much of the steps do we need to complete for the software project at hand --- based on • goal • what we may suspect as possible problem areas * Some of the students in the capstone course are “experiencing” the challenge of competitive analysisas part of requirements processing --- and they have never worried abut this type of activity
Methodology to Accomplish Major Task • Another Example: What about Implementation Task?: • Should we have programming standards? • Who should develop one if we need one? • documentation convention • naming convention • technique convention : (size, control structure, data exchange, UI screens, etc.) • How should it be monitored? • Should there be a prescribed coding language? • Is unit testing part of implementation? • Should unit testing follow a guideline/template? • Who should develop one if needed? • Should there be code inspection ? • Answer these by asking what are my goals ? • Quality • Maintenance needs • Etc. Do I need to worry if the project size is small ?!
3. Tools and Equipment • General: • Hardware • personal (desktop/laptop)computers • printers • servers • Communications Connections • intranet • internet • Software • operating system • database • office package • communications package
Software Project Related Tools • Tools for specific tasks • requirements documentation and analysis • design documentation and analysis • prototyping and modeling • editors, compilers , debuggers and development kit • test script development and execution • performance testing and analysis • key stroke capture • execution monitor and coverage • packaging diskettes and CD • builds • Cross-Project tools • configuration management • statistical analysis • back-up / recovery • project control and management
Note that in “Your (this class’s)” case(How would Resource Management Work?) • You have an end date that’s already fixed. • You must lay out the schedule based on that fixed length • You also know how many people (and their skills) are on your staff (another fixed parameter) • So you only have a few things to play with - - - namely : • Functionality • Process • Technology/Methodology • People assignment (can’t really outsource either! ) • Goals • Tools