Acclaimed philosopher Plato once said, “The beginning is the most important part of the work.” And in his influential book, “The 7 Habits of Highly Effective People”, Stephen Covey encourages us to “begin with the end in mind”—it’s the second habit!
Successful project management begins with how you set them up. This is equally true for agile development projects, which we specialize in here at Koombea. We treat the beginning of the project as a crucial time for laying the groundwork for success.
Agile has been around for a few years now, so what’s the secret with getting it right in today’s environment?
Get the bonus content: 10 Great Scrum/Agile Resources
Agile has certainly become huge. A recent report reveals; “the Agile mindset is permeating businesses big and small, locally and internationally.”
Why is agile so important? It can deliver invaluable benefits to organizations. Some of these include:
Accelerating the production calendar
Easier identification and management of priorities
Efficiency, with the alignment of development teams and business needs
Improvement in software quality
Improvement in productivity and overall project success.
There is also a strong suggestion that an agile mindset helps organizations to be adaptable and more proactive in their development. Technology moves fast, and the ability to respond quickly, and respond well, can be a huge competitive advantage.
From a company to third-party developer perspective, agile helps you to stay in the loop, and provides the opportunity for frequent feedback. This can help to ensure that you’re getting what you expect out of a project, because any changes can be made quickly and efficiently, rather than developers having to retool several steps.
How agile project management works
A key thing to understand about agile is that it is geared toward continuous improvement. It uses short development cycles known as “sprints” to develop a product or service. During a sprint, the team is working to complete a segment of the project.
At Koombea, those sprints are usually around a week long, then we review that section of the project with stakeholders. This process makes it easy to initiate changes as needed, detect any issues, an ensure that efforts are focused.
Within agile, there are a number of popular methodologies. One that we use is called “Scrum” which is very popular in the development world. During a sprint, we have daily “scrum” meetings so that the scrum master (project manager) can stay updated on progress, and ensure that priorities are being met.
Product owners prioritize a backlog of work to be done, and we prioritize an order to complete the work. At the end of each sprint, the process starts over again until all work is complete. Agile teams follow 12 principles, which can be found here.
To lay the foundation for a successful scrum project you need:
The product owner is there to represent the best interests of the target end-user. They have authority over the final product. They are in charge of creating the “backlog,” which are the tasks or requirements for the final product.
The product owner also has to prioritize the backlog. This means that a couple of key requirements are:
The product owner is organized and knowledgeable about the project
There needs to be an efficient place to organize their backlog. For example, some people use Trello, Jira or other software.
The scrum master is a sort of “servant leader,” who is there to ensure that things progress under the scrum framework. A key characteristic of these teams is that there are no egos—the scrum master leads from within the team.
The development team
The team is involved in deciding how a sprint should play out and which tasks should be selected from the backlog. As a team, they decide who will be responsible for each task. Obviously, a successful project needs a strong team!
Usually, you will need a kickoff meeting, involving: the main sponsor of the project; the product owner; the project manager; and the scrum master, along with as many members of the development team as is known.
Here’s what the kickoff meeting should accomplish:
Align the team with the business objectives for the project, so there is a firm foundation of understanding moving forward
Create team energy around the common goal and an understanding of how each team member fits
Discuss any issues or misunderstandings regarding the project
Best practices for agile product development
Here are some best practices that agile teams can follow:
Clear communication and processes
Good communication is at the heart of any successful project. This means between team members, between the team and the product owner, and between product owner and project sponsor.
Clear documentation can be a huge help with this, and to that end, we’re sharing a couple of templates that we use:
Change Request Template – ALL change requests should be documented. Teams need to be able to assess how any changes will impact the overall timeline and/or cost, while product owners need to be able to prioritize the backlog.
You should also have your agile process overall clearly documented. The most efficient processes are repeatable and able to be documented and shared.
Ability to focus
An important part of agile projects is that you need to be able to cut through any “noise,” and focus only on essential work.
The tools that you use to set up your project can help with this. Team members should be working on documented tasks from the backlog—if it’s not on the list, then it either requires a change request, or it’s not important right now.
This quote from a Medium article adds to this well:
“Scrum as a methodology is simple and its methods repeatable, but its disciplined and daily practice isn’t necessarily so easy. Before diving into the best Scrum practices, it helps to remember why is Scrum used? Scrum facilitates communication by creating feedback loops. We want developers to stay in sync with each other and we want the customer to stay in touch with the development team.”
Work in small iterations
Working from the backlog, identify the highest priority pieces, elaborate on them, and work in small iterations. Repeat.
The important thing between sprints is that teams take the opportunity to review. Is there anything that is a) working particularly well; b) could use improvement; or c) should be stopped immediately because it hinders progress?
A core part of the scrum framework (and a huge part of its appeal), is that opportunity to review, make improvements, and iterate. This lends to higher quality products, and better team efficiency.
Be realistic about sprint timing
A criticism of agile has been that it can lead to rushed testing cycles. This can happen if teams are so focused on meeting a timeline, that they miss simple aspects of testing in the rush.
It is critical that time is managed well, and managed realistically. Typical sprints tend to be between two weeks and one month. If you are rushing to complete a task for a sprint period, perhaps your sprint timing is too short, or the task needs to be further broken down into management chunks. Don’t neglect testing!
Agile development is increasingly popular across a broad range of industries. It allows for rapid deployment, flexibility and strong communication between developers and project owners.
At Koombea, we favor the Scrum framework of agile methodology, and find that it helps to streamline our processes and keep quality development as a focus. By their very nature, agile projects are a collaborative endeavor, allowing for the best contributions from all involved.
Full Stack Developer, interested in web and mobile platforms, and the APIs to integrate them. Expert in product development and building integrations between products. The one always with a gray t-shirt.