Sunteți pe pagina 1din 10

LOVELY PROFESSIONAL UNIVERSITY

Assignment # 4
Software Project Management CSE412

Submitted To: Mr. Navneet Malik

Submitted By: Virender Kumar Section: A17B1 Roll No. 26

Part-A Q. 1: As a programmer, if you are developing the Library Management System. Try to identify the Resources required for this project. Ans.: As the programmer is concerned with only those resources which are necessary to develop or code the software, so the resources are as: Computer system: At the very beginning we required the computer system in which we can install the appropriate application for making the Library management. Basic Requirements: For making project basic requirements are necessary like electricity, computer hardware, and proper ambience. Operating system (System Software): It controls the working of c o m p u t e r s y s t e m a n d p e r f o r m s e s s e n t i a l t a s k s like Disk maintenance and managing screen etc. Programming Software: These are basically tools use to create, debug, maintain, or otherwise support other programs and applications. Application Software: It performs productive tasks for user such as word processing and database management etc. Utility Software: Also known as service routine, utility software helps in the management of c o m p u t e r h a r d w a r e a n d a p p l i c a t i o n s o f t w a r e . I t p e r f o r m s a small range of tasks. Data Backup and Recovery Software: Ideal data backup and recovery software provides functionalities beyond simple copying of data files. This software often supports user needs of specifying what is to be backed up and when. Human resources: Human resources are a term used to describe the individuals who make up the workforce of an organization. People are required to work on different module of a single project, so that parallel work can be done and so that optimistic time can be achieved. Q.2: On a large project it is often is the responsibility of a team leader to allocate tasks to individual. Why might it be unsatisfactory to leave such allocations entirely to the discretion of the team leader? Ans.: Usually large projects are handled by dividing the project in different tasks and then breaking up the tasks, and assign individual tasks or "subtasks" to specific team members. Or, if you need to divide a task among multiple teams, divide the overall tasks into team tasks, and then send these task assignments to each team leader. The team leaders can allocate these tasks to team members. Both you and the team leader can then receive task status updates. Team Leader responsibilities are as: Coordinate your team and delegate project tasks appropriately. Maintain a good understanding of goals and tasks assigned to the team.

Communicate with Project Manager and senior staff and discuss team leader software development issues. Allocate resources to projects and tasks. Provide and plan training for all members of your team as required by your team leader software project. Maintain project documentation and papers. Conduct independent analysis of team performance and interpret requirements concerning the development of new products (especially in IT projects which require team leader software testing). Now it might be unsatisfactory to leave task allocation to individual entirely to the discretion of the team leader because: He can allocate wrong person to the wrong task because he have a lot of responsibilities to take care of. There can be biasness between the team leader and team members. So he can burden someone with more loads. He might not be able to understand the actual objective of the project and can allocate those tasks to the individuals which are not worth doing. He can allocate easy tasks to his dear ones and difficult to other ones. It can create disputes in the team. He can probably misjudge the ability of the individuals. As team leader is also a member of the working team so he can go with the easy tasks for allocation to him and it can create disputes in the team. Q.3: Categories of reporting is the part of Creating Framework. Explain in detail with detailed example. Ans.: Categories of reporting comes under Monitoring and Control which is the part of creating the framework. Following figure shows the framework of project control cycle:

Reporting comes under the project control cycle. Reporting for the different stages of the development helps us to visualize that whether the project targets are matched with the targets decided. Reporting helps us to monitor the project progress as shown in the figure. For example: suppose we are developing the Banking Utility Software and I have decided that this software will produce the accurate answers for the typical banking numerical problems to the 10 decimal places and I have to cover the basic module in 30 days. Then result report given by the developer team after 30 days will be compared with the objectives that I have settled earlier. If the results are satisfactory and according to the planned expectations then we will continue otherwise we will take remedial action and publish the revised plan. So this was the reporting for the functionality of the software and there might can different type of the reporting like: Project progress report Project Functionality report Test report after testing the software Overall report So getting the report from the project team at each and every step of development helps us to create the framework for controlling and monitoring the project.

