User Guide
- Introduction
- Quick start
- Features
- FAQ
- Command summary
- Glossary
Introduction
Overview
Productiv is a one-stop desktop app for product managers like yourself to organise your deliverables, meetings and contacts so that you can track your product’s development easily.
Productiv is optimized for use via Command Line Interface (CLI). Thus, if you like to type and/or type fast, Productiv has just become better for you. Nevertheless, Productiv still has the benefits of a Graphical User Interface (GUI).
Preview
To get you familiarised, the following is Productiv’s GUI.

GUI components:
-
Navigation bar: where you navigate to other modes.
-
Command box: where you enter your commands.
-
Feedback box: where you can see the feedback of your command.
If your command is successful, you can see a success message.
Otherwise, you can see an error message.
-
Left panel: where you can view
- your product’s overall completion percentage (in dashboard mode), or
- your list of deliverables, meetings, or contacts (in deliverable, meeting, or contact mode)
- your product’s overall completion percentage (in dashboard mode), or
-
Right panel: where you can view
- your product management schedule (in dashboard mode), or
- an expanded view of your selected deliverable, meeting, or contact (in deliverable, meeting, or contact mode)
- your product management schedule (in dashboard mode), or
Note: For modes other than the dashboard, you can see your file path at the bottom of your GUI.
Quick start
-
Ensure you have Java
11installed in your computer (it should be your default Java version). -
Download the latest
productiv.jarfrom here. -
Copy the .jar file to an empty folder.
-
From your terminal, navigate to the folder containing the .jar file and enter
java -jar productiv.jarto start Productiv. Your dashboard should appear in a few seconds. Note that the app contains some sample data.
Dashboard -
Type a command in the command box and press Enter to execute it. Here is a sequence of example commands you can try:
-
switch dv: Switches to deliverable mode. -
add t/Find profile page template by/11-12-2020 12:00 m/2.1.1: Adds a deliverable with the titleFind profile page template, deadline11-12-2020 12:00and milestone2.1.1. -
delete 1: Deletes the 1st deliverable shown. -
exit: Exits the app.
-
-
Refer to Features below for details of each available command.
Features
Notes about the command format:
-
Words in upper case are the parameters to be supplied by you for their respective fields.
e.g. inadd n/NAME,NAMEis a parameter for the name fieldn, which can be used asadd n/Jason.
Tip: If you are not sure what specific parameter to supply for any of the required fields, supply an estimate or random value as place holder. -
Field-parameter pairs in square brackets are optional.
e.gn/NAME [p/PHONE]can be used asn/Jason p/98890112or asn/Jason. -
Field-parameter pairs can be in any order.
e.g. if the command specifiesn/NAME e/EMAIL,e/EMAIL n/NAMEis also acceptable. -
If multiple and/or repeat parameters are provided for the same field, only the last parameter will be accepted.
e.g. if you input the commandadd r/dev n/NAME r/stk e/EMAIL r/stk, it will be accepted asadd n/NAME r/stk e/EMAIL. -
For single-word commands without fields, any word(s) following it will be ignored.
e.g. if you input the commandlist everything please, it will be accepted aslist.
General
Switching modes: switch
Switches to dashboard, deliverable, meeting or contact mode.
Format: switch MODE
-
MODEcan bedb(dashboard),dv(deliverable),m(meeting) orc(contact). -
switchdv,morcwill display information related to your deliverables, meetings and contacts respectively, e.g.switch cwill display your contacts. -
switch dbwill display your project’s completion status and your own schedule. - How the commands will be executed depend on which mode you are currently in, e.g.
delete 1in meeting mode deletes the 1st meeting shown.
Examples:
-
switch dbswitches to dashboard mode. -
switch mswitches to meeting mode.
Viewing help: help
Shows a message directing you to this User Guide.
Format: help
Exiting Productiv: exit
Exits the program.
Format: exit
Saving the data
Productiv automatically saves any changes that you made, to your computer’s hard disk. Hence, you can focus on managing your product without fearing any unsaved changes.
Dashboard
The dashboard gives you an overview of information related to your product. The dashboard is the default landing page of Productiv. Whenever you start up Productiv, you will be brought to dashboard mode.
The Overall Completion Percentage (OCP) will be displayed in the left panel. The OCP gives you a quick overview of the progress of your product’s development.
Your schedule will be displayed in the right panel. The schedule contains all your deliverables and meetings, chronologically sorted.
Note: There are no commands specific to the Dashboard.
You can only use commands found under General.
Deliverable

