CS101 Introduction of computing

Size: px
Start display at page:

Download "CS101 Introduction of computing"

Transcription

1 CS615 - Software Project Management Lecture Wise For Final Term Exam Preparation By Virtualians Social Network Lecture No. 23 How can size & efforts be estimated? The size of the software is estimated using FP (Function Point Analysis) and KLOC etc. What are the task dependencies? Task Dependencies Task Dependency is a relationship in which a task or milestone relies on other tasks to be performed (completely or partially) before it can be performed. This is also referred to as a logical relationship. What is Weak Matrix Organization Structure? When a project manager is assigned to oversee a group that is organized in this manner, it can be a complicated task. The project manager has to facilitate all aspects of the project. They actively plan and assess the project's progress, but don't really have any sway when it comes to the employees. Therefore they must rely on the tools available to the actual managers to really control the workers. Lecture No. 24 What are the Supporting details as input to SDP execution?

2 Project plan development uses the outputs of the other planning processes, including strategic planning, to create a consistent, coherent document that can be used to guide both project execution and project control. This process is almost always iterated several times. For example, the initial draft may include generic resource requirements and an undated sequence of activities while the subsequent versions of the plan will include specific resources and explicit dates. In which stage the Change requests can be applicable? Requests for changes are common with all projects. However, the timing of the change for requests is critical. This is because an untimely change adversely, impacts the cost of the software project. For example, a change request during the requirements gathering stage has a relatively low impact on costs. On the other hand, a change requests during, the software construction stage can be extremely expensive to incorporate. The software project manager must decide with the customer upon a set of objectives that must be achieved at the end of the project. In addition, the project manager and the customer must decide on a specific phase, beyond which only critical change requests are accepted. Lecture No. 25 What is the purpose of WBS? WBS is a definition of a project in terms of its work or a deliverable-oriented grouping of project elements that organizes and defines the total scope of the project. Each descending level represents an increasingly detailed definition of the project s work. It s an outline of the work of the project, not the work itself, created by those doing the work that may include all functional stakeholders. What is Balanced matrix organizations?

3 There are a wide variety of matrix organizations that possible. The goal for each of them being that they struggle to balance the power between each manager's functional needs. A method of balancing each group is necessary. One group of managers will control the other group. This will be unhealthy for both the project and the overall organization, even if individual aspects of an organization or isolated projects may continue to succeed for a time. For example, a singularly controlling project manager might dominate a functional manager and force them to always relinquish the most valuable team members with which to complete the projects.. What is Y2K? The Year 2000 problem (also known as the Y2K problem, the Millennium bug, they2k bug, or simply Y2K) was a problem for both digital (computer-related) and non-digital documentation and data storage situations which resulted from the practice of abbreviating a four-digit year to two digits. Lecture No. 26 What is RMMM and how it is developed? RMMM stands for the Risk Mitigation, Monitoring, and Management Plan. Risks are potential problems that might affect the successful completion of a software project. Risks involve uncertainty and potential losses. Risk analysis and management is intended to help a software team understand and manage uncertainty during the development process. The important thing is to remember that things can go wrong and to make plans to minimize their impact when they do. The work product is called a Risk Mitigation, Monitoring, and Management Plan (RMMM). Reactive Risk Management

4 project team reacts to risks when they occur mitigation plan for additional resources in anticipation of fire fighting fix on failure resource are found and applied when the risk strikes crisis management failure does not respond to applied resources and project is in jeopardy Proactive Risk Management - formal risk analysis is performed - organization corrects the root causes of risk examining risk sources that lie further the bounds of the software developing the skill to manage change THE RMMM PLAN A risk management strategy can be included in the software project plan or the risk management steps can be organized into a separate Risk Mitigation, Monitoring and Management Plan. The RMMM plan documents all work performed as part of risk analysis and are used by the project manager as part of the overall project plan. Risks Category Probability Impact RMMM Plan A plan can now be developed to manage those risks with high probability and high impact. After risks have been categorized, prioritized and their probability of occurrence determined, action should be taken to control these risks, which involve mitigation and monitoring these risks.

