It takes more than an intuitive design and testable features to make a project successful.
Keeping a project within budget and time constraints is important to meet client expectations and deliver! However, this cannot be fulfilled without another key component in software development; project management.
Here at Endertech, we utilize the principles of Agile Development to help bring a project from ideation to completion. These Agile Principles allow us to satisfy our client’s evolving needs, & stay organized internally. In a perfect world, all project requirements would be discovered before the project even begins, but the reality is that requirements and features are groomed and finalized as the project progresses. To help manage projects, we use a project tracking software called Jira, which applies us many of the Agile Development principles we love.
Let’s take a brief tour in how we utilize Jira to set up a project for success:
Within Jira, we create a board per project and the project manager first starts by setting up the backlog. The backlog consists of all the project requirements (as many as we can think of) for the completion of the project. No requirement is too small!
1. We format these project requirements based on the user’s point of view, i.e: what actions are they going to perform within the website/app.
Ex: “A User should be able to magnify the product image on the Product Detail Page”
2. Then the Project Manager will organize these cards into logical groupings called “Epics”. This allows our team to gauge how much work is left within each category.
3. We can then take these cards and further categorize them by Versions. This is to ensure we get a working product to launch as quickly as possible and then we iterate upon that.
- The approach to versioning would be: Need to have (MVP) vs. can wait a couple weeks after launch (V1, 1.1, 1.2, etc)
4. After we’ve written the project requirements, we assign “Story Points” to them. Typically we follow the fibonacci sequence to assign these points to the cards. These points are based on the complexity of the task, and roughly correlate to hours (ex: 8 = full day, 5 = half day, etc).
After the backlog is set up, our Project Manager will determine the length to timebox the project. Standard cycle (Sprint) is 2 weeks long, but based on the client, we can reduce it down to 1 week sprints. These sprints allow us to break down the project into manageable chunks that we can iterate over each sprint. The sprints also allow us to estimate how much work our team can complete based on the velocity reports(average completed story points per sprint). This is very important for any successful project because it helps us stay on track to our end goal of launching.
Here’s a peek at our workflow during each sprint:
To Do Column
- Project Manager(together with the development team) places tasks from the backlog into the current sprint that they believe can be achieved within the 2 week sprint.
In Progress Column
- Developers move the tasks from the To-Do column into the In-Progress column when they are actively working on those particular tasks.
Ready for QA Column
- Developers move tasks into this column after they’ve finished/tested the task on their own
- QA Manager moved the tasks from the “Ready for QA” column into this “In QA” when they are actively testing
- The QA manager moves the tasks into this column when they’ve been tested and approved. This column can also serve as an agenda with the client & team at the end of the sprint meeting to see the progress of the project.
Project management is very important to the successful delivery of a project. It helps manage client expectations in terms of budget and time as well as the feature requirements that will be built. Here at Endertech we pride to not only provide above par creative and technical skillsets, but also make sure that project management processes are applied and adaptive to each of our clients needs.
Using a tool like Jira has allowed the team to integrate theoretical principles to practice and deliver results. All in all, project setup can be crucial to an overall project’s success; keeping in mind that consistency throughout the project is key. It can make a difference between a managed and budgeted effort to a cloud of uncertainty and chaos.