Side Project - Project Management Tool
03 | 11 | 2016
With a bit more of an understanding of who I am designing the app for I now need to create an initial plan of the scope of the app to get an overview of how the user will interact with it. Doing this helps to iron out any major issues before I commit to the wireframes and design stages.
**Disclaimer : While doing this project I'm aware of the multitude of existing project management tools, but sometimes you have to scratch an itch. The starting point for this project is to design a tool that fits my work flow and requirements rather that trying to design a product that suits multiple working styles. If you have any comments or suggestions though it would be great to hear them. You can leave me a message here or drop me a tweet. For the designers out there I'm also using the project as dribbble fodder if you want to check out more of the experimental ideas.**
Identifying needs and requirements.
The app is targeted towards freelancers and potentially small teams. As I mentioned, the project is a little bit self indulgent, however It is based on real world requirements that many designers or freelancers face. My initial ideas were to design a product that focuses on helping users manage their workload without being a hinderance. I plan to do this by creating a workflow that builds up a project timeline as the central workspace for the user, hopefully encouraging good time management and project foresight as well as providing tools along the way to support good practices. Along side this the product needs to support freelancers develop and manage their business, which can be achieved by providing information on where and how their time is spent.
App Hierarchy and key functionality
For version 1.0 of the app there are three key stages to consider. The primary workspace which will be the project page, consisting of a central timeline that uses project elements to build a project. Secondly, the admin dashboard to give constructive feedback on the users work habits. The dashboard will aggregate multiple channels of information and project elements to give a high level overview.
Finally the on boarding process. The on boarding will come later as it relies on having a definitive workflow completed, however I plan on using on boarding principles as part of the apps workflow throughout different user journeys to help maximise user engagement and understanding. For example having a sequence of steps to create a new project so that key elements of the project such as final deadline and client details are included. These would be an optional process rather than mandatory but considering them early on will help to build them into the process.
There will also be a number of additional workspaces to help users manage assets and settings, the scope of which will be defined as the project develops.
Key functionality - Dashboard
The dashboard will be the place where all high level project information is compiled together to provide an overview of a users work load.
- Project stats : A graph view to show their time spent on projects alongside earnings
- Daily events : notifications of any events planned for the current day along side reminders for the upcoming week.
- Priority tasks : A list of the (5?) most urgent tasks based on deadlines set. This list would be composed of tasks from all projects.
- Project grid : Users can access all projects and create new ones from the project grid. Each project card would contain high level information as well as notifications if the project has imminent / passed deadlines or time recorded has passed the estimated / quoted amount.
- Work Analytics : A data driven visualisation of a users work flow. It would also be helpful here to create a record of work, such as a historical month by month view of deadlines and tasks marked completed, hours per month broken down by projects etc.
Key functionality - Project page
This will be the main workspace for each project. Where users can manage individual tasks, events and deadlines (Project Elements) as well as record progress. My initial idea for this workspace would be to have a work mode for completing tasks etc and a manager mode which would focus the user to build a skeleton project timeline before filling out additional details. The user would have the option on which view to use.
Each project is made up of project elements, smaller tasks etc that go into a completed project. Initially there would be four elements : Tasks, events, deadlines and sprints. Each element would have specific functionalities associated with it, as well as more generic helper functionalities, for example a notes module. All these can be accessed via a side panel helping to keep the timeline clear for high level information. I want to have the functionalities as additions to rather than default options to avoid bloating the basic functionality. Hopefully doing it this way will keeping the system flexible and allow users to adapt the system to their workflows to encourage engagement.
Tasks are smaller chunks of work. For example “research visual identities”. Users can add the following information:
- Title (text field)
- Deadline (Date input)
- Description (text field)
- Add users (drop down selection)
- Task status (Dropdown : Active / In review / Complete)
- Time tracker : stop start button to record time spent on a task. When a user stops the timer they will receive a prompt to record details on progress made.
- Activity log : a list of all activity recorded alongside any notes made for each entry.
Events are used to add things such as meetings into the project timeline. For each event a user can add the following:
Title (text field)
Start time (time input)
Location (text field)
Description (text field)
Event status (Dropdown : Attended / Missed / Cancelled)
Deadlines are used to mark key project milestones independent of specific tasks. For example “all final artwork to be supplied to printers”. A deadline will have the following fields :
Title (text field)
Description (text field)
Deadline status (Mark as achieved)
Sprints are groups of tasks that need to be completed together. For example a sprint could be created for “Round one branding pitch” which could include the following tasks : Collect stock imagery / Concept one mock ups / Concept two mock ups / prepare presentation document.
Tasks can be reordered manually based on their priority. On the timeline the sprint would have a master deadline for the sprint rather than individual tasks.
The additional modules that can be added to any element would include :
Notes : a rich text area where users can add notes, once submitted they would be displayed with a date stamp. Additional notes would be listed descending from most recent. A note could be marked as sticky to keep it at the top of the list.
Checklist : a list module where multiple entries can be added and reordered
Resources : A gallery view of resources that can be added to an element. For example photos of a meeting board could be added. These will display thumbnails on the side panel but will be able to be viewed at full size if selected in a lightbox / similar way.
This is just an initial spec, however I will be taking the view that any new features need to earn their place, rather than adding in clutter that potentially will not be useful.
The timeline would be a date ordered representation of the project to give it a real world context. A project element can have a date associated with it which would dictate its place on the timeline. If an element has no date associated the user can drag and drop it anywhere on the timeline giving them flexibility to order and plan their work load. The associated date will also give users notifications of upcoming or missed deadlines. This will most likely been done with colour systems and icons.
To make the app more useful for freelancers and smaller teams, I would like to give them the option to collaborate with other users on projects. To share projects the app will need to display multiple timelines together in date order (where applicable) with the creator being responsible for managing users.
My initial reservation with doing this was that it could become bloated with features and end up becoming distracting. One possible solution to get around this would be to share projects, and allow the user to "mute" the project when they need to focus on their workload rather than more managerial or shared tasks. Doing this would simply hide any additional elements added by other users.
I will revisit the collaboration functionality in more detail at a later date.
To maximise the appeal of the app it needs to stay focused on just project management without interrupting existing user workflows. There will be times where external resources would be needed as part of the project management process, for example collecting research to share with a collaborator, or keeping track of admin documents such as proposals and invoices. That being the case, I can use the project as an excuse to learn more about third party API's such as dropbox and google docs.
So there it is. The first draft of a SaaS app brief. Its by no means final but should hopefully provide a good starting point to start developing a useful tool for freelancers.
If you have any thoughts feel free to get in touch. I would like to use the project as a spring board for discussion so any ideas, suggestions are more than welcome. I will be documenting my progress on here so check back to see how its getting on.