5 The key steps for risk control are as follows:- 1. Risk: Overly Optimistic Schedule Risk Mitigation Use available Estimation tools to find the rough schedule estimate. Have best case, worst case and average case times on each project activity. This would give an idea on the confidence factor on estimates. Risk Monitoring and Management Keep track of schedule steps. Modify the estimates as the project develops and it becomes clearer as the development phases progress. 2. Risk: Wrong estimate of size and efforts Risk Mitigation Quantify the size and schedule using ranges, so that the schedule estimate is not treated as very precise and gives sufficient padding for schedule estimates. Efforts of team members should be kept track of so that they are not overly burdened. Risk Monitoring and Management

6 Keep track of project by module size and complexity. Keep track of number of man hours spent. Modify the estimates as the project develops and it becomes clearer as the development phases progress. 3. Risk: Requirements keep on changing Risk Mitigation Study of project in detail and coming up with a comprehensive and detail list of requirements. Understand the problem definition precisely so that there is smaller probability of changes later. Risk Monitoring and Management Keep track of progress and check if something had been forgotten when the requirements were laid down. Incase of change of requirements; follow a reverse engineering approach so that the change reflects in all the work performed till date. 4. Risk: Error prone modules require more testing and implementation work

7 Risk Mitigation 1. Involve all team members in a joint assignment to nurture the understanding among team members. 2. Discuss each others problems and try to solve them through mutual consensus. 3. Risk Monitoring and Management 4. Perform regular reviews to check if the productivity is being affected. Lecture No. 27 Differentiate Functional Structure, Projectized and Matrix Structure. Differentiating Functional, Matrix, and Projectized Organizational Structures Functional Organizational Structure A functional organization structure is a classical hierarchy in which each employee has a single superior. Employees are then organized by specialty and work accomplished is generally specific to that specialty. Communication with other groups generally occurs by passing information requests up the hierarchy and over to the desired group or manager. Of all the organizational structures, this one tends to be the most difficult for the project manager. The project manager lacks the authority to assign resources and must acquire people and other resources from multiple functional managers. In many cases, the project's priority is viewed lower than operations by the functional manager. In these organizations, it is more common for the project manager to appeal to the senior management to resolve resource issues. Matrix Organizational Structure A matrix organization is a blended organizational structure. Although a functional hierarchy is still in place, the project manager is recognized as a valuable position and is given more authority to manage the project and assign resources. Matrix organizations can be further divided into weak, balanced, and strong matrix organizations. The difference between the three is the

8 level of authority given to the project manager (PM). A weak matrix gives more authority to the functional manager (FM), whereas the strong matrix gives more power to the PM. As the name suggests, thebalanced matrix balances power between the FM and the PM. Projectized Organizational Structure In a projectized organization, there is no defined hierarchy. Resources are brought together specifically for the purpose of a project. The necessary resources are acquired for the project, and the people assigned to the project work only for the PM for the duration of the project. At the end of each project, resources are either reassigned to another project or returned to a resource pool. There are many subtle differences between each type of structure. Table compares the various organizational structures. Comparison Table for Organizational Structures Functional Weak Matrix Balanced Matrix Strong Matrix Projectized Description Traditional organization with a direct supervisor. The PM and FM share responsibility, with the FM having more authority. The PM and FM share responsibility, with each having equal authority. The PM and FM share responsibility, with the PM having more authority. Projects do not exist under functional departments. The PM has sole management authority. Authority of project manager Very low. Low. Low to medium. Medium to high. High. Resource availability Very low. Low. Low to medium. Medium to high. High. Project manager involvement Part-time. Part-time. Full-time. Full-time. Fulltime. Staff involvement Part-time. Part-time. Part-time. Full-time. Full-time. Advantages The FM holds accountability for the project. The PM gets some authority to manage the project. The PM and FM share the responsibility of the project. The PM gets more authority to assign resources and manage the project. The PM has full authority to staff and manage the project.

