Sie sind auf Seite 1von 8

UNIT-1 Assignment -2

NAME- PULKIT GUPTA ROLL.NO. -1001020 BRANCH- CSE 7TH semester SUBJECT- SPM

Q1. Why is software project management important? What are activities covered by software project management ? Ans.
Software project management is the art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled. Software project management methods focused on matching user requirements to delivered products, in a method known now as the waterfall model. A software development process is concerned primarily with the production aspect of software development, as opposed to the technical aspect, such as software tools. These processes exist primarily for supporting the management of software development, and are generally skewed toward addressing business concerns. Examples are: Risk management is the process of measuring or assessing risk and then developing strategies to manage the risk. Risk management in software project management begins with the business case for starting the project, which includes a cost-benefit analysis as well as a list of fallback options for project failure, called a contingency plan. A subset of risk management that is gaining more and more attention is Opportunity Management, which means the same thing, except that the potential risk outcome will have a positive, rather than a negative impact. Requirements management is the process of identifying, eliciting, documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is an important part of the software engineering process; whereby business analysts or software developers identify the needs

or requirements of a client; having identified these requirements they are then in a position to design a solution. Change management is the process of identifying, documenting, analyzing, prioritizing and agreeing on changes to scope (project management) and then controlling changes and communicating to relevant stakeholders. Each change can impact the timeline and budget of a software project, and therefore by definition must include risk-benefit analysis before approval. Software configuration management is the process of identifying, and documenting the scope itself, which is the software product underway, including all sub-products and changes and enabling communication of these to relevant stakeholders. Release management is the process of identifying, documenting, prioritizing and agreeing on releases of software and then controlling the release schedule and communicating to relevant stakeholders. Most software projects have access to three software environments to which software can be released; Development, Test, and Production. Project planning, monitoring and control The purpose of project planning is to identify the scope of the project, estimate the work involved, and create a project schedule. Project planning begins with requirements that define the software to be developed. The project plan is then developed to describe the tasks that will lead to completion. Project monitoring and control involves status meetings to gather status from the team. When changes need to be made, change control is used to keep the products up to date.

Q2. What are the problems with software projects ? Ans .


Analysis of software project management failures has shown that the following are the most common causes: 1. 2. 3. 4. 5. 6. 7. 8. Unrealistic or unarticulated project goals Inaccurate estimates of needed resources Badly defined system requirements Poor reporting of the project's status Unmanaged risks Poor communication among customers, developers, and users Use of immature technology Inability to handle the project's complexity

9. Sloppy development practices 10. Poor project management 11. Stakeholder politics 12. Commercial pressures We can classify the problems that affect software projects into the following four categories: People-related problems Process-related problems Product-related problems Technology-related problems

People-related problems in a software project are: Low motivation: As the project manager it is your responsibility to ensure an optimal level of motivation within the team. Project Manager need to lead in such a way that the team is constantly motivated to do a good job. Problem employees: Some members of any team always create a problem. For example, an employee may carry a 'holier-than thou' attitude. Problem employees raise the chances of conflicts and differences of opinions within the development team. They lower the efficiency and productivity of other team . Process-related problems in a software project are: Unrealistic schedule: Assigning unrealistic deadlines for a software project is a primary reason why software projects are delayed. Insufficient identification: Unidentified, partially identified, and unplanned risks pose a threat to the success of a software project. We need to intensively identify risks and evolve a risk management plan such that the project is completed successfully, on time. Abandoning quality under pressure of deadlines: Where a software project faces a shortage of resources, time, and funds, project managers often push away quality concerns and focus on meeting deadlines and staying within the budget. Product-related problems in a software project are: Product scope changed toward the end of the project life cycle: The project time, effort, and cost estimates for a software project can go up dramatically when the customer changes the scope of the product toward the end of the project. Research-oriented software development: Many software projects digress from the original scope because of the nature of the software product or technology used. When a totally new kind of software is developed or a new

Q3. Explain briefly the evolution of software economics? Ans.Software Economics:


Five fundamental parameters that can be abstracted from software costing models: Size Process Personnel Environment Required Quality