Note: You must be in the deliverable mode to execute the following commands.
Refer to switch for more information.
Adding a deliverable: add
Adds a deliverable to your deliverable list.
Format: add t/TITLE by/DEADLINE m/MILESTONE [c/CONTACTS] [d/DESCRIPTION]
-
TITLEis the main heading of the deliverable. -
DEADLINEis the due date time of the deliverable in dd-MM-yyyy HH:mm format. -
DEADLINEcan be in the past but must not be earlier than the year 2019. -
MILESTONEis the milestone tagged to the deliverable. -
MILESTONEis a non-negative integer, or a period-separated string of non-negative integers, e.g.2,14.2.1. -
CONTACTSrepresents the contact(s) involved in seeing through the deliverable. -
CONTACTSis a name, or a comma-separated string of names, e.g.conan,nancy, drew, paul. -
DESCRIPTIONcontains additional information about the deliverable, e.g. sub-requirements.
Notes:
-
As
CONTACTSis not related to your contact list, you can include those not present in it. -
You cannot add a deliverable with the same
TITLEandDEADLINEas an existing deliverable. -
All newly-added deliverables will be assigned the
on-goingtag regardless of their deadline. You will need to manually mark past deliverables ascompleted. Refer to Marking a deliverable as completed below for more details on thedonecommand.
Examples:
-
add t/Login screen by/10-10-2020 18:00 m/1.1 c/Jordan Woods, Betsy Crowe d/Include email and password fieldsadds a deliverable with the titleLogin screen, deadline10-10-2020 18:00, milestone1.1, contactsJordan Woods, Betsy Croweand descriptionInclude email and password fields. -
add t/Find profile page template by/08-12-2020 12:00 m/2.1.1adds a deliverable with the titleFind profile page template, deadline08-12-2020 12:00and milestone2.1.1.
Editing a deliverable: edit
Edits an existing deliverable in your displayed deliverable list.
Format: edit INDEX [t/TITLE] [by/DEADLINE] [m/MILESTONE] [c/CONTACTS] [d/DESCRIPTION]
-
INDEXis the index number of the deliverable in your displayed deliverable list. -
INDEXmust be a positive integer. - At least one of the fields of the deliverable must be changed.
- The existing values of the specified deliverable will be updated to the input values.
- You can clear an optional field by inputting an empty parameter, e.g.
edit 1 d/will empty the description of the 1st deliverable.
Note: You cannot edit a deliverable to have the same TITLE and DEADLINE as an existing deliverable.
Examples:
-
edit 1 d/Must include username, email and password fields by/15-12-2020 12:00edits the description of the 1st deliverable to beMust include username, email and password fieldsand its deadline to be15-12-2020 12:00. -
edit 2 c/clears the optional contacts field of the 2nd deliverable.
Marking a deliverable as completed: done
Marks the specified deliverable from your displayed deliverable list as completed.
Format: done INDEX
-
INDEXis the index number of the deliverable in your displayed deliverable list. -
INDEXmust be a positive integer.
Example:
-
done 1marks the 1st deliverable in your displayed deliverable list as completed.
Marking a deliverable as on-going: undone
Marks the specified deliverable from your displayed deliverable list as on-going.
Format: undone INDEX
-
INDEXis the index number of the deliverable in your displayed deliverable list. -
INDEXmust be a positive integer.
Example:
-
undone 1marks the 1st deliverable in your displayed deliverable list as on-going.
Viewing a deliverable: view
Displays more details of the specified deliverable from your displayed deliverable list.
Format: view INDEX
-
INDEXis the index number of the deliverable in your displayed deliverable list. -
INDEXmust be a positive integer.
Example:
-
view 2views the 2nd deliverable in your displayed deliverable list.
Viewing a deliverable
Finding deliverables: find
Finds the deliverables whose titles or descriptions contain any of the given keywords.
Format: find KEYWORDS
-
KEYWORDScontains one or more keywords used to match deliverables. - Searches only consider title and description.
- Searches are case-insensitive, e.g.
homepagewill matchHomepage. - Order of keywords does not matter, e.g.
Homepage Navigationwill matchNavigation Homepage. - Searches only account for full words, e.g.
Deploywill not matchDeploymentbutStand-upwill matchUp buttonandLaptop stand. - Searches return deliverables matching at least one keyword, e.g.
Homepage Navigationwill returnComplete HomepageandIncrease size of Navigation Bar.
Examples:
-
find mock-up urgentreturns a deliverable with titleFinish mock-upsand another with descriptionThis is urgent and important!. -
find planreturns a deliverable with titleFinalise design and planand another with descriptionReminder to plan time wisely..
Listing all deliverables: list
Lists out all deliverables in your deliverable list, if any.
Format: list
find command.
Refer to Finding deliverables above for details of the find command.
Deleting a deliverable: delete
Deletes the specified deliverable from your deliverable list.
Format: delete INDEX
-
INDEXis the index number of the deliverable in your displayed deliverable list. -
INDEXmust be a positive integer.
Example:
-
delete 2deletes the 2nd deliverable in your deliverable list.
Clearing all deliverables: clear
Clears all deliverables from your deliverable list, if any.
Format: clear
Meeting