9 Disadvantages The PM holds little or no authority. The FM can see the PM as a threat and cause conflict. The PM and FM can be confused about who manages what. The FM may feel out of the loop. The PM holds accountability for the project. Lecture No. 28 What is connected workplace? A connected workplace such as an office or factory where people are employed to do their work individually and together. This work place lies in same building or in different locations. Here in this assignment no.03, you have to provide the solution to minimize the real estate cost and improve productivity. what sort of Risks Perceived in a Project? Risks that can arise in projects could be Staff (People) related Risk, Development environment risk, Business impact Risk, risks relate to technology, same as there could be many risks that can arise during the project depends on the working environment Lecture No. 29 What is Delays Estimation? Estimate starts with a work breakdown structure (WBS). A WBS is a list of tasks that, if completed, will produce the final product. The way the work is broken down dictates how it will be done. There are many ways to decompose a project into tasks. The project can be broken down by feature, by project phase (requirements tasks, design tasks, programming tasks, QA tasks, etc.), or by some combination of the two. Ideally, the WBS should reflect the way previous projects have been developed. Taking one week longer than you planned to complete an activity may cause you to miss intermediate milestones (and cause the personnel waiting for the results of that activity to sit idle). However, the effect on the project is even greater if the delayed

10 activity is on your project s critical path, which means the weeklong delay on that one activity also causes a weeklong delay for your entire project. Without delays the project costs 287,000 and takes 116 days. If estimated durations for tasks. Contractor appointed, Develop project charter and Coding are delayed by 5 days each, following implications will be expected: 1. The project duration becomes 15 days longer, or 131 days 2. The project delivery date becomes Monday, 8th May The project costs 38,000 more, or 325,000. All these tasks (Contractor appointed, Develop project charter and Coding) belong to critical path. If they are delayed by 5 days each, the whole project will be delayed for 15 days. Additional 38,000 occurs because Project Manager and Senior System Analyst work additional 10 days for tasks Contractor appointed and Develop project charter; and three Programmers work 5 days for task Coding. What the techniques should be followed while estimation process? Estimation Process Several methods (if possible) should be used during the software estimation process. No one methodology is necessarily better than the other, in fact, their strengths and weaknesses are often complimentary to each other. It is recommended that more than one software estimation methodology be used for comparison and verification purposes. One method may overlook system level activities such as integration, while another method may have included this, but overlooked some key post-processing components. Five of the methods discussed in Dr. Boehm's book Software Engineering Economics are: analogy, bottom-up, top-down, expert judgment, and algorithms (parametrics). These methods are often used in conjunction with each other and have been used for many years by managers of software projects without the use of any formal software estimation tools.

11 Software estimation tools have only recently been developed which incorporate these methods, and many incorporate multiple methodologies. Analogy Method Estimating by analogy means comparing the proposed project to previously completed similar projects where project development information is known. Actual data from the completed projects are extrapolated to estimate the proposed project. Estimating by analogy can be done either at the system level or the component level. The main strength of this method is that the estimates are based on actual project data and past experience. Differences between completed projects and the proposed project can be identified and impacts estimated. One problem with this method is in identifying those differences. This method is also limited because similar projects may not exist, or the accuracy of available historical data is suspect. Also, many projects for DOD weapon systems may not have historical precedents. The analogy or comparative technique uses parametric approaches including the use of CERs. Bottom-Up Method Bottom-up estimation involves identifying and estimating each individual component separately, then combining the results to produce an estimate of the entire project. It is often difficult to perform a bottom-up estimate early in the life cycle process because the necessary information may not be available. This method also tends to be more time consuming and may not be feasible when either time or personnel are limited. Top-Down Method The top-down method of estimation is based on overall characteristics of the software project. The project is partitioned into lower-level components and life cycle phases beginning at the highest level. This method is more applicable to early cost estimates when only global properties are known. Advantages include consideration of system-level activities (integration, documentation, project control, configuration management, etc.), many of which may be ignored in other estimating methods. The top-down method is usually faster, easier to implement and requires minimal project detail. However, disadvantages are that it can be less accurate and tends to overlook

