Project Management and Agile Methodology Practiced by Speed and Function
We approach our project management with the utmost in flexibility while designing the most effective process for each project individually. However, we like to follow agile best practices when developing projects as being agile helps prevent problems proactively. This approach has proved to be effective, especially on large projects. When talking about agile methodology, we like to use the following basic principles:
- Frequently deliver functionality in a progression of small steps:
- The development process is divided into short iterations called Sprints. Each Sprint contains a certain amount of features that need to be delivered by the end.
- Features for each Sprint are discussed with the client before the Sprint starts, enabling the client to have accurate expectations and to build a business strategy in step with the development progress.
- Two-way communication on a daily basis:
- We arrange calls and Google Hangout chats with the client side on a daily basis. This is needed to exchange information, get necessary answers, and remove development blockers. We like to be transparent when it comes to the development process and challenges.
- We provide prompt answers and expect our clients to do the same to avoid any blockers along the way.
- Retrospective calls:
- Once a sprint or an entire project is over, there is a retrospective call where all sides involved in the process discuss what went well, what didn’t go well, and what can be improved. We like using Trello boards for this purpose so that each person can share their opinion while being remote.
- Retros are vital to the learning process for both the client and the delivery team. They are one of the most effective tools of improving long-term collaboration.
In addition to following Agile best practices, Speed & Function management cares about other aspects of effective development process. Here are a few things we do, to show some examples:
- “If it is not documented, it doesn’t exist.” We document requirements in the very beginning of a project life cycle by asking the client side to fill out a Google Form that contains questions and details for reference. This document also helps to avoid any confusion and misunderstandings later in the project life cycle.
- “Always have a Discovery phase.” We ensure that every project has that phase, sometimes called Sprint Zero, prior to engaging in coding. This allows our clients to understand whether their needs and ambitions fit their budgets.
- Making sure that all tickets in Redmine issue and time tracking system that we are using are updated and reflect the most actual information on a daily basis.
- Provide low-end and high-end estimates for new potential projects by cooperating with teams of server-side and front-end Developers, DevOps and QA Engineers.
Get the right people. Then, no matter what else you may do wrong after that, the people will save you. That’s what management is all about.
Tom DeMarco, 1997
We care about our reputation and about our client’s reputation. We would rather be partners, rather than just service providers. For this reason, we are always willing to suggest the best solutions and practices based on our experience. We act as a single team with our clients and believe this feature is most effective when we work and contribute together in synchronicity.