BuySafe Project Plan Version 1.0 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 Revision History Date Version Description Author 2012-10-25 0.01 Initial Draft Juraj Murgić 2012-10-30 0.1 First version Juraj Murgć 2012-11-01 0.2 Second version Saša Marjančić Page 2 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 Table of Contents 1. Introduction 4 1.1 1.2 1.3 1.4 Purpose of this document Intended Audience Scope Definitions and acronyms 1.4.1 Definitions 1.4.2 Acronyms and abbreviations 1.5 References 4 4 4 4 4 5 5 2. Background and Objectives 5 3. Organization 5 3.1 3.2 3.3 3.4 Project group Customer Supervisor Others 6 7 7 7 4. Development process 7 5. Deliverables 7 5.1.1 Remarks 10 6. Inputs 10 7. Project risks 10 8. Communication 11 8.1 8.2 8.3 8.4 8.5 11 11 11 11 11 9. Language Asynchronous communication Synchronous communication Minutes of Meeting document Event organization and time management Configuration management 11 9.1 9.2 9.3 11 11 11 10. Google Documents SkyDrive SVN Project plan 12 Time schedule 10.1.1 Remarks 10.2 Activity plan 10.2.1 Remarks 12 13 14 15 10.1 Page 3 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 1. Introduction 1.1 Purpose of this document The purpose of this document is to provide a detailed project description of the application called BuySafe, which is designed to help people buy better and more quality items. This document includes details about organization, roles, deliverables, project risks, time plans and financial plans. 1.2 Intended Audience This document shall be used in all phases of the project as a guideline. Intended audiences of this project are all project stakeholders: project supervisor project leader team members 1.3 Scope This document defines the project plan of the BuySafe application. The overview includes objectives of the project, organization of the project team, development process that is going to be used during the project, assessment of possible risks, communication used between project stakeholders and project plan that includes time schedule and activity plan. 1.4 Definitions and acronyms 1.4.1 Definitions Keyword BuySafe Project Supervisor Project Leader Team Member Milestone Subversion Scrum Kunagi Scrum sprint Scrum master Product owner Definitions The name of the project A person in charge of supervising the project A person in charge of organizing the team and communicating with the project supervisor An active member of the team responsible for making the job done A time in a project that marks the end of a project phase or the completion of an important deliverable. Version control system that will be used in this project An iterative and incremental agile software development method for managing software projects and product or application development Web-based tool for integrated agile project management and collaboration based on Scrum The basic unit of development in Scrum Ensures the smooth working of the Scrum team and enforces Scrum practices Responsible for product management and its quality Page 4 BuySafe Project Plan 1.4.2 Version: 1.0 Date: 2012-10-30 Acronyms and abbreviations Acronym or abbreviation SVN IDT FER POLIMI URL GUI 1.5 Subversion Innovation, design och technik Fakultet elektrotehnike i računarstva Politecnico di Milano Uniform resource locator Graphical user interface References 1. 2. 3. 2. Definitions http://www.scrum.org/ http://kunagi.org/ http://svnbook.red-bean.com/en/1.5/index.html Background and Objectives Nowadays it is common to see news and reports about companies recalling their products or some other safety incidents occur. This makes people more cautious when buying goods and they want to avoid potential risks and select safer products. The goal of this project is to develop an application that could protect customers from harmful goods by providing them with advices or detailed reports about what they want to buy. For food related products, the application should be able to inform customers about harmful contents that might cause health problems. For those who have allergic history or certain illnesses, the application should suggest them not to buy products that might harm them according to medical knowledge. Furthermore, customers should be informed if there is recall history or safety incident reports linked to the manufacturer that produces the products they want to buy. Since the team will be using Agile methods as the way of working, the group will work as a cross functional team. Thus, the deliverables will be matched with each sprint delivery, and each phase of testing will also be done within a sprint. For detailed milestones and sprint plan please refer to chapter 10. 3. Organization Project team will consist of six team members and supervisor, Marin Orlić. Three team members, Juraj Murgić, Saša Marjančić, and Želimir Kompes are working in Zagreb. The rest of the three, Trevor Jagerfield, Fouad Yaseen, and Xiaowei Ma are working in Vasteras. The project manager will be Juraj Murgić who will coordinate and organize the team members and resources. Trevor Jagerfield will be the team leader responsible for organizing team members in Vasteras and coordinating with Juraj Murgić. Page 5 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 In order to match the three tier architecture and have clearer responsibilities, the whole group is divided into three subgroups. Juraj Murgić and Saša Marjančić are responsible for service layer development, Želimir Kompes and Fouad Yaseen are responsible for presentation layer development, Trevor Jagerfield and Xiaowei Ma responsible for data layer management. For more detailed individual responsibilities please refer to chapter 10. 3.1 Project group Name Initials Juraj Murgić JM Trevor Jagerfield TJ Saša Marjančić SM Responsibility (roles) Project Manager, Process development, Server side developer Team Leader, Process development, Database Developer SVN Manager, Server side developer Želimir Kompes ZK Project Coordinator, UI developer Fouad Yaseen FY Code Style Supervisor, UI developer Xiaowei Ma XM Code Style Supervisor, Database Developer Page 6 BuySafe Project Plan 3.2 Version: 1.0 Date: 2012-10-30 Customer The target customers are listed below: Parents who want to choose products carefully for their young children. People who have special needs, especially those who have allergic history or certain illness. People who want to have healthier foods. People who want to buy products with high quality. Athletes or special groups that need to be on diet. 3.3 Supervisor Project supervisor is Marin Orlić. 3.4 Others Project includes outside consultants on application functionality and application domain. Consultants for application functionality are: Marko Paripović (Udruga za zaštitu prava potrošača „Potrošački centar“), Nela Kovačević (Savez udruga za zaštitu potrošača Hrvatske) and Carol Pollack-Nelson, Ph.D.(International Consumer Product Health & Safety Commission). Consultant on application domain is: Siniša Bošković (dr. internal medicine). 4. Development process The project will use SCRUM as the development process. The SCRUM Team will consist of Juraj Murgić, Saša Marjančić, Želimir Kompes, Fouad Yaseen, Xiaowei Ma and Trevor Jagerfield. Juraj will be the Product Owner and he will mainly be responsible for product management and its quality. Fouad will be Scrum Master ensuring the smooth working of the SCRUM team and enforcing SCRUM practices. There will be four SCRUM Sprints. Each sprint will start with a Sprint Planning Meeting and will end with a Sprint Retrospective. Apart from these mandatory meetings, there will also be a fifteen-minute Sprint Review Meeting two times every week, throughout each sprint. Development tool that will be used to supplement SCRUM is Kunagi (http://kunagi.org/). 5. Deliverables To Project team Project team Project team Project team Project supervisor Project supervisor, project team, Course staff Project team Project supervisor Output Project vision overview document Project team contact information document Responsibilities by date Project vision Presentation (v.1) Project vision Presentation (v.1) Project vision Presentation Project plan document (v.1) and Requirements Definition document (v.1) Project plan document (v.1) and Requirements Definition document Planned week 42 42 Promised week 42 42 Late +/0 0 Delivered week 42 42 42 42 42 42 42 42 42 43 0 0 0 0 42 42 42 43 43 43 0 43 43 44 0 44 Rem Page 7 BuySafe Project Plan Project supervisor, project team, Course staff Project functionality consultants Project supervisor, project team, Course staff Project supervisor, project team, Course staff Project team Project supervisor, project team, Course staff Project team Project team Project team Project team Project team Project team Project supervisor Project team Project team Project team Potential users Project team Project functionality consultants Project supervisor Project supervisor Project Version: 1.0 Date: 2012-10-30 (v.1) Project plan Presentation 43 44 0 44 Presentation of the project functionalities and GUI mockup 44 44 0 44 Project plan document (v.1) and Requirements Definition document (v.1) 44 44 Requirements Definition and System Architecture Presentation 44 45 Server interface definition (Application documentation) Design Description document (v.1) 45 46 45 45 Server side implementation project code with comments Client side GUI mock up's Client side defined functionalities implementation code with comments Server side implementation project code with comments 45 45 45 45 45 45 46 46 Client side GUI mock up's Client side defined functionalities implementation code with comments Application screens shots that show the implemented functionality Server side implementation project code with comments 46 46 46 46 46 47 47 47 Client side defined functionalities implementation code with comments Alpha prototype code and comments Application screens shots that show the implemented functionality Definition of data sources for the application (Application data sources description document) Application screens shots that show the implemented functionality 47 47 47 47 48 47 48 49 47 47 Application screens shots that show the implemented functionality Alpha prototype presentation Milestone - Alpha prototype 47 48 47 47 48 48 Page 8 BuySafe Project Plan supervisor, project team, Course staff Project team Project team Project team Project team Project team Project team Project supervisor Potential users Project team Project team Project team Project functionality consultants Project supervisor Project supervisor, project team, Course staff Project team Project supervisor, project team, Course staff Project supervisor, project team, Course staff Project supervisor Project supervisor, project team, Course staff Project supervisor, project team, Course staff Project supervisor, project team, Course staff Version: 1.0 Date: 2012-10-30 Presentation Server side implementation project code with comments Client side GUI mock up's Client side defined functionalities implementation code with comments Server side implementation project code with comments Client side GUI mock up's Client side defined functionalities implementation code with comments Application screens shots that show the implemented functionality Application screens shots that show the implemented functionality Server side implementation project code with comments Client side GUI mock up's Client side defined functionalities implementation code with comments Application screens shots that show the implemented functionality 48 48 48 48 48 48 49 49 49 49 49 49 49 49 49 49 50 50 50 50 50 50 50 50 Application screens shots that show the implemented functionality Milestone – Beta prototype Presentation 50 50 50 51 Test plan document Acceptance test plan document 51 52 51 52 Test report document 2 2 Final project presentation Final project presentation 2 2 3 3 Final Project Report, final versions of existing documents, other projectrelated documentation 3 3 Final product (installation, source code) 3 3 Page 9 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 Application consultants 5.1.1 3 Description Project supervisor is Marin Orlić Project team consists of: Juraj Murgić (Project leader), Trevor Jagerfield (Team leader), Saša Marjančić, Želimir Kompes, Fouad Yaseen, Xiaowei Ma Course staff consists of: IDT: Ivica Crnković, Juraj Feljan, Federico Ciccozzi FER: Mario Žagar, Igor Čavrak, Ivana Bosnić, Marin Orlić POLIMI: Raffaela Mirandola, Elisabetta Di Nitto 3 Inputs From Open source Data sources Remark Id 1 7. 3 Remarks Remark Id 1 2 6. Application screens shots that show the implemented functionality Planned week Required item Barcode Scanner Database 45 45 Promised week Late +/- 48 51 3 6 Delivered week Rem 1 Description Preferably be ready in the first week. MUST be ready before the project ends. Project risks Possibility No barcode scanner functionality. Risk low No adequate data sources. high The project gets prolonged. medium Developers lack knowledge of the technology. Members not available due to some reason. medium Work coordination over distance medium Setting up the development environment takes more time. low medium Preventive action Remove barcode reading functionality and implement "search by title" only. Create a database to test application functionalities and find data sources at a later date. Avoid implementing complicated functionalities and using too much data sources. All developers work together to find the easiest possible solution. Responsible members try to finish the tasks before their unavailability. If that is not possible, other members may be assigned more tasks. Use project management tools, weekly meeting to discuss progress and clear work delegation. Try to seek help from the supervisor in this regard. In the worst case, change the development environment. Page 10 BuySafe Project Plan 8. Communication 8.1 Language Version: 1.0 Date: 2012-10-30 Official language of the project will be English. Official meetings will be held in English. All project documentation and presentations will also be written in English. 8.2 Asynchronous communication The most of the asynchronous communication will be done on Google Groups. Google Groups were chosen because of the simplicity of the information sharing. Želimir Kompes will be responsible for the maintenance of the group. Additionally, communication can be held via e-mail exchange among team members. Also, important news can be published on official project site. 8.3 Synchronous communication Because of the geographical distance between team members it will be important to have regular meetings on weekly basis. Meetings will be held at least once a week, on Wednesdays and/or Sundays. All meetings will be held as a group audio conference via Skype. Meetings are going to be organized by project leader, Juraj Murgić. 8.4 Minutes of Meeting document After every meeting, Minutes of Meeting document will be written and uploaded to SVN repository. After additional verification, document will be uploaded by project leader to official project site at: http://www.fer.unizg.hr/rasip/dsd/projects/safeshopper/documents. Documents are going to be written by Saša Marjančić and in case of unavailability by other team members. 8.5 Event organization and time management Time and place of every meeting will be published on shared Google Calendar. Availability and obligations of the team members during this project will be posted by each member individually. 9. Configuration management 9.1 Google Documents Google Documents will be used as a central place for all unofficial documents. Documents like contact information of team members, project plans, obligations by date and additional useful documentation can be found there. 9.2 SkyDrive SkyDrive is going to be used as a repository for official documentation and will contain all project documentation before upload to official project site. SkyDrive maintenance will be performed by Fouad Yaseen. 9.3 SVN All source code and finished documentation will be uploaded to SVN repository. Repository has four main directories, Code, Documentation, Other and Reports. For better organization, folder Documentation contains separated folders for every category of the documentation. Directory Other Page 11 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 will be used for unofficial documents that will be used, like data sources or sample codes. All users need to be careful when committing data to SVN. Incorrect and careless commit of the data can have serious consequences, like loss of the data. All other users of the repository will also get all changes once they update their local repository. Repository URL: svn://lapis.rasip.fer.hr/svn/dsd12/SafeShopper All team members will be able to access repository with their unique username and private password. 10. Project plan 10.1 Time schedule Id Milestone Description M001 M002 M003 M004 M005 M006 M007 M008 M009 Basic work delegation (Responsibilities by date document) Gathering and defining project requirements (Project plan document) Application functionalities defined (Requirements document and Traceability matrix) Application architecture and object model defined (Requirements document and Design description document) Data sources defined (Project vision document updated) Basic functionality implemented (Defined in project requirements document) (Application source code) Basic functionality test (Application test document) GUI test (Application test document) Project documentation updated (Project documentation) Responsible Dept./Initials Finished week Plan Metr. JM 42 Forecast Week 42 All 43 44 0 43 0 All 44 45 0 44 0 ZK,SM 44 45 XM,TJ 49 50 JM,SM,ZK,FY 49 50 JM,TY 50 50 ZK,SM 50 50 All 50 50 Rem. Actual +/0 42 0 Page 12 BuySafe Project Plan M010 M011 M012 M013 M014 M015 M016 M017 M018 Optional functionality implemented (Defined in project requirements document) (Application source code) GUI test (Application test document) Optional functionality test (Application test document) Documentation updated (Project documentation) GUI and performance test (Application test document) Application acceptance test (Application test document) Application finished (Application source code + data base file) Documentation finished (Project documentation) Project finished (Final project report document) Version: 1.0 Date: 2012-10-30 JM,SM,ZK,FY 52 1 JM,ZK 1 1 SM,TY 1 1 All 1 1 JM,FY 1 2 All 1 2 JM,SM,ZK,FY 2 3 All 2 3 All 3 3 10.1.1 Remarks Remark Id Description Page 13 BuySafe Project Plan 10.2 Version: 1.0 Date: 2012-10-30 Activity plan ID Predecessor 1 2 3 1 1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 3 3 2 7 7 9 9 9 12 12 14 14 14 13 18 9 20 20 20 18 Activity Basic work delegation Project specification Gathering and defining project requirements Application functionalities defined Application architecture defined Data sources defined Define backlog Sprint implement basic functionality Implementing backlog tasks Basic functionality test GUI test Backlog grooming Sprint implement basic functionality Implementing backlog tasks Basic functionality test GUI test Documentation updated Define backlog Sprint - optional functionality implementation Implementing backlog tasks GUI test Optional functionality test Documentation updated Define backlog Days 3 10 5 5 5 27 1 10 9 1 1 1 10 9 1 1 1 1 18 15 3 3 3 1 Mdays 1 27 18 Rem. 6 3 20 1 24 20 2 2 1 24 20 2 2 2 1 33 28 2 3 3 1 Page 14 BuySafe Project Plan Version: 1.0 Date: 2012-10-30 25 24 26 27 28 29 30 31 24 24 24 25 29 30 Sprint Application testing implementation Implementing backlog tasks GUI and performance test Application acceptance test Application finished Documentation finished Project finished and final 10 29 10 5 5 4 6 1 15 4 10 1 18 1 Planned effort (days) Planned effort (man-days) 107 187 10.2.1 Remarks Remark Id Description Page 15