Presentation on theme: "Project Resource Planning Key Software Project Resources: 1.“Human” Resource 2.“Methodologies and Processes” Resources 3.“Tools and Equipment” Resources."— Presentation transcript:
Project Resource Planning Key Software Project Resources: 1.“Human” Resource 2.“Methodologies and Processes” Resources 3.“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” Tasks Resp.MayJuneJuly Req Design Code Test Choose Specific # of Resources
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 MayJuneJuly Req Analyst Designer Programmer 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 knowledge by education or ‘x’ years of experience in the domain ‘j’; technical skill knowledge by education or ‘y’ years of experience; ‘z’ years of prior experience in 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 domain knowledge 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 MayJuneJuly Req Analyst: - B. Sam Designers: - T. Book - M. Soso Programmers: - new hire Tester: - B. Sam recruiting time What do we do with this time? Don’t need this much time.
Perhaps We Can Re-consider ? Skilled Personnel MayJuneJuly Req Analyst: - B. Sam Designers: - T. Book - M. Sosa Programmers: - new hire Tester: - M.Sosa recruiting time Pick the next best qualified candidate ?
Making Trade-off (No Candidate is “Perfect”) 1.What is/are the most important attribute(s) required to perform the task? –Does the candidate meet it/them? 2.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 the principles 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 analysis as 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