Part-B Q.4: Managing people and organizing teams is essential part of Software Project Management. Explore this if you are appointed as Project manager of the particular project. Assume the Project. Ans.: A manager's most important, and most difficult, job is to manage people. You must lead, motivate, inspire, and encourage them. Sometimes you will have to hire, fire, and discipline or evaluate employees. Managers spend a lot of time giving direction to people. When done well you can achieve great results. Make a little slip up and everything goes wrong. Software Project management involves organizing and managing a project team. The team is usually made up of people with specific skills and responsibilities. The project team, also known as project staff, should be involved in plans and decision making from the beginning of the project. Team members should feel invested in the outcome of the project. This will increase loyalty and commitment to project goals and objectives. The number of team members and their responsibilities can change as the project develops. For example: suppose we are going to develop a Banking Utility Software. Now as a Project manager I have to manage people and divide them in teams according to their expertise. Now managing people is a major concern for me because ultimately the successful completion of project depends on the people involved. I have to manage the people as: Appointing the right people to the right job I have to take care of their burden I have to evaluate their performance I have to motivate them I have to give instructions to them

So, managing people in this way will help me to complete the project in right manner and without any mismanagement. Lets now talk about organizing teams. As I have discussed that it is necessary to make group of people who have expertise in the same field which are called teams. In developing the Banking Utility Software I have to make different teams like: The project management team also called the core, executive, or leadership team, is responsible for project planning, controlling, and closing and takes directives from the project team. Smaller project responsibilities can be shared by the team or designated by the project manager. The project management team and the project sponsor work together to secure funding, simplify scope questions, and influencing team members.

Requirement gathering team: responsible for fetching the requirement from user and dictating them to the design team. Project design team: responsible for designing the project. Coding team: responsible for making the code of the project. Testing team: responsible for testing the project. Maintenance and installment team: responsible for making changes to maintain the software and installing it after the completion of the project.

So, by organizing the teams we can easily decide that which group of people is having which type of expertise and who is responsible for what. It will help to complete the project at time and without and risk and mismanagement. Q.5: Discuss the place of software quality in Project Planning. Ans.: Quality will be of concern at all stages of the project planning and execution, but will be of particular interest at the following points in the Step Wise framework: Step 1: Identify project scope and objectives- Some objectives could relate to the qualities of the application to be delivered. Step 2: Identify project infrastructure- Within this step, one of its activity identifies installation standards and procedures. Some of these will almost certainly be about quality.

Step 3: Analyze project characteristics- Within this step in activity (Analyze other project characteristics-including quality based ones) the application to be implemented is examined to see if it has any special quality requirements. If, for example, it is safety critical then a range of activities could be added, such as n-version development where a number of teams develop versions of the same software which are then run in parallel with the outputs being cross-checked for discrepancies. Step 4: Identify the products and activities of the project- It is at this point that the entry, exit and process requirements are identified for each activity. Step 8: Review and publicize plan- At this stage the overall quality aspects of the project plan are reviewed.

Q 6: How can we visualize the progress of the software system development as the following? a. Developer b. Manager c. User Ans.: As such we cannot visualize the progress of software system development simply because of intangibility of the software. Progress visualization depends on the job of the viewer like whether he is a Manager or Developer or a User. So visualization of progress in different cases: a. Developer: as developer is concerned with coding the different modules of the project, so he can easily visualize the progress of the project as: By knowing about the line of code that he and his team have completed and how much they have to complete in how many days or hours. By knowing about the number of the modules that he and his team have completed and how much they have to complete in how many days or hours. b. Manager: as manager is concerned with only managing the project which also includes the scheduling of the project. He is not the member who is actually making the software. So, a Project Manager can only visualize the progress of the project by knowing about the target dates and current dates on which an activity is currently operating. There are three charts to visualize the progress of the project for Manager: 1. Gantt Charts: it is the oldest technique for tracking the progress of project. This is essentially bar chart indicating the scheduled activity dates and durations, frequently augmented with activity floats. Figure shows the Gantt chart in which two modules are behind the schedule:

2. Slip charts: A slip chart is a very similar alternative favored by the some project managers who believe it provides a more striking visual indication of those activities that are not progressing to schedule- the more the slip line bends, the greater the variation from the plan. A jagged slip line indicates a need for rescheduling. Figure shows the typical Slip Chart:

3. The Timeline: One disadvantage of the charts described so far is that they do not show clearly the slippage of the project completion date through the life of the project. The timeline chart is a method of recording and displaying the way in which

targets have changed throughout the duration of the project. figure shows the typical image of the timeline chart:

c. User: as user is concerned with the final deliverable delivered to him. He can visualize the progress of the software development as: By knowing that how much of the requirements which he had specified are covered by the current state of the project deliverable. How many modules the team has delivered to him and how many are left.

S-ar putea să vă placă și