12 lower-level components and possible technical problems. It also provides very little detail for justifying decisions or estimates. Expert Judgment Method Expert judgment involves consulting with human experts to use their experience and understanding of a proposed project to provide an estimate for the cost of the project. The obvious advantage of this method is the expert can factor in differences between past project experiences and requirements of the proposed project. The expert can also factor in project impacts caused by new technologies, applications, and languages. Expert judgment always compliments other estimation methodologies. One disadvantage is that the estimates can be no better than the expertise and judgment of the expert. It is also hard to document the factors used by the expert who contributed to the estimate. Parametric or Algorithmic Method The algorithmic method involves the use of equations to perform software estimates. The equations are based on research and historical data and use such inputs as Source Lines Of Code (SLOC), number of functions to perform, and other cost drivers such as language, design methodology, skill-levels, risk assessments, etc. Advantages of this method include being able to generate repeatable results, easily modifying input data, easily refining and customizing formulas, and better understanding of the overall estimating methods since the formulas can be analyzed. However, the results are questionable when estimating future projects which use new technologies, end equations are generally unable to deal with exceptional conditions such as exceptional personnel in any software cost estimating exercises, exceptional teamwork, and an exceptional match between skill-levels and tasks. However, any estimating approach can be impacted by these drawbacks, and care should be exercised when accounting for such concerns. Additionally, sometimes algorithms are developed within companies for internal use and many are proprietary as well as more reflective of a specific company's performance characteristics. Lecture No. 30 how we can judge the maturity level and standardization of developed software?

13 Yes we can judge the maturity level and standardization of the developed software. The CMM help us in this regard. The Capability Maturity Model for Software (CMM) is a framework that describes the key elements of an effective software process. The CMM describes an evolutionary improvement path from an ad hoc, immature process to a mature, disciplined process. The CMM establishes a yardstick against which it is possible to judge, in a repeatable way, the maturity of an organization's software process and compare it to the state of the practice of the industry. The CMM can also be used by an organization to plan improvements to its software process. It also reflects the needs of individuals performing software process, improvement, software process assessments, or software capability evaluations; is documented; and is publicly available. Software planning is why is so much important to make a software project. Planning is an important part of development; it basically decides what is to be done for the project development. How to manage the project within specified period of time and so on Lecture No. 31 what is the (SDLC)? SDLC (software development life cycle model) is the process of creating and altering the system. SDLC is the process of developing information systems through investigation, analysis, design, implementation and maintenance. What is Project office? Project office is basically the environment in which the standards of processes related to project management is maintained within the organization. Or follow the link below for more understanding. If you still may have any confusion you may ask. Is that complicated process is necessary to make Work Break Down structure.

14 No, it is not necessary to adopt the complicated process to develop the WBS; it only depends on the nature and complexity of the project i.e. to which extend (level) you have to break down the project. Lecture No. 32 What is mean by Cost driver attributes? Cost driver attributes mean those attributes of a project which are more important and need more effort in term of cost, times, expertise etc. For example some software product needs high reliability so we assign high value to RELY (Required software reliability attribute). Similarly we assign value to time and performance according to their importance. As there a number of cost driver attributes but it is not necessary that each project must have all these attributes that is why we use the word Applicable. It simply means only those attributes which are applicable to this particular project. What is KLOC? KLOC refers to thousands line of code (i.e represent line of code in thousands) and is used to identify the Initial Development effort. Example 4.0 KLoc means 4000 line of code. Lecture No. 33 How total GSCs is calculated? After determining the unadjusted function point count (the sum of the counts for and ILF, EIF, EI, EO, and EQ), we need to determine the value adjustment factor based on 14 general system characteristics (GSCs) and use that to compute the adjusted function point count. Lecture No. 34