Size: Usually measured in SLOC or number of Function Points required to realize the desired capabilities. Function Points a better metric earlier in project LOC (SLOC, KLOC) a better metric later in project These are not new metrics for measuring size, effort, personnel needs. Process used to guide all activities. Workers (roles), artifacts, activities Support heading toward target and eliminate non-essential / less important activities Process critical in determining software economics Personnel capabilities of the personnel in general and in the application domain in particular Motherhood: get the right people; good people; Cant always do this. Much specialization nowadays. Some are terribly expensive. Emphasize team and team responsibilitiesAbility to work in a team; Several newer light-weight methodologies are totally built around a team or very small group of individual. Environment the tools / techniques / automated procedures used to support the development effort. Integrated tools; automated tools for modeling, testing, configuration, managing change, defect tracking, etc. Required Quality the functionality provided; performance, reliability, maintainability, scalability, portability, user interface utility; usability Effort = (personnel)(environment)(quality)( (Note: effort is exponentially related to size.) )

The Process Trends for three generations of software economics Conventional development (60s and 70s) Application custom; Size 100% custom Process ad hoc 70s - SDLC; customization of process to domain / mission, structured analysis, structured design, code.

Transition (80s and 90s) Environmental/tools some off the shelf. Tools: separate, that is, often not integrated esp. in 70s Size: 30% component-based; 70% custom Process: repeatable

Modern Practices (2000 and later) Environment/tools: off-the-shelf; integrated Size: 70% component-based; 30% custom Process: managed; measured

Pragmatic Software Cost Estimation


Little available on estimating cost for projects using iterative development. Difficult to hold all the controls constant Application domain; project size; criticality; etc. Very artsy. Metrics (SLOC, function points, etc.) NOT consistently applied EVEN in the same application domain! Definitions of SLOC and function points are not even consistent! Much of this is due to the nature of development. There is no magic date when design is done; or magic date when testing begins.

Q4. Explain the following terms : 1. Automation through 2. Team effectiveness Ans.

1. Automation through
Many software tools available on the market which automate the development and maintenance of artifacts Common Tools Planning Tools (Microsoft Project) Requirement Management Tools (Visio, Rose) Visual Modeling Tools (Visio, Rational Rose, ErWin Case Tool, Oracle Designer) Compilers, Editors, Debuggers (Visual Studio, Oracle JDeveloper, Jbuilder) Quality Assurance Tools Modern Approach: 1st artifact Define the development and maintenance environment and select a set of tool which will automate the process Development Environment Should Support Requirement Management Document Automation Host/Target Programming Tools Testing Feature/Defect Tracking

Tool should allow designer/developer to easily traverse between the various artifacts Concepts: Forward Engineering automation of one artifact from another more abstract representation. (Class Diagrams -> Source Code) Reverse Engineering generation of a more abstract representation from an existing artifact (Source Code -> Class Diagram) Round Trip Engineering Forward & Reverse Engineering Describes an environment in which once one artifact is modified, all the other artifacts both preceding and following it are modified as well. Great in theory, but very hard to simulate in real world

Isolated impact of tools and automation allows improvement in 20% 40% in effort (Reiss) Vendor claims are too simplistic and should be disregarded

Its unlikely that any individual tool will improve a projects productivity by more than 5% Usually the benefits of using a tool are not realized unless there is some sort of change in process. Process is most important and software environments should be viewed and used as primary delivery vehicles for process automation and improvement.

2. Team effectiveness
Best pragmatic approach: Balance highly talented people in key positions; less talented in other positions Coverage strong skill people in key positions. Managing the team is the key. A well-managed team can make up for other shortcomings.

Boehms Principle: 1. Principle of top talent: use better and fewer people. Proper number of people is critical.

2. Principle of job matching (skills and motivations) Not uncommon in development teams for individuals to have a vision of promotion from programmer to project manager or to architect or to designer Skill sets are NOT the same and many projects have gone amuck due to poor management! Great programmers are not necessarily great managers and conversely. 3. Principle of Career Progression Organization training will pay great dividends Posting for new jobs? What are the prime motivators and motivation?

4. Principle of team balance dimensions balance of: raw skills (intelligence, objectivity, creativity, analytical thinking) psychological makeup (leaders and followers; risk takers and conservatives; visionaries and nitpickers) 5. Principle of Phase-out Get rid of the dead wood! Disrupt team balance; horribly de-motivating. Get rid of this person

Overall team guidance: Essential ingredients: a culture of teamwork vice individual accomplishment.

Teamwork and balance!!! Top talent and phase-out are secondary Obsession with career progression will take care of itself in the industry tertiary Strong, aware leadership is essential. Keeping team together; recognizing individual needs and excellent performers; nurturing newbees, considering diverse opinions, facilitating contributions from everyone; make them feel important .

all are essential for an effective project manager.

Das könnte Ihnen auch gefallen