Professional Documents
Culture Documents
Team 2: QIU, YEZI MOHAMED SAEED ELKHALIFA, ISLAM ILYAS, BILAL GARCA LVAREZ, CARLOS ALEVRAS, ELEFTHERIOS
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 Introduction ....................................................................................................................................... 4 1. Overview ..................................................................................................................................... 5
1.1. Project Summary ........................................................................................................................ 5 1.1.1. Purpose, Scope and Objectives .......................................................................................... 5 1.1.2. Assumptions and Constraints ............................................................................................ 6 1.1.3. Project Deliverables ........................................................................................................... 6 1.1.4. Schedule and Budget Summary ......................................................................................... 7 1.2. Evolution of Plan ........................................................................................................................ 7
2. 3. 4.
4.1. 4.2. 4.3.
5.
5.1. Project Start-up Plan ................................................................................................................ 12 5.1.1. Estimation Plan ................................................................................................................ 12 5.1.2. Staffing Plan..................................................................................................................... 16 5.1.3. Resource Acquisition Plan ................................................................................................ 17 5.1.4. Project Staff Training Plan ............................................................................................... 17 5.2. Work Plan ................................................................................................................................. 18 5.2.1. Work Activities ................................................................................................................. 18 5.2.2. Schedule Allocation .......................................................................................................... 22 5.3. Control plans ............................................................................................................................ 22 5.3.1. Requirements Control Plan .............................................................................................. 22 5.3.2. Schedule Control Plan ...................................................................................................... 22 5.3.3. Budget Control Plan ......................................................................................................... 23 5.3.4. Quality control plan ......................................................................................................... 23 5.3.5. Reporting plan ................................................................................................................. 24 5.3.6. Metrics collection plan ..................................................................................................... 24 5.4. Risk management plan ............................................................................................................. 24 5.5. Closeout plan ............................................................................................................................ 25
6.
6.1. 6.2. 6.3. 6.4.
7.
7.1. 7.2. 7.3.
Introduction
This document is a Software Project Management Plan, that is format compliant with the IEEE 1058-1998 standard for SPMP [1]. The reader of this document should be familiar with concepts described in the Project Management Body of Knowledge [2], in order to have a better understanding of the content of this document.
1. Overview
1.1. Project Summary
1.1.1. Purpose, Scope and Objectives MMS is a stand-alone application with the purpose of managing the multimedia files of its users. More specifically, users could access any multimedia files in their computer, through this application, after these files had been added to the applications database. The scope of the product includes: Support video, audio, images and documents that belong to the following set of formats, respectively: AVI, MP3, JPG, PDF. Add/delete files to/from the application. View list of files. Open video files and audio files and allow functions, like pausing, stopping, playing forward and rewinding. Open PDF/JPG files. Playlist creation/deletion. Playlist management, i.e. add/delete/reorder files from existing playlists. View list of files in existing playlists. Play existing playlists.
The objectives of this product are the following: Provide users a new level of service. Be easy to use by providing all of its functionality from a graphical user interface (GUI).
The purpose of this project is to develop the product with the scope, which is specified above, and the fulfilment of this purpose will be determined by the completion of the following set of objectives: Completion of the product, within schedule and under budget. Compliance of the product with the products requirements, even if the later change. Achievement of as high level of satisfaction as possible from the customer. Acquisition of experience in both managerial and technical skills, while dealing with a would-be real world project.
The scope of the project includes: Determining the requirements of the product. Developing the product to meet the specified requirements.
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 Execute managerial process that is required for achieving the objectives of the product.
1.1.2. Assumptions and Constraints The following assumptions were made for this project: The customers of this product are Bogdan Marculescu and Michael Unterkalmsteiner. The members of the development team have sufficient technical skills to develop the product. One team member will quit before the completion of the project. The resources needed for the execution of the project are already available or can be acquired free of charge. The product is not intended for any kind of monetary gain. However, in order to simulate real-world situations, an illusory budget has been specified and is described in another part of this plan.
The execution of the project will take place under the following constraints: The customers approval is required for the first version of this plan, before the team can proceed with the execution of the plan. The entire team is expected by the customers to work in every major work package of the project. The deadlines are set by the customers and are firm, i.e. there is no margin for flexibility. There shall be no software reuse. The project starts from scratch. The product shall be developed using the JAVA programming language. Therefore, the platforms that will run the product are required to have installed a JVM of an appropriate edition. The product is intended to run on Microsoft Windows platforms. This product shall not interact with other products.
1.1.3. Project Deliverables The deliverables associated with the project are shown in the following table: Deliverables System Requirements Specification Executable Files Users manual Delivery date 2012/01/11 2012/01/11 2012/01/11 Delivery location BTH campus BTH campus BTH campus
The SPMP will be delivered as a PDF file to the learning platform Its learning. There are no specific instructions regarding the packaging and handling of the other deliverables.
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 1.1.4. Schedule and Budget Summary The project is scheduled to start on November 15, 2011 and end on the January 11, 2012. For more details regarding the intermediate milestones of the project, please take a look at the attached Gantt chart. For this project, it has been estimated a budget of approximately 25,000 US dollars. (For more information, please see section 5.1.1).
2. References
[1]. IEEE Std 1058-1998. IEEE Standard for Software Project Management Plans. The Institute of Electrical and Electronics Engineers, Inc. [2]. Adoption of PMI Standard, A Guide to the Project Management Body of Knowledge (PMBOK Guide). (2003). IEEE Std. 1490-2003. [3]. Software artifact,
http://en.wikipedia.org/wiki/Artifact_%28software_development%29
[4]. Software verification and validation,
3. Definitions
Artifact: one of many kinds of tangible by-product produced during the development of software, e.g. use cases, UML models, project plans, source code files [3]. BTH: Blekinge Institute of Technology (Blekinge Tekniska Hgskola). SPMP: Software Project Management Plan.
4. Project organization
4.1. External interfaces
A team of BTH students, as an assignment of the course Applied Software Project Management, develops this project. The aim of this course is to develop the skills and experience in managing software projects. BTH is the parent organization. The course teachers shall act as the customers of the product, on behalf of the BTH, which is, therefore, the acquiring organization. There shall be no subcontracted organizational entities. There shall be no other organizational entities that interact with this project.
Software analyst
Islam
Software developer
Carlos
Software architect
Bilal
Software tester
Eleftherios
Tests the system functionality, performs activities such as unit, system or integration testing. Arranges meetings, provides directions, interacts with external factors on behalf of the team.
Team coordinator
Bilal
Below we have calculated the size of the project in terms of CFPs, which are the 46 in total: No. Functional Process 1 Automatic files detection Data Movement Description 2 Display files list User clicks on automatic files detection Reads into default folder Message of new files or no new files Files stored in database Display confirmation message User selects 1 of 4 file categories (i.e., video, audio, pictures, text) Click to open Read database records Display files list User clicks a file to open Read database record Open file User clicks a file to delete Ask for user confirmation Delete database record and from default folder DM Type E R X W X CFP Total CFPs 1 5 1 1 1 1
E E R X E R X E X W
1 1 1 1 1 1 1 1 1 1
Delete file
Display playlists
User click on Playlists Read database records Display playlists or no playlist message User click on create new playlist Ask the user to enter a name User enters the playlist name Database updating Display new empty playlist User selects a playlist Click to delete Ask for user confirmation Get user confirmation Delete record from database or cancel User selects a file Click (or drag) to move the file to any playlist Database updating Display confirmation message User clicks a file in any playlist to delete Ask for user confirmation Get user confirmation Delete database record User selects a playlist Click to play Read database records Play User clicks to reorder files (by name, size) Read database records Displays new order
E R X
1 1 1
E X E W X E E X E W
1 1 1 1 1 1 1 1 1 1
Delete playlist
E E W X
1 1 1 1
E X E W
1 1 1 1
10
Play playlist
E E R X E R X
1 1 1 1 1 1 1
11
Reordering files
TOTAL 43
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 After calculating the COSMIC Functional Points (CFPs), we will use the COCOMO method to compute the software development effort and cost, as given below: COCOMO (Constructive Cost Model) Method: It is an algorithmic software cost estimation model designed for estimating effort, cost, and schedule for software projects. COCOMO computes software development effort as a function of program size, either in terms of Function Points or Source Lines of Code. Currently COCOMO II is available which is better suited for estimating modern software development projects.
Below we have estimated the software by using an online COCOMO II tool: http://csse.usc.edu/tools/COCOMOII.php
Schedule Estimation: On the basis of results acquired from the online COCOMO tool, we can estimate the project schedule in terms of number of working days, as shown below:
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 Resource Estimation: As it is already assumed that there will be 5 members in the project team. Cost Estimation: As in online COCOMO tool, we have assumed that salary of each team member will be $2500 per month, so we can calculate the total amount of salary for whole team, as shown below: 1 day salary of each member 42 days salary of each member Total salary of 5 members 2500 / 30 = 83.33 x 42 = 3500 x 5 = 83.33 $ 3,500 $ 17,500 $
5.1.2. Staffing Plan The purpose of the staffing plan is to make certain the project has sufficient staff with the right skills and experience to ensure a successful project completion. The following human resources will be needed to complete this project. Number of staff will remain same during the whole project, that is 5, but their tasks will be shuffle according to their skills.
Role Project Responsibility Team leading, project monitoring and controlling, report status Skills Required Project Phase All Number of Staff Required 1 Estimated Start Date 15/11/11 Duration Required 42 days Source
System and software requirements elicitation, analysis, specification, validation System and software architecture design, database design, interface design Development of standalone multimedia management application, and its deployment Evaluate and test the software
Project management skills, leadership skill, interpersonal skills, presentation skills Analytical skills, software documentation skills, negotiation skills, business processes understanding Software engineering technical skills, software design skills Programming languages skills, software testing skills, release management skills Software testing skills, quality assurance skills
Planning, Execution
15/11/11
42 days
Applied Software Project Management Course Fellows Applied Software Project Management Course Fellows Applied Software Project Management Course Fellows Applied Software Project Management Course Fellows
15/11/11
42 days
15/11/11
42 days
Execution
15/11/11
42 days
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 5.1.3. Resource Acquisition Plan The following non-human resources will be required for the project work: Hardware Resources: Minimum Requirements personal Intel i3 1 GB RAM 80 GB Hard disk Black & white Laser print
laptops
or
Software Resources: Description All the team members are already familiar. Required for documentation. Required for diagrams drawing. Required for project management, activities management, resource management, schedule management. Eclipse IDE is an open source platformindependent software framework for application development Required for running Java based application. Required to build application database.
Name Microsoft Windows Operating System 7 Microsoft Office 2010 Microsoft Visio 2010 Microsoft Project 2010
Other resources o Internet connections o Communication tools (e.g. skype, emails) Project Staff Training Plan
5.1.4.
5.1.4.1. Development Seminar As it has been stated, not every member of the team is skilled in the tools and programming languages that have been chosen to develop the system. Due to this, a development seminar will be held, in order to provide enough proficiency to each member of the team to contribute to the development phase. The contents of the seminar will be: 1. Setting up the local environment a. Java 1.6.0 b. Eclipse 3.7.1 c. MySQL 5.5.17
2. Setting up the common environment a. Connection to online repository (SVN or Git decision pending to be done). 3. Java 1.6 a. Basics of Language b. Basics of Swing c. Connection to MySQL The learning of a programming language requires extra effort by the group members, so initiation course material will be provided for personal work. The material will be Eclipse and Java for Total Beginners course. The estimated duration of the classroom lessons will be 6 hours (held in 2 days December 12 & 13 in the Development Phase @ Increment 1), but it is important to remark that for achieving the acceptable level of learning, extra effort with the initiation material is needed.
3.3.3 Development
3.3.4
Testing
3 Execution
3.3.5 Review Meeting 3.4.1 Requirements Analysis & Review 3.4.2 Design
3.4.3 Development
4.2 Project Status Meetings 4 Monitoring & Controlling 4.3 Risk Management 4.4 Update Project Management Plan 5.1 Document Lessons Learned 5.2 Update & Archive Files/Documents 5.3 Gain Formal Acceptance
5 Closeout
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 WBS Dictionary
Multimedia Management System WBS Code Element Name Definition 1 Initiation The work to initiate the project. 1.1 Project Team Kickoff Meeting Project Overview & Scope Identification The first meeting of the project team and the project sponsor (i.e., course responsible). The project team discussion regarding the overview of the project, identification of the preliminary scope of the project, and to evaluate and suggest different alternatives. The work for the planning process of the project. The development of the software project management plan with the equal participation of each member of the project team. The project plan evaluation and recommendations by project sponsor. The updating of project plan by project team, with regard to the evaluation and recommendations suggested by project sponsor. The work involves executing the project. A formal kickoff meeting of the project team to discuss the project execution work. The acquisition of all the hardware and software resources needed to develop, test, and install the system. As system is going to be implemented in increments, and so here Increment-1 workout involves all the tasks needed to complete the first increment. The analysis of system requirements, and prioritization of requirements according to the importance and current understanding. System design includes architecture design, database design, interface design. SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 20
1.2
2 2.1
Planning Develop Software Project Management Plan Project Plan Evaluation & Recommendations Update Project Management Plan
2.2
2.3
3 3.1
3.2
3.3
3.3.1
3.3.2
Design
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 3.3.3 3.3.4 Development Testing Development is the coding phase of the system. This phase involves system testing with different testing techniques, e.g., code testing, functional testing, performance testing etc. A review meeting after the Increment-1 workout, in order to discuss and evaluate the progress of the system. All the tasks needed to complete the second increment. The requirements analysis and review for the remaining part of the system, in accordance with the earlier defined requirements. System design may need to be modifying according to new set of system functionality and requirements. The coding phase of the second increment. The testing of Increment-2 components and then integration of all the components from both increments, and testing of system as a whole. System deployment and installation consists of all the activities needed to make software system for use, e.g., release management activities. The activities involved to monitor and control the process of the project, e.g., identifying variances from the plan, take corrective actions. Overall project management activities to ensure the smooth and managed flow of the project. Weekly team status meetings. This phase involves risk management activities as defined the Risk Management Plan, e.g., identification of potential risks, and risks response plans. The updating if project management plan as the project progresses. SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 21
3.3.5
Review Meeting
3.4
Increment-2 Workout
3.4.1
3.4.2
Design
3.4.3 3.4.5
3.5
System Deployment/Installation
4.1
Project Management
4.2 4.3
4.4
5 5.1
Closeout Document Lessons Learned Update & Archive Files/Documents Gain Formal Acceptance
The work activities to close-out the project. The project team meeting to discuss and document the lessons learned during the project. This phase involves updating and archiving all the files, records, and documents relating to the project. Formal acceptance of project by project sponsor.
5.2
5.3
5.3.1.1. Requirements tracing In this project the requirements are clear and simple, we have first identified the requirements since the customer demanded that after a preliminary discussion with the customer, after that we will review and document the requirements and provide it to the customer to verify it before proceeding to the next step in developing the project. 5.3.1.2. Requirements prioritization As for prioritizing the requirements, we have already identified 2 iterations to develop the software, based on that we will choose the prioritization strategy, the requirement will be grouped in 2 groups with relevance to the functionality identified in each iteration, after that a ranking of requirements will be performed on each group, we have chosen this strategy because it is simple and effective as the requirements are not large. 5.3.1.3. Reporting For reporting the requirements we will use SRS to document and report the requirements. 5.3.2. Schedule Control Plan Once the project schedule is created and the project schedule is being tracked and updated, the most challenging job of managing a project is controlling the project. The schedule control plan will take measures to eliminate schedule delay and to ensure tasks are on time. It includes several components: 5.3.2.1. Control Changes To prevent the project from falling behind from defined schedule, a process for continuous control and monitoring of needs has been implemented. Controlling project variances will
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 keep the project schedule accurate, detailed, and on task. Continuously refer to the statement of work or scope will help eliminate scope creep. 5.3.2.2. Observe Performance: Human behavior plays a very large role in controlling the project schedule as it relate to timely task completion. The project manager, along with the team members, will have a keen awareness of what is happening (or not happening) with the project and will be alert to possible risks. 5.3.2.3. Follow Up The schedule will be updated routinely. If a team member will not be available during a normally scheduled update session, arrangements will be made to get the update earlier so that information can be shared with the rest of the project team. 5.3.2.4. Reporting Strategy A reporting strategy has been developed beyond the updating of the project schedule. These status reports will include topics such as issue identification, issue resolution, decisions, or upcoming events. These reports will be generated on weekly basis, and will be distributed to all of the team members routinely. 5.3.3. 5.3.3.1. Budget Control Plan Cost baseline
A cost baseline is created and estimates the budget of the whole project, which mainly includes human resources (see Subclause 5.1). Besides this, we can estimate a cost of 2,500 $ in acquiring the hardware and software resources. Summarizing the baseline cost is estimated in 20,000 $.
5.3.3.2.
We have estimated our task in the estimation plan. We further break down the tasks and represent them in the WBS. In the WBS we have work packages which define our sub tasks. We estimate the completion of our status by comparing it with the WBS and check how much we finished our task.
5.3.4. Quality control plan Quality control is performed on the following levels: 5.3.4.1. Life cycle model During the second iteration, any faults that were found during the testing phase of the first iteration will be taken into consideration and the necessary changes will take place in the requirements, design and the source code. 5.3.4.2. Verification and validation During the testing phase, verification and validation will be performed, in order to minimize the risk that failures will occur to the end product. More details about verification and validation can be found on the subclause 7.2 of this SPMP.
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 5.3.4.3. Project activities During any of the project activities, either management or product oriented, each member has the responsibility of monitoring the quality of the work. Any discrepancies shall be reported and mitigation strategies shall be discussed during scheduled or unscheduled team meetings. 5.3.5. Reporting plan Reports shall be presented during scheduled meetings. In case of unforeseen contingencies, e-mails, VoIP or file sharing shall be used. Each member of the team has the right to file and present a report about any issue relevant to the project. The rest of the team shall decide on the importance of the issue and solutions shall be discussed before a final decision can be reached. The form of reports may be in document file format, e.g. MS Word and PDF files. Reports to external factors, e.g. the customers, shall be filed in a format and at a time specified by those factors. 5.3.6. Metrics collection plan The size and complexity of this project renders the need for metrics collection obsolete.
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 The product shall be developed for the Windows operating system. It is unlikely that the underlying technologies will change so dramatically, during the execution of the project, that the product will be rendered useless or have to change considerably to meet new technological requirements. The customers have formed the team. Therefore, the team formation poses no risk to the execution of the project. The customers assured the team that the team formation is final. It is most unlikely that this decision will change. The diversity of the team is an important risk. Each team member has very different background knowledge and experience. As a result, understanding of common issues may differ from member to member. This can result in some members devoting a lot of effort, but without quality results. It is therefore acknowledged that, more time may be wasted for communication reasons than the respective time that would be required in a homogeneous team. Risks related to schedule are apparent, for a variety of reasons. The team has no prior experience in managing projects. In addition, the skill levels of the team members are different. That means that time is likely to be spent on learning from each other, so that all members can contribute to all phases of the project. Risks related to budget are very low. As mentioned in the subclause 1.1.2 of this plan, all software shall be acquired for free. For this reason, the expenses from the team are not likely to rise. The computer systems the team is using have already been purchased and, so, they are not likely to change, unless the computer of a member breaks down. To sum up, the main risks that can affect the project are the scope acceptance by the customers and the communication between the team.
The lifecycle of the product development will include two iterations. During the second iteration, the results of verification and validation will be considered, in order to improve the quality of the end product.
SOFTWARE PROJECT MANAGEMENT PLAN TEAM 2 November 29, 2011 Deliverable documents Prepared by Requirement analysts Software developers Requirement analysts Reviewed by Project team Project team Project team
The software Dropbox and Google Docs shall be used for sharing accepted solutions to the occurring problems.