Note: You must be in the meeting mode to execute the following commands.
Refer to switch for more information.
Adding a meeting: add
Adds a meeting to your meeting list.
Format: add t/TITLE from/FROM to/TO [c/CONTACTS] [l/LOCATION] [d/DESCRIPTION]
-
TITLEis the main heading of the meeting. -
FROMis the start date and time of the meeting in dd-MM-yyyy HH:mm format. -
FROMcan accept dates in the past but must not be earlier than the year 2019. -
TOis the end time of the meeting in HH:mm format. -
CONTACTSrepresents the contact(s) involved in the meeting. -
CONTACTSis a name, or a comma-separated string of names, e.g.conan,nancy, drew, paul. -
LOCATIONis the location of the meeting. -
DESCRIPTIONcontains additional details about the meeting, e.g. agenda.
Notes:
-
Different meetings may have overlapping timings as you may wish to send a representative for your clashing meetings.
-
As
CONTACTSis not related to your contact list, you can include those not present in it. -
You cannot add a meeting with the same
TITLE,FROMandTOas an existing meeting.
Example:
-
add t/Discuss app requirements from/11-12-2020 09:00 to/10:00 c/Jordan Woods, Betsy Crowe d/Refine with business associatesadds a meeting with the titleDiscuss app requirements, start date and time11-12-2020 09:00, end time10:00, contactsJordan Woods, Betsy Croweand descriptionRefine with business associates. -
add t/User research review from/15-12-2020 13:00 to/15:00 l/Meeting room Aadds a meeting with the titleUser research review, start date and time15-12-2020 13:00, end time15:00and locationMeeting room A.
Editing a meeting: edit
Edits an existing meeting in your displayed meeting list.
Format: edit INDEX [t/TITLE] [from/FROM] [to/TO] [c/CONTACTS] [l/LOCATION] [d/DESCRIPTION]
-
INDEXis the index number of the meeting in your displayed meeting list. -
INDEXmust be a positive integer. - At least one of the fields of the meeting must be changed.
- The existing values of the specified meeting will be updated to the input values.
- You can clear an optional field by inputting an empty parameter, e.g.
edit 1 d/will empty the description of the 1st meeting.
Note: You cannot edit a meeting to have the same TITLE, FROM and TO as an existing meeting.
Examples:
-
edit 2 t/Discuss final release features d/Finalise dashboard functionsedits the title of the 2nd meeting to beDiscuss final release featuresand its description to beFinalise dashboard functions. -
edit 4 c/clears the optional contact field of the 4th meeting.
Viewing a meeting: view
Displays more details of the specified meeting from your displayed meeting list.
Format: view INDEX
-
INDEXis the index number of the meeting in your displayed meeting list. -
INDEXmust be a positive integer.
Example:
-
view 2views the 2nd meeting in your meeting list.
Viewing a meeting
Finding meetings: find
Finds the meetings whose titles or descriptions contain any of the given keywords.
Format: find KEYWORDS
-
KEYWORDScontains one or more keywords used to match meetings. - Searches only consider title and description.
- Searches are case-insensitive, e.g.
versionwill matchVersion. - Order of keywords does not matter, e.g.
v1.2 midwill matchmid v1.2. - Searches only account for full words, e.g.
Meetingwill not matchMeetings. - Searches return meetings matching at least one keyword, e.g.
Complete gamewill returnComplete featuresandFinal game.
Examples:
-
find Surveyreturns a meeting with titleSurvey potential customersand another with descriptionDon't forget to present survey results.. -
find consult goalsreturns a meeting with titleConsult about marketing goalsand another with descriptionGoals must be achieved!.
Listing all meetings: list
Lists out all meetings in your meeting list, if any.
Format: list
find command.
Refer to Finding meetings above for details of the find command.
Deleting a meeting: delete
Deletes the specified meeting from your displayed meeting list.
Format: delete INDEX
-
INDEXis the index number of the meeting in your displayed meeting list. -
INDEXmust be a positive integer.
Example:
-
delete 3deletes the 3rd meeting in your displayed meeting list.
Clearing all meetings: clear
Clears all meetings from your meeting list, if any.
Format: clear
Contact

