Developing A Task Management App For Optimal Efficiency
While Jira can be useful for bug tracking and project management; there were times when follow-ups became pretty hectic. This was mainly due to a lot of people not updating Jira on a daily basis as well as a lot of run-time tasks that sprung up requiring immediate attention.
To overcome this challenge, the management proposed a solution suggesting that Sprint and Status Meetings would be conducted using sticky notes. In order to analyse day to day tasks, we were asked to write them down on sticky notes so that the supervisors and management can easily identify who is working on what task along with the task status.
Each member of the team would drag the sticky note as per the task status to identify the dependency and to let the management understand the current status.
An Idea Was Born
While having a discussion with my colleagues, we all came to the conclusion that “We belong to an IT background! Why are we wasting paper when we can do this online?” Inspired by that discussion, I decided to create a system that would serve this purpose.
Putting It Into Action
My team members and I had a moderate amount of experience in Firestore. Therefore, we decided to use it to store notes related data, which would also help enhance our Firestore experience. I took 2 – 3 days to implement a UI for it in Angular and integrated it with Firestore.
The initial idea was to create an executable file that will open when the PC starts, using electron.js. While I did create an .exe file; it didn’t work as expected.
The Launch Of Plan B
We created a webpage for our daily task tracker, which would automatically open when the PC starts. And since Firestore also provides options for hosting websites, I deployed a build on it. Then a team member suggested that we create an app. This will allow us to add notes whenever we want and will automatically populate in the to-do list of the webpage. With some help, I created a simple IONIC app and integrated it in Firestore. It worked!
You can download the source code here.
What Was The Impact?
- We can now use it to create and analyse our day to day tasks more efficiently.
- Since it offers enhanced visibility, it allows us to get a better insight into tasks planning and management.
- It offers a centralized view and makes for a good task management app for the team as well.
- Easily accessible via mobile, so you don’t have to be present on your desk to understand your entire task scenario.
- Allows for better coordination between team members making it easy to clear out dependencies.
- More convenient as compared to managing those sticky notes on a daily basis.
- Saved a lot of paper!
Final Thoughts ….
A couple of best practices to keep in mind.
- Planning the architecture should always be the number one priority. Before you start writing the first line of code, the entire picture should be clear. Right from ‘what do you expect the system to do’ and ‘how will it do that’ to ‘what will it require’ and ‘how the modules and services will work with each other’.
- Try and keep the code simple and maintainable as it will reduce the probability of bugs.
- One of the main things you need to keep in mind is that the code should be loosely coupled, i.e., the dependency loop should not be created between various functions or modules.
- Peer code review is extremely beneficial in providing good insights.
- Always implement at least one new concept or use a different approach than your regular one as it really improves the system in an overall sense and boosts your confidence.
In the most optimal solution, we trust!
If you have more interesting ideas or would like to brainstorm a couple. Don’t forget to leave your comments.