PROJECT PLANNING AND MANAGEMENT PROGRESS TRACKING • Customer’s Concerns – Confidence in a developers skill, and that they are able to meet the requirements to complete desired deliverables. • Project Schedule – A description of the expected development cycle for a project. Consisting of phases, steps, and activities. In the Agile methodology steps are referred to as sprints. A collection of tasks to be completed in a small predetermined time such as a week. PROJECT PHASES, STEPS, AND ACTIVITIES • Phases are smaller analytical breakdowns of an entire project that consist of major features from a higher level. Typically related features will be completed in a phase. • Steps a more detailed systematic breakdown of how to realize a phase in n steps. Think divide and conquer. • Activities are the smallest most intimate breakdown of a phase. They are the way in which a step is actually put into code. Once completed they become a milestone. PROGRESS TRACKING WITH AN ACTIVITY GRAPH An Activity Graph is a visual and organized way to track progress on a project. Using table 3.2 provided in the textbook as an example. An equivalent non visual representation for Agile would be a Kanban board. ESTIMATING COMPLETION W/ A CPM A chart represented with estimated completion times of project components, and the earliest they can begin and end without impacting progress on other phases or steps for each activity is known as a Critical Path Method (CPM). ESTIMATING COMPLETION WITH AN ACTIVITY GRAPH + DURATION Similar to a CPM Activity Graphs with Duration make use of duration time in their representation. Otherwise are nearly identical to an activity graph. TOOLS TO TRACK PROGRESS • Resource Histogram represents the current load of resources. In the case of development this means the utilization of developers. A resource histogram tracks three variables: load, under-load, and overload where load is the ideal point between overload and under-load of developers. • Expenditure Graph is concerned with planned and actual expenditures for project. Two line graphs for each variable. TOOLS TO TRACK PROGRESS – GANTT CHART A Gantt chart is a way of showing the activities in parallel with completion shown in color. This shows which activities can be completed in parallel and which cannot. PROJECT PERSONNEL Deciding on the correct personnel for a project is often the most challenging aspect of a project. A team must be able to act like one and compliment each other or else a project will never be completed. Project managers are left with a decision of who is the best fit based on the following criteria: (but not limited to) • Project size, personnel experience, and expertise • Creating an environment in which personnel freely converse. Each additional person to a team adds n(n-1)/2 lines of communication. Since a team will consist of multiple people working on the same task communication is crucial to success. PROJECT PERSONNEL CONT. Last but not least for choosing personnel work styles have a huge factor. Each person on a team should be able to contribute something that another may not be able to or at least offer a different perspective to a solution. For example one may be an Intuitive Introvert where they might be creative, but only after they have collected enough data to be so. To their compliment is the rational extrovert.Who may run by gut feelings. PROJECT ORGANIZATION • Chief Programmer Team is where one person is responsible for project development, and all other team members report to them. • Another way to organize a team is through the Egoless Approach where unlike a chief programmer team all are equal. • Sometimes a combination of the two is better. For example a team where the programmers are free to do as they need and work together egolessly, but still report to a higher up. EFFORT ESTIMATION • One of the most important factors of a project is cost. Will it even be worth to complete? Is it feasible as a business model? There are many costs that a project manager must be aware of before starting a project such as: • Facilities • Staff • Methods • Tools (Software included) • Effort (Often the most expensive) EFFORT ESTIMATION Effort is the staff-days estimated for a given project, and it’s estimation can be tricky at times, but there are several methods for estimating it’s cost. • Expert Judgement based on a managers experience with similar projects. • Delphi Technique makes use of several experts estimations and takes average. • Wolverton Technique uses a chart that categorizes type of software and difficulty. EFFORT ESTIMATION CONT. • Algorithmic Methods express the relationship between effort and it’s influences. Described by equations. • Constructive Cost Model (COCOMO) makes use of historical and current project characteristics to form a linear equations for effort applied, development time, and people required.Which is based on importance of a project factor. • Machine Learning use of a network consisting of neurons to predict cost and effort of future projects. Often used as a representation of various activities involved in producing inputs and outputs, and then computing a weighted sum. RISK MANAGEMENT • Sources of risks are from one of two major categories: Generic Risks which are common, such as misunderstanding the project requirements, loss of personnel. Project Risks are from vulnerabilities in the project. Such as purchasing software to use for your project that is not yet complete and not guaranteed. • Risk exposure the quantification of the effects of a risk by multiplying the risk impact by it’s probability of occurring. RISK MANAGEMENT CONT. • Risks occurring is not always the end of the road. There are steps in which one can take to avoid, and recover from them. • Top ten risk items 1. Personnel shortfalls 2. Unrealistic schedules and budgets 3. Developing the wrong features 4. Developing the wrong user interface 5. Continuing a stream of requirement changes 6. Shortfalls in externally performed risks 7. Shortfalls in externally furnished tasks 8. Shortfalls in externally furnished components 9. Real-Time performance shortfalls 10. Straining computer science capabilities PROJECT PLAN A project plan should contain the following items • • • • • • • • • configuration management plan documentation plan data management plan resource management plan test plan training plan security plan risk management plan maintenance plan • • • • • • project scope project schedule project team organization technical description of the proposed system project standards, procedures, and proposed techniques and tools quality assurance plan PROJECT PLAN CONT. • Technical Items focus on issues anticipated on how development will proceed. Including the following: • Algorithms • Tools • Review or inspection techniques • Coding languages • Design languages or representations • Testing techniques PROCESS MODELS AND MANAGEMENT • Enrollment Management is the strategic enrollment of similar programs as they share common goals, and delegation of tasks and accountability to task managers. • Enrollment Management Model • Establishing an appropriately large shared vision • Delegating completely and eliciting specific commitments from participants • Inspecting vigorously and providing supportive feedback • Acknowledging every advance and learning as program regressed PROCESS MODELS AND MANAGEMENT CONT. • Accountability Modelling is the combining of individuals from different functional groups into one group with different channels of accountability. • Stakeholders are anyone affected by the result of the project. Bad or good. • Team a collection of people responsible for producing a product. ACCOUNTABILITY MODEL • The accountability model shows the exchanging of accountings, and consequences between shareholders, and the team. While working towards a result. ACTIVITY ROADMAP • In the following activity roadmap each line represents an activity, and each line is assigned a method for reporting progress. The pointy side of the bar shows when detailed planning should be done. The today line is self explanatory, but shows current status. EARNED-VALUE CHART • An earned value chart shows the relationship between actual results versus planned results, and shows data at a current day. PROCESS MODELS AND MANAGEMENT • Life-Cycle Objectives make sure that stakeholders agree with the systems goals. • Life-Cycle Architecture defines both the system and software architectures, and components. • Life-Cycle Capability measures the readiness of the software itself on the systems it will be used. WIN-WIN SPIRAL MODEL Innermost part of the spiral is the beginning. It starts with identifying next level stakeholders, then goes to category two, three, etc.