15 software project managment is very complicated process can we use this managment in an easy way? Any task that requires some preparations to achieve some outcomes may need proper management. Project management methods help in planning and managing all sorts of tasks especially complex tasks. So it means that by proper management all complex tasks can be handled. Lecture No. 35 What is Work Break down Structure (WBS)? Work Break down Structure (WBS) is a prerequisite for project plan, Cost, effort and time estimation and can act as a part of agreement between Project development team, client and other stakeholders. But it is not necessary that all the stakeholders sit to gather and jointly create the WBS and mostly done by the development team of the project. How a Contract WBS extends the Program WBS to a lower level in order? A Contract WBS extends the Program WBS to a lower level in order to provide management and cost information. It includes all the elements for products (e.g., hardware, software, data, or services) that are the responsibility of the contractor. Is prepared and maintained by each contractor working on different portions of the program. Actually Contract WBS helps in writing the contract, because it may consider a part or a module of a complex project. Lecture No. 36 What is Strong matrix structure? a strong matrix structure was put in place with the project managers being responsible for supervising the workers. Responsibility for the administration of human resources was left in the hands of the line managers. Under this arrangement the project manager can effectively manage the project without having to be concerned with human resource issues

16 Lecture No. 37 how can i measure the EAF (Effort Adjustment Factor)? Take the guidance from the handouts, also the constant value used here will be '1'. Ue the e- mail facility for asking such questions, ask Lecture related questions here. Lecture No. 38 What is meant by WBS dictionary? what it contains? The Work Breakdown Structure Dictionary is a useful resource for project management, and should be consulted for relevant information on each component of the work breakdown structure (WBS). WBS should be consulted before commencing any work component in order to insure that proper standards, procedures, and quality control measures are being followed. Due to ever changing circumstances, the Work Breakdown Structure Dictionary is under constant revision. Therefore, frequent review of its contents will assure proper project management. The WBS dictionary includes entries for each WBS component that briefly defines the scope or statement of the work, defines deliverables, contains a list of associated activities, and provides a list of recognized milestones to gage progress. Lecture No. 39 How To Calculate the Expected time using PERT? To Calculate the Expected time using PERT, you need three values/estimates like optimistic, pessimistic and most likely and using the following formula: Te = (To+4Tm+Tp)/6 But in case when you have only two values (optimistic and pessimistic) so standard deviation and Variance can be calculated using formulas: SD= (TP-T0)/6 {read as (pessimistic-optimistic)/6}

17 V= SD2 (Standard Deviation squared) Lastly to handle the erratic situation you need to find all tasks on the critical path and also calculate standard deviation and variance for each task and for all tasks on the critical path as well and assign resource accordingly and also continuously update the critical path. Lecture No. 40 the difference between cost plus and fixed price In the Cost-plus method one first calculates the cost of the product, and then adds a proportion of it as markup. Basically, this approach sets prices that cover the cost of production and provide enough profit margin to the firm to earn its target rate of return. Cost-plus contracts have no set spending limit, the contractor purchases the materials and receives reimbursement plus a fee. Example: Renting a car the customer pays for the time that the car is used (by the hour, day, week etc.), and for any other expenses such as insurance and gasoline. Fixed costs are business expenses that are not dependent on the level of goods or services produced by the business. They tend to be time-related, such as salaries or rents being paid per month, and are often referred to as overhead costs.fixed-pricing sets a specific dollar amount for a project. Example: purchasing a bus ticket, when the bus company agrees to take the customer to a specific destination within a published timetable, and for an agreed fee. Lecture No. 41 What are SOW and RFP? SOW (stands for statement of work) is the formal document that explains the overall project activities, at what time what activity has to be performed. Detailed requirements and pricing are

