Agile Softwareentwicklung

Introduction to Agile Project Management 

/ 20.04.2023 Project Management

“Intelligence is the ability to adapt to change.”   – Stephen Hawking 

The above quote highlights the essence of the Agile approach. At its core is the ability to adapt flexibly to changing conditions. It has implications for the management of the entire software development cycle, where the ability to adapt is a crucial determinant of project success.  

In this article, we will focus on the basics of Agile management, its main tenets, and how it affects projects carried out in many companies. 

What is Agile, and where does it apply? 

More than a methodology, Agile is a set of values and principles. Above all, these principles define a pragmatic way of thinking that offers a flexible approach to meeting customer expectations. 

Agile was initially designed to manage the software development process. It enabled teams to quickly model solutions, incorporate feedback, and adjust the scope as needed throughout the project lifecycle. Today, Agile works brilliantly in a wide range of environments, industries, and projects and can be applied to almost any large project in any industry that requires agile and flexible management. 

When was Agile developed, and why? 

In 2001, a group of experienced programmers gathered at a ski resort to share their experiences and discover why so many programming projects were failing. It wasn't just about documenting best practices but about finding a different design approach.  

As the industry required a fundamental change, the Agile Manifesto was created as a statement of the values that were to become the basis for a new approach to delivering software and working with clients. It describes 4 values and 12 principles that guide the process of creating and responding to change and how to deal with uncertainty in the software delivery cycle. 

Four Agile fundamentals for software development   

The Agile Manifesto states that we discover better ways to create software by helping others. The key point is that although all of the following aspects are important, some are more important – this is because the Agile Manifesto emphasizes the value of individuals and human interaction over documentation and the formality of processes. 

 These are the four key Agile values: 

1, People and interactions over processes and tools   

While a reasonable and transparent process within a company is of value, rigid workflows or impersonal forms of interaction cannot get in the way of good communication. Also, if talented people are to be creative and successful, you must learn to accept their individual needs. 