Note: You must be in the contact mode to execute the following commands.
Refer to switch for more information.
Adding a contact: add
Adds a developer or stakeholder to your contact list.
Format: add n/NAME r/ROLE e/EMAIL [p/PHONE] [d/DESCRIPTION]
-
NAMEis the name of the contact. -
NAMEshould only take alphabetic characters and (optionally) spaces. -
ROLEis the type of contact, eitherdev(developer) orstk(stakeholder). -
EMAILis the email address of the contact. -
PHONEis the phone number of the contact. -
PHONEshould only contain numbers, and must be at least 3-digits long. -
DESCRIPTIONcontains additional information about the contact, such as their job position.
Note: You cannot add a contact with the same NAME and EMAIL as an existing contact.
PHONEs with country codes.
Examples:
-
add n/Jordan Woods r/dev e/jordanwoods@glutter.com p/81234567adds a developer with the nameJordan Woods, emailjordanwoods@glutter.comand phone number81234567. -
add n/Betsy Crowe r/stk e/betsybet872@pmail.comadds a stakeholder with the nameBetsy Croweand emailbetsybet872@pmail.com.
Editing a contact: edit
Edits an existing contact in your displayed contact list.
Format: edit INDEX [n/NAME] [r/ROLE] [e/EMAIL] [p/PHONE] [d/DESCRIPTION]
-
INDEXis the index number of the contact in your displayed contact list. -
INDEXmust be a positive integer. - At least one of the fields of the contact must be changed.
- The existing values of the specified contact will be updated to the input values.
- You can clear an optional field by inputting an empty parameter, e.g.
edit 1 d/will empty the description of the 1st contact.
Note: You cannot edit a contact to have the same NAME and EMAIL as an existing contact.
Examples:
-
edit 1 e/jeremysand@glutter.com p/81234567edits the email and phone number of the 1st contact to bejeremysand@glutter.comand81234567respectively. -
edit 2 p/clears the optional phone field of the 2nd contact.
Viewing a contact: view
Displays more details of the specified contact from your displayed contact list.
Format: view INDEX
-
INDEXis the index number of the contact in your displayed contact list. -
INDEXmust be a positive integer.
Example:
-
view 2views the 2nd contact in your contact list.
Viewing a contact
Finding contacts: find
Finds the contacts whose names or descriptions contain any of the given keywords.
Format: find KEYWORDS
-
KEYWORDScontains one or more keywords used to match contacts. - Searches only consider name and description.
- Searches are case-insensitive, e.g.
hanswill matchHans. - Order of keywords does not matter, e.g.
Hans Bowill matchBo Hans. - Searches only account for full words, e.g.
Hanwill not matchHans. - Searches return contacts matching at least one keyword, e.g.
Hans Bowill returnHans SeedandBo Yarns.
Examples:
-
find alex yeohreturns a contact with nameAlex Yeohand another with descriptionBusiness analyst. Alex works with him.. -
find Johnsonreturns a contact with nameAmber Johnsonand another with descriptionWorks at Johnson & Johnson.
Listing all contacts: list
Lists out all contacts from your contact list, if any.
Format: list
find command.
Refer to Finding contacts above for details of the find command.
Deleting a contact: delete
Deletes the specified contact from your displayed contact list.
Format: delete INDEX
-
INDEXis the index number of the contact in your displayed contact list. -
INDEXmust be a positive integer.
Example:
-
delete 3deletes the 3rd contact in the displayed contact list.
Clearing all contacts: clear
Clears all contacts from your contact list, if any.
Format: clear
FAQ
Q: How do I start using Productiv?
A: You can refer to our Quick Start Guide.
Q: Which operating systems can I run Productiv on?
A: Currently, Productiv is supported on both Windows and Mac. Just ensure
that you have Java 11 installed on your computer and it is your default Java version.
Command summary
General
| Action | Format, Examples |
|---|---|
| Switch |
switch MODE e.g. switch dv
|
| Help | help |
| Exit | exit |
Deliverable
| Action | Format, Examples |
|---|---|
| Add |
add t/TITLE by/DEADLINE m/MILESTONE [c/CONTACTS] [d/DESCRIPTION] e.g. add t/Login screen by/10-10-2020 18:00 m/1.1 c/Jordan Woods, Betsy Crowe d/Include email and password fields
|
| Edit |
edit INDEX [t/TITLE] [by/DEADLINE] [m/MILESTONE] [c/CONTACTS] [d/DESCRIPTION] e.g. edit 1 by/14-12-2020 12:00 d/Must include username, email and password fields
|
| Mark as completed |
done INDEX e.g. done 3
|
| Mark as on-going |
undone INDEX e.g. undone 1
|
| View |
view INDEX e.g. view 2
|
| Find |
find KEYWORDS e.g. find Homepage urgent
|
| List | list |
| Delete |
delete INDEX e.g. delete 3
|
| Clear | clear |
Meeting
| Action | Format, Examples |
|---|---|
| Add |
add t/TITLE from/FROM to/TO [c/CONTACTS] [l/LOCATION] [d/DESCRIPTION] e.g. add t/Discuss app requirements from/11-12-2020 09:00 to/10:00 c/Jordan Woods, Betsy Crowe l/Meeting Room A d/Refine with business associates
|
| Edit |
edit INDEX [t/TITLE] [from/FROM] [to/TO] [c/CONTACTS] [l/LOCATION] [d/DESCRIPTION] e.g. edit 2 t/Discuss final release features d/Finalise dashboard functions
|
| View |
view INDEX e.g. view 2
|
| Find |
find KEYWORDS e.g. find discuss user guide John
|
| List | list |
| Delete |
delete INDEX e.g. delete 3
|
| Clear | clear |
Contact
| Action | Format, Examples |
|---|---|
| Add |
add n/NAME r/ROLE e/EMAIL [p/PHONE] [d/DESCRIPTION] e.g. add n/Johnny r/stk e/johnny@example.com p/12345678 d/Business Analyst
|
| Edit |
edit INDEX [n/NAME] [r/ROLE] [e/EMAIL] [p/PHONE] [d/DESCRIPTION] e.g. edit 1 n/John r/dev e/john@email.com
|
| View |
view INDEX e.g. view 2
|
| Find |
find KEYWORDS e.g. find John Kite
|
| List | list |
| Delete |
delete INDEX e.g. delete 3
|
| Clear | clear |
Glossary
| # | Term | Description |
|---|---|---|
| 1 | Command Line Interface (CLI) | A text-based user interface (UI) used to view and manage computer files. |
| 2 | Graphical User Interface (GUI) | A system of interactive visual components for computer software. |
| 3 | Deliverable | An item to be completed as part of the product development process. |
| 4 | Milestone | A stage in the software development process associated with a particular group of deliverables. |
| 5 | Mode | The state of the application that affects how each command will be executed. The app can be in dashboard, deliverable, meeting or contact mode. |
| 6 | Stakeholder | An external party involved with the product. |