18 explained in it. RFP (stands for Request for Proposal) is the format/ template that define software solution either regarding to hardware or software. which model is more suitable for Sechuduling in software development PERT or CMP or GAnt chart Selection of suitable model depends upon the nature of project both techniques have their own properties. PERT is more of an event-oriented technique, and is used more in projects where time, rather than cost, is the major factor. It is applied to very large-scale, one-time, complex, non-routine infrastructure and Research and Development projects. A Gantt chart is a type of bar chart that illustrates a project schedule. Gantt charts illustrate the start and finish dates of the terminal elementsand summary elements of a project. Lecture No. 42 What is the purpose Average Complexity Factor? Average Complexity Factor describes the nature of the application. It tell the complexity of the all input average for the application which determine that the application nature like nominal etc. Why you always says that we must have to be needed latest technology for the development of the project Old technologies are like the conventional system; and take too much time for problem solving; new technologies are pretty much fine, faster and are convenient to understand and use, also these all technologies are up to mark according to the new environments of SW development processes. Lecture No. 43

19 What is Deployment Process? Deployment: The goal is to manage the activities associated with ensuring that the software product is available for its end users. The following types of activities are involved: 1. Testing at the installation and target sites 2. Packaging the software for delivery a. Deployment in custom-built systems b. Deployment of shrink-wrapped software c. Deployment of software that is downloadable over the Internet 3. Creating end-user supporting materials 4. Creating user training materials 5. Migrating existing software or converting databases Deployment Process Plan Deployment: Deployment plan is developed and bill materials are defined. Deployment plan requires a high degree of customer collaboration and preparation. Develop Support Material: Training and support (installation, maintenance, usage etc.) materials are developed.

20 Produce Deployment Unit: Deployment unit that consists of the software and other artifacts required for successful installation are created. Manage Acceptance Test (at Development Site): Acceptance testing is executed and evaluated before the software is installed at the target site. Manage Acceptance Test (at Installation Site): Installation and testing at the target site using actual target hardware is realized. Beta Test Product: Beta testing requires the delivered software to be installed by the end user. Feedback is provided by the user community. Package Product: Optional activities needed to produce packaged software product are carried out. Lecture No. 44 Class Diagram: The class diagram is core to object-oriented design. It describes the types of objects in the system and the static relationships between them. A class is a system entity that models a realworld object. School, Student and Course are all examples of classes. A class is made up of

21 attributes which define the information that each class knows about itself and operations which are the processes that a class can carry out. Often you will see operations referred to as methods. Example of Student class: Student name address faculty The diagram below illustrates aggregation relationships between classes. The lighter aggregation indicates that the class "Account" uses AddressBook, but does not necessarily contain an instance of it. The strong, composite aggregations by the other connectors indicate ownership or containment of the source classes by the target classes, for example Contact and ContactGroup values will be contained in AddressBook. Lecture No. 45 Interface

22 An interface is an access point or interaction point between two systems or work groups to fulfill tasks through user commands. In the manufacturing environment, the interaction and coordination between a numbers of work groups communicate plans and control production activity. This interaction can come in the forms of schedule, human interaction, computer systems, or any other medium of communication. A physical interface is the interconnection between two items of hardware or machinery. Interface may have multiple access points and each interface provides a service attach or ling the interface. Interface can be designed after Software Proposal Document is developed. Interface elaborates the possible interaction of the user with system also system component with in and outside the components and application. Design may be generated after coding by using automating tool. E.g. Rational Rose. It is the part of documentation. Client is needed as compulsory part because his interaction with system through interfaces like, Login Form, application window etc Object models Object models are different from other modeling techniques because they have merged the concept of variables and abstract data types into an abstract variable type: an object. Objects have identity, state, and behavior and object models are built out of systems of these objects. To make object modeling easier, there are concepts of type, inheritance, association, and possibly class. Object modeling focus on identity and behavior is completely different from the relational model s focus on information.