“My advice is to stop emphasizing the process frameworks and start focusing on the company culture and mindsets. Get clear on the values you want to operate under and embody those values in every area of the company.” – Selena Delesie, agile coach and trainer (source

2. Working software over extensive documentation   

Traditional software development often created extensive documentation, even before the software was released for initial testing; this slowed down the software development process. Although documentation is essential, the team should focus first and foremost on a working solution. 

“Remember: it’s not the documentation that needs to be kept in sync, but the people.” – George Dinwiddie, software development consultant and coach.   

3. Cooperation with the client in negotiating contracts  

While it is undoubtedly useful to start work on a project with initial guidelines, rather than locking clients into a strict project framework and defining every detail of the product before work begins, it is better to rely on active collaboration. Regular collaboration with the product manager or product owner and making the necessary changes ensures that you deliver the expected value. 

“Don’t focus on delivering a whole list of things—everything and the kitchen sink—focus on delivering what’s valuable, what people actually want or need.” – Jeff Sutherland in Scrum: The Art of Doing Twice the Work in Half the Time. 

4. Responding to change instead of following a plan  

A development team should have a plan, but it is well known that things sometimes go differently. Instead of sticking to something that is not working, it is much better to change the plan and adjust it to suit the situation. 

12 Agile principles  

1. The highest priority is customer satisfaction through early and continuous delivery of valuable software.  

2. We can deal with changing requirements to quickly and effectively adapt the product to customer and market needs.  

3 We deliver working software in each sprint (iteration).   

4. Close collaboration between clients and developers must continue throughout the project.  

5. We build projects around motivated people, giving them the environment and support they need and having full confidence that they will complete the task.  

6. The most efficient and effective method of communicating information within a project team is face-to-face.  

7. The primary measure of progress is working software.   

8. Agile processes promote sustainability, meaning we should not organize too much responsibility around individual projects.  

9. Greater agility is possible through constant attention to the technical quality of the project.  

10. Simplicity is essential, i.e., the art of transparently doing the maximum amount of work.  

11. The best architectures, requirements, and designs emerge from self-organized teams, i.e., teams responsible for their work.  

12. The team regularly reviews its performance and adjusts accordingly.  

The principles behind the Agile Manifesto outlined here are familiar to every project team member working in a system like Scrum. Although adapting to the changes that are at the heart of Agile can sometimes be challenging for the organization during implementation, these processes nevertheless lead to improved quality of the software being developed. 

What methodologies are used in Agile?  

Agile project management has its roots in the software development industry but can be used generically to encompass many different frameworks. It includes approaches such as Scrum, Kanban, and Extreme Programming (XP).  

Scrum is a way of working where decisions are made based on observation, experience, and experimentation. The work is done in parallel in iterations, or smaller steps, with continuous experimentation and feedback to improve the product incrementally. As an agile framework, Scrum is structured to allow free collaboration and integration between people and teams, facilitating customer-specific optimization. 

Kanban is an Agile approach to workflow management. It focuses on visualizing tasks to be completed and breaking the work into smaller steps to make it easier to prioritize. In this method, the tasks to be completed are visualized using various tools (e.g., JIRA/Azure). This involves visualizing both work in progress and work that has been completed. It allows work to be optimized and processes to be continuously improved based on analyses and reports. 

XP Extreme Programming is an Agile software development methodology emphasizing simplicity, courage, feedback, and communication. It aims to reduce the cost of changing requirements by employing short iteration cycles. It considers change to be an inevitable, even natural, part of the software development process, so it should be well planned. 

How does Agile affect project management?  

Agile project management is the way we implement the values and principles of the Agile Manifesto. The premise of the Agile methodology is that we continuously improve a project throughout its life cycle (SDLC – Software Development Life Cycle), and changes are made quickly and as appropriate.   

Agile project management is, by definition, always pragmatic. In other words, we recognize that we don't know everything and that changes will not be predictable or controllable. Therefore, we need to be flexible; we need to take the things we learn and look at how they can be applied to what we do and how we do it. This means constant collaboration and working in iterative cycles to create, test, and make improvements until the desired result is achieved.    

The purpose of this flexibility and adaptability is always to make sure we satisfy our clients. Agile has overtaken the cascade (waterfall) methodology to become one of the most popular approaches to project management because of its flexibility, adaptability to change, and high level of customer involvement. 

How are companies applying Agile methodologies? 

Companies are moving towards Agile methodologies because of their flexibility and advantages over traditional systems. By adopting Agile for its interactive environment, Sony has seen a significant difference, where there has been a 28% reduction in planning time, and downtime has been reduced to the maximum, saving the company $30 million a year.   

 On the other hand, Cisco, one of the world's most famous IT and networking leaders, is applying Agile methodology to its SBP billing platform, which was initially developed in a waterfall model. After adopting the Agile methodology, Cisco's product has improved its overall performance, where defects have been reduced by 40 percent compared to previous releases, and bug fix performance has increased by 16 percent. 

We have also been successful in VM with the introduction of Agile. Since we started the change, we have grown 450% in 3 years. As Łukasz Borzęcki, CEO of the company, states: 

"The Agile philosophy also helped us in the current crisis, when important decisions needed to be made quickly. Allowing our employees to have their say and take part in making them has helped to develop the strategy together and has produced significantly better results." 

For more on how Agile has helped us achieve business growth, watch here.

Summary  

Following Agile values is not always easy, but when they become part of the team's processes, clients notice a much higher quality of work. This can be achieved by aligning requirements and focusing on improving productivity, removing obstacles that interfere with the team's efforts, and increasing the efficiency of operations. A pragmatic and flexible approach is vital to an Agile project. It allows both the team and the client to continuously learn and benefit. 



Design, Development, DevOps or Cloud – which team do you need to speed up work on your projects?
Chat with your consultation partners to see if we are a good match.

Jakub Orczyk

Member of the Management Board/ Sales Director VM.PL

Book a free consultation
kuba (2)