02 Jul What is Agile Project Management?
Agile project management is essentially a methodology created from a culmination of decades of software development life cycle (SDLC) practices into a more iterative and incremental way of developing software.
The Agile methodology breaks down a large software project into iterative cycles of 2-4 weeks, which bears a lot of benefits to the entire development process. Going into a software project, developers must consider many variables and options such as functional requirements, budgets, team sizes, platforms, databases, and much more. These variables may change over the course of a SDLC. By breaking big software projects down into iterations, teams can more swiftly pivot as changes occur: a skill also known as agility.
A Brief Background
To better understand Agile, it helps to first understand what methodology came prior: Waterfall. The earlier days of SDLC revolved around the waterfall model, entailing a sheer tonnage of documentation that could sink a cruise liner before the theoretical coding started.
Typically a business analyst type role would document the business requirements that captured everything needed for the application that included lengthy details on comprehensive functional specifications and UI designs. Waterfall models are a more linear way of working through the entire software’s main milestones: requirement analysis, design, development, testing, implementation, and maintenance. Deviations are not common. The waterfall team would need to know the software’s specific requirements upfront and work through the project in cascading deadlines, flowing downward like a waterfall, that could span a long time before any significant software deliverables are presented. Only after reaching an application milestone would developers go back to tighten up loose ends in functionality and test for bugs, which is usually more time consuming and expensive to do in the end.
The waterfall method was revolutionary and still popular because it brings discipline to the SDLC to ensure that clear specs are followed. Waterfall was surprisingly derived from Henry Ford’s assembly line innovation.
As computer software technologies continued to evolve, a group of experienced software developers got together and realized that they were collectively practicing software development differently from the classical waterfall methodology, both in startups and established software firms. This group of technology achievers then formed with the Agile Manifesto in 2001.
The 4 major principles of the Agile manifesto for SDLC project management are:
Advantages of Agile
Increased Project Transparency
There is often a disconnect between executive manager expectations and what developers are capable of creating, primarily with timelines. With old-school waterfall methods, business managers often lacked visibility of progress over time. But with Agile methods, there is inherently better transparency within a project’s timeline due to daily scrum meetings and post sprints reviews. Collaboration opportunities are also more encouraged with Agile project teams, leading to better communication throughout.
This increased collaboration and communication within the team creates transparency with customers in progress, performance, timelines, and goals.
Effectively Managed Projects
Unlike the waterfall methodology where you take on a very large number of requirements, Agile sprints break down lofty software goals into more manageable sprint cycles. In having these routine sprint cycles, team members will have more standstill to take a step back to examine, assess, and test the functionality of what was developed. All team members end up with more controlled management over the outcome of the software, which leads to happier customers and end-users.
In a way, Agile sprints are similar to how we set goals in other areas of life. Take for example weight loss. While it is important to set an ambitious goal like losing 25 pounds in a year, the steps taken in between are critical to achievement. Every week needs smaller goals around exercise and dieting. What is done weekly over the course of that year will determine the ambitious goal’s success or failure. Relating that to Agile, sprints are the short cycles that lead the team to the bigger end-goal.
Quality assurance cannot be overlooked when it comes to software development. Customers and end-users want applications that work defect-free, perform under load and stress, and execute seamlessly as needed and advertised.
The regular sprint cycles used in Agile teams provide ample time for various manual and automated testing throughout the entire development process. In fact, proper testing is needed after every sprint because the team often cannot move on to the next sprint’s requirements until the current sprint is completed, including functionality testing. Each sprint tends to build upon or integrate into the previous.
The Agile method forces rigorous focus and continuous assessment through testing with each sprint, fostering more of a proactive approach to quality assurance than methods that save testing for later stages
Taking on a software project without a disciplined methodology can lead to a lot of headaches and heartaches down the road. There is an old saying of a horse and carriage going together. One without the other is of no real use!
Agile is a methodology that helps SDLC because its principles, frameworks, and practices are more in tune with today’s operating culture. The methodology and frameworks have proven helpful for development teams around the world for decades by forcing software development teams to think, plan, collaborate, and execute in a fashion that is more beneficial for all stakeholders of the project.
Regardless of if the application is already deployed or being started from scratch, there is room in your team for Agile methodologies to improve software application outcomes.
Checkpoint Technologies specializes in helping teams adopt Agile methodologies by implementing software such as Atlassian’s Jira, or by providing advisory services in the form of consulting, assessments, and staff augmentation. Contact us today to learn more about how we can help.
Sohail Haque, Director of Atlassian Practice