Project management methods used and why – Tools and communication templates used and why.
- Every project is led by a Project Manager (PM) / Scrum Master
- We work in AGILE SCRUM. Projects are divided into regular Sprints (normally every 2 weeks).
- We work on a task estimation basis. We do a daily morning standup on each project and provide a changelog:
-
- what’s been done,
- what’s next to be done,
- If we have any blockers (in case of cooperation with other teams responsible for example for graphics or backend tasks).
-
- After the first sprint has been completed we provide daily builds and one stable build at the end of each sprint.
- Test Driven Design (TDD) – We include in our costs writing unit and functional tests and we reserve time for bug fixing in each sprint. This is included in our repository and is made available to the client.
- We do also our internal QA – manual tests before sending a stable build to a client
- We perform regular code reviews (approximately 2 times per week) to improve our code
- Each week we have iOS and Android devs meeting to discuss how to improve our internal process of coding and resolve hard issues together
- Versions of the Apps are made available to clients via TestFlight or Greenhouse (for iOS) and Jenkins CI for Android projects
- Once a week we send a project summary to the client including a complete changelog and some proposals on improvement of both coding and communication
- Internally we prefer to use https://taiga.io to handle projects but we also use Jira and Bitbucket if that works for the client or Trello or Basecamp. In short we’ve used a lot of project management tools and we’re ok with using whatever suits the client.
- Internally all of the team, as in every single member, use something called a Google Playbook and this is just a term for a DIARY + TIMETRACKING APPLICATION + PROCESS/PROCEDURE reference manual for all of the team (how we adhere to both internal and external processes). Every member of the team has to have their own playbook open each and every single day when they’re working. Because other members of the team are sometimes working when part of the team are not then the Playbook serves as a reference to show ‘aha ok Marcin is off on holiday or Marcin is working remotely today and tomorrow’. It’s a great communications tool and has saved our lives on many an occasion. Full credit to the idea comes from Dan Martell.
- For communication we prefer to use Slack. Every project has its own channel which we can then share with the client for a smooth communication. Client can also choose to be involved in our daily Slack. We also handle projects where communication is handled via Appear.in (app and desktop application) or Skype and in this case we do a short 10 minute Appear.in/Skype call instead of a daily on Slack.
- We do a Sprint planning session with a client every week/two weeks via Skype
- We push commits to Slack as well so client can easily see what’s going on on the project.
* How we interact (e.g. is this with developers or account managers?
- To allow the developers to concentrate on the tasks at hand we assign you your own account manager – a business analyst who is able to talk with you in technical/non-technical language and who is able to discuss your requirements with the PM/Scrum Master and the developers.
- Then once the project is up and running as mentioned above we will assign you a PM/Scrum Master for your project, who takes care of all of the client requirements, manages internal and external teams.
- In case of direct questions assigned to the developers the PM/Scrum Master will ensure they are assigned and dealt with by the relevant developer(s).
Summary
To summarise, we form a daily slack channel with the development team. We form a once a week slack channel with the clients. Then we invite them into our slack channel and we participate in one weekly meeting together. Daily slack meetings last a maximum of 15-30 minutes. Weekly slack meetings last a maximum of 30-60 minutes. If a longer meeting is needed then we need to break it down into some short sections.