Although it isn’t suitable for every client and project, we have experience of running Agile projects with several of our clients here at Software Solved. Agile is a process by which a team can manage a project by breaking it up into several stages and involving constant collaboration with stakeholders and continuous improvement and iteration at every stage.
We’ve previously discussed the benefits of user stories in Agile software development: this article is about some of the lessons we’ve learnt from running an Agile software project.
As a vendor there are numerous obstacles that you are required to overcome when running a project in an agile manner. As a Graduate Project Manager, I have had the opportunity to work with a large global insurance company and throughout the duration of this project I have had first-hand experience of some of these obstacles including working across multiple time zones, varying public holidays and accessibility to subject matter experts.
Below are 6 lessons that I have taken away from this experience that I wish I had known going into this project.
- It really is a team effort
As a Scrum Master my role is to facilitate the team, to allow them to reach their goals without any impediments and to continuously encourage, support and empower them through the life cycle of the project. But it is the team that truly is the central mechanism to the success of the project, with everyone bringing an array of different skills, personality and ways of working.
Team contribution and involvement with planning, goal setting, retrospectives and lessons really do go a long way to ensuring that the project is a success. Promoting team engagement throughout all stages of the project also assists in stimulating a culture that fosters problem solving and direct communication – a key attribute to aiding the continuous fast-paced nature of an Agile project.
- Set agendas for ceremonies/meetings
Working across multiple time zones means that there is a finite timeframe to schedule meetings which allows the whole team to be involved.
By adding agendas to ceremonies, it allows the team to stay focused and address the issue in hand. As a Scrum Master it is key to keep the ball rolling and encourage participation from the whole team in the meetings. After all, two heads are always better than one.
- Little and often
Within agile size really does matter, smaller user stories will be welcomed across the team. It allows for functionality to be delivered in continuous increments while still adding business value.
To gauge the size of a user story, pointing is a useful ceremony to embed into your agile project. The points allocated must be decided collectively by the team, extremities are discussed, and a consensus of a point associating to the effort and the size of the user story is agreed.
There are many scales that can be used to estimate stories, we have used the Fibonacci scale. This is a process that really has pulled the team together, acting as a lighthouse from which their team can base their thinking.
I find this is a great ceremony to schedule for a Friday afternoon – adding some light-hearted card games to end the week with.
- Host regular project demos
Project demos are a great way for the team to showcase their progress to the client. It creates a forum for feedback and kudos. It is also a great ceremony and check point to identify changes that may be required. Any observations of future change should be handled like new functionality and added to the backlog.
Demos should be led by the team, and we have found this very useful for adding personality to the project – something that is crucial when working across a project where you may never meet the client in person.
- Retrospectives are not a ceremony to be missed
Retrospective meetings should occur at the end of a sprint and allow the team to reflect and identify what went well, what did not go so well, what could be done differently during the next sprint, and most importantly giving kudos to those who have shone throughout the sprint.
These meetings create a forum for the team to be constructive and suggest new ways of working. It also allows for the team to highlight excellence, share lessons learnt and create motivation for the team.
- Communication, Communication, Communication
Repeated three times, because I believe it is fundamentally the secret, or not so secret, ingredient to a happy project team. After all a happy project team creates a happy environment which leads to a successful project!! Across the numerous frameworks such as Scrum and XP communication is vital. Strong communication will lead to a self-organised team, enable incremental releases to run successfully and allow ceremonies to run smoothly.
These are some of the things which we at Software Solved have learnt about what’s needed for a successful Agile project. If you have any questions about an upcoming project of your own, please don’t hesitate to get in contact.
Perhaps you would like to learn more about project management? You can read our Top Tips for Project Management.
Email firstname.lastname@example.org or call 01392 453344 and we’d love to chat all things project management with you.