[

🎉

G2 Winter 2024 Report] Hatica Recognized as Momentum Leader with Best Estimated ROI!Read More ->

Agile 2023-04-04

Agile Software Development: A Complete Guide in 2023

Explore the Agile manifesto, frameworks, methodology, benefits, disadvantages for agile practitioners with our complete guide on agile software development.
Agile Software Development

What’s the secret of 21st-century successful engineering teams & organizations? 

Well, they understand that the stone age technologies i.e., monolithic IT infrastructures & waterfall development methodology are no good in today’s ever-evolving digital landscape. No offense intended, the waterfall model has its own place but it just doesn’t fit the bill for the modern technology-led startups & organizations that imbibe a “move fast and break things” culture. 

Today, entrepreneurs & engineering managers understand the importance of customer-centricity, continuous value delivery to the users, faster time to market, proactive optimization of engineering KPIs, flexible IT infrastructure, and developer collaboration & communication.

Unfortunately, the Waterfall model of software development would score an ‘F’ on all the aforementioned parameters. No wonder why only 26% of the organizations are using it in 2023. The rest have switched to agile software development, which just ticks most of the above checkboxes. 

Read this insight to acquaint yourself with the INs and OUTs of:  

  • Agile software development
  • Agile manifesto
  • Agile principles
  • Benefits & Advantages of Agile
  • Challenges & Pitfalls
  • Agile methodologies

💡 We’ve also shared the secret sauce of highly effective agile engineering teams.

Let's get started,

What is Agile Software Development?

Agile software development is not a tech stack or any IT infrastructure architecture as such. Rather, Agile methodology is about self-organizing small & holistic teams following a set of practices & guidelines (hi, agile manifesto & agile principles) to embrace uncertainty and chaos in the SDLC process, and innovate rapidly while responding to the market demands in real-time. All this while escaping the Bermuda triangle of the software world — technical debt.

A typical agile software development team comprises developers, designers, product owners, QA talent, and users (beta testers).

Agile transformation often requires a complete makeover of how an organization functions — 

  • The mindset of the CXO level executives, 
  • Rehauling the tech processes, and IT infrastructure
  • Team composition & agile talent nurturing
  • The cultural aspects of the organization i.e., how individuals collaborate, communicate, and shoulder responsibilities.

We dive into the details in the respective sections.

4 Values of the Agile Manifesto

The official Agile Manifesto comprises 4 values, which 17 independent developers devised in 2001. These values espouse the following:

1. Individuals and interactions over processes and tools

Agile manifesto advocates fluid interactions & natural conversations among team members for higher alignment, and improved internal transparency. 

To hack your way to success, you need to prioritize effective collaboration & communication among members of your agile team, and not sweat over tools & processes. Tools are only as good as the people using them. 

The success of an agile software development team is a cumulative sum of individual efforts, problem-solving capabilities, etcetera. 

2. Working software over comprehensive documentation

‘All talk, no show’ is such a big turnoff. Sometimes, people in an agile software development project are so obsessive about documentation, they barely notice themselves aging from someone with black shiny hair to one with grey hair. This not only impacts developer productivity & engineering metrics but also shifts the focus away from customers.

Comprehensive documentation is not a pre-requisite to agile software development, esp. when the requirements & tech stacks are ever-evolving.

Instead, agile teams should be obsessed with delivering ‘working & consumable (high usability) products’ frequently to the users. 

Note: Agile manifesto doesn’t say that you shouldn’t document at all. You should document the project enough so other developers and teams can easily grasp what’s happening in the code. Ask a chef, how much salt should go in a chicken nugget. Wouldn’t excess or insufficient salt spoil the taste? Exactly. Everything is good in moderation — including software documentation. 

3. Customer collaboration over contract negotiation

Code like a ninja, collab like a pirate. Do you remember the scene from the movie ‘Pirates of the Caribbean: The Curse of the Black Pearl’, where pirates set aside their individual differences and team up to fight the British Navy? They emerged victorious despite overwhelming odds. 

In the software world, 48% of developers say poorly documented requirements are a major reason behind project failure. But also, 42% of startups fail because there is no market need i.e., poor product-market fit.

Yes, contracts & requirements documents used to be king, but now the throne is with the customers. 

Agile manifesto values recommend aggressively involving customers in the software development process to iteratively build and ship customer-centric & market-relevant products. Collaborate like how pirates do to achieve a common goal. Continuous feedback loops from customers & tracking of key business KPIs can positively impact the development course of the software.

4. Responding to change over following a plan

Gone are the days when a hard software architecture design blueprint & project requirements docs were used to serve as manuals for engineering teams. 

In the world of cloud, containers, and open-source technologies, trends come and go sooner than you break your gym streak. 

Until yesterday, recommendation engine algorithms topped the goals of eCommerce engineering managers, today it is generative AI & video commerce. Tomorrow it will be something else. 

Linear plans are no longer effective for software projects. Requirements are volatile, so, project plans should be flexible as well. 

As per the Agile manifesto, effective agile software development teams should be ready to ride the wave of change and pivot like a boss if need be. Embrace & adapt to the evolving market circumstances and user requirements.

12 Agile Principles: An Extension of Agile Values

The agile manifesto also comprises 12 agile principles that function as best practices guide for agile teams & practitioners—

Agile Values and Principles

1. Satisfy the insatiable customer needs with continuous value streaming & continuous product delivery. 

2. Help customers win by embracing change, and make responding to adversity & changing market needs their competitive edge. 

3. Frequently ship working software to the end user — the shorter the time between software delivery and deployment, the better. 

4. Effective collaboration among cross-functional teams is key to the success of agile software development methodology.

5. Identify self-managed & self-driven individuals to execute the agile project. Micro-management of talent, esp of the engineering team can be counter-productive. Good agile leaders help provide the environment & facilitate getting the job done by identifying and removing any impediments. 

6. Agile principles advocates for face-to-face interaction for effective & efficient communication. 

7. Working software is one of the core values of the Agile Manifesto. How frequently you ship value to the end users is the prime indicator of an Agile project’s success, not the software delivery but deployment without any critical bugs.

8. Sprint like a cheetah, but iterate like a tortoise. Burnout does nothing good to anyone, neither the developers nor the project. Consistency results in improved software quality.

9. Scalable, secure, reliable tech stack & architecture are the foundational pillars of agile software development. Good UX further improves the CX and satisfies customer expectations.

10. Agile principle evangelizes priority-driven feature development. Identify what need not be essential, and push ahead what will have a critical impact on growth, customer satisfaction, and engagement. 

11. Decision-making is democratized in agile software development methodologies. There is no hierarchy. Everyone is equally involved in defining requirements, choosing the tech stack, and deciding on the final design of the software. This builds accountability among self-managed individuals and they give their best.

12. One of the core pillars of agile is to fail fast, and learn faster. Agile teams must periodically assess themselves at individual & team levels to spot scopes of improvement and accordingly do course correction to incrementally improve their performance, efficiency, and software outcomes.

Agile Software Development Advantages

  • Continuous value delivery: Iterative/incremental software development, delivery, deployment.
  • Market-competent: Effectively embrace, adapt, and respond to rapidly changing requirements.
  • High quality & reliability: Feedback-led, customer-centric software development.
  • Improved transparency & collaboration:  Effective & efficient collaboration & communication within the agile development team.

Agile Software Development Challenges

The grass is not all green. Agile software development projects have their own fair share of challenges & pitfalls to address, often referred to as agile smells or agile anti-patterns —

1. Change request triggered Technical debt

Working software over documentation is the core value of the Agile manifesto but it can equally backfire. While agile software development can of course significantly improve the speed of development if done negligently, even small change requests can result in excessive re-work i.e., add to the technical debt of the company.

2. Story injection into iteration

Stories in agile projects are equivalent to new feature requests. Iteration is a planned time frame in which a set of stories will be developed and delivered. Normally, in non-agile software development methodologies, if a feature is highly critical, it may get adjusted in the course of development. 

But doing the same in agile will be considered detrimental to the flow of work i.e., planned progression of iterations. This is because all the stakeholders must come to a consensus and re-align with the new iteration plan. Ideally, in agile software development, any new story must wait in the backlog before it enters an iteration to avoid slowing down the agile delivery process.

3. No buy-in from top-level management

In organizations that are operating on legacy infrastructure, buy-in for agile is tough to win as there is no empirical evidence of agile benefits.
So, the early agile adopters in any organization are often self-funded teams, who face high resistance from other teams, and have no support from management. On top of this, insufficient training & lack of guidance often leads the early agile projects to get buried in the graveyard of failed projects.

4. Teammates playing whack-a-mole with roles

As agile software development teams are cross-functional and versatile, often, the members are pulled into different projects and roles, which leads to a divided focus on agile project goals. 

This results in poor-quality software development, poor code quality, and inefficient collaboration.

5. Deviation from Agile principles

Teams often misinterpret the flexibility of agile software development as the license to do anything — and so often developers take up the product owner's role, scrum masters try to bridge development gaps, senior developers assign tasks to juniors, overloading iterations with stories & goals, etcetera. The key engineering KPIs, and project management metrics for such agile software always find themselves in a vicious cycle of downward spirals.

6. Not embracing test automation, code refactoring, and DevOps

This leads to sprawling technical debt and an ever-growing product backlog. In iterative development approaches, software testing & code refactoring play a key role in ensuring high software quality.

By rigorously performing unit, integration, and regression testing for newly developed features & software components, developers can avoid the bulk reworking which would be needed at later stages otherwise.

Whoosh. Too many pitfalls!!! But don’t worry, next we reveal the secret we promised to share about successful agile engineering teams that mitigate most of the aforementioned challenges.

Using Engineering Analytics For Successful Agile Software Development Teams

We mentioned earlier that early adopters of agile teams find it difficult to garner support from management mainly due to a lack of any empirical evidence. This situation arises because agile engineering teams do not have any concrete system in place to report on engineering KPIs & metrics. 

Successful agile software development projects not only make use of engineering analytics tools to measure and report progress but also plug in the gaps in agile project planning by tracking the right metrics, identifying the loopholes, and then fixing them.

For instance, companies like Amenify, Bobbl.ai, and multiple other Fortune 500 global startups & enterprises alike use Hatica’s suite of products to track key engineering metrics like–

1. DORA for assessing DevOps efficiency

Let’s say ‘Deployment frequency is high, and the ‘change failure rate is low — that means high-quality software is being shipped by the team. But if the change failure rate is high, it means low-quality software is shipped to the end-user. Maybe, the engineering manager/team needs to identify if test automation is properly implemented, or whatever is the underlying cause, and fix it ASAP. Ideally, any performance, integration, or functionality-related bugs should be detected in the CI/CD pipeline.

[Read more: How to use DORA for software delivery]  

 2. Cycle time metrics to identify & mitigate bottlenecks in the SDLC process

Another excellent engineering KPI is the cycle time metric which basically means the time period between the requirement/story from the backlog (list of features that needs to be developed) being assigned to a member of the agile software development project and the final deployment of the story.
Again, engineering managers use the Hatica dashboard to gain comprehensive visibility into the development team’s workflow and find solutions if they identify any bottlenecks or scope for improvement.
Sometimes, developers are staring at burnout which drastically hampers their productivity. With engineering analytics tools, great engineering managers can easily ensure the well-being of their developers. See how it works

There are some 70+ engineering KPIs that every agile software development team can leverage for maximizing productivity, software quality, and subsequently every stakeholder’s peace of mind (of course, including developers). We have discussed the most common ones in our article on Engineering KPIs. See, if they could be beneficial for enhancing your team’s outcomes.

What are the Different Agile Software Development Methodologies?

There are multiple agile development methodologies, models, and frameworks for agile software development. 

  • Scrum & Kanban are the most popular agile frameworks among agile practitioners as they are highly efficient. 
  • SAFe and DAD are two evolving agile-based frameworks that natively encompass DevOps into their software development lifecycle process. 
  • LEAN, XP, DSDM, and FDD are some other popular agile frameworks. 

Find here more details on each of these agile frameworks, the similarities & differences. Next, we briefly explain 2 wildly popular agile development frameworks-

1. SCRUM

  • Scrum is an iterative, non-sequential, and prescriptive agile software development approach to building and delivering digital applications. 
  • Agile’s “time-boxed iterations” in Scrum are called Sprints i.e., a short period of time during which a set of stories (product features) are developed and delivered. 
  • Agile software development Scrum teams comprise a product owner, a scrum master, and developers
  • Ideally, the Scrum team size is kept under 10 members who are geographically or digitally in close vicinity (preferably, working under the same roof) and possess T-shaped skills. Read more about Scrum.

2. KANBAN

  • Kanban is an adaptive agile software development approach. 
  • In other words, the Kanban framework is designed to balance the demand and capacity aspects of software development. 
  • New feature requests (often referred to as user stories in Kanban) are only taken up if there are bandwidth & available resources for the same. In fact, that’s the soul of Kanban i.e., to limit the Work In Progress (WIP)

Another major benefit of the Kanban agile development methodology is that it improves overall visibility into the software development processes & project progress. This is achieved via Kanban boards

  • These boards have columns and cards. 
  • On a high level, every Kanban board has three columns — Requested, Work-In-Progress, and Done. 
  • Based on the type/need of the project, each column can be further split. For instance, a colleague of mine personally prefers, Requested to be split into high priority & low priority. Similarly, WIP can be split into Developing, Debugging, and Reviewing. Lastly, Done into Delivered and Deployed.

What does a Typical Agile Software Development Lifecycle Looks Like?

Whack! This could be a bummer for many… 

Agile SDLC is not much different than the Waterfall approach to software development.  The difference is — unlike Waterfall SDLC, agile development lifecycle stages are not linear. Agile SDLC is sequential too, but they are iterative. Also, unlike waterfall, in Agile SDLC stakeholders are not strictly bound to one responsibility — anyone is free to don any hat (this depends on the chosen Agile framework).

On a high level, Agile SDLC is a 5 stage iterative methodology to software development. We’ve split it into 7 for better understanding:

  1. Research & conceptualize the software (Ideation & Design thinking)
  2. Deciding on the Agile framework, team formation, and planning the iterations/sprints
  3. Execution, Implementation, and Development of the project (coding)
  4. Reviews, QA Testing (quality assurance)
  5. Delivery, deployment (DevOps)
  6. Maintenance & upgradation (adapting & responding to evolving market conditions)
  7. Retirement — the funeral.

What Does a Typical Agile Software Development Team Look Like?

Agile teams are very dynamic & flexible — they are truly cross-functional, highly collaborative, and of course, non-hierarchical. 

How agile teams are formed, and what roles & responsibilities are they accountable for is completely dependent on the agile framework that gets chosen for agile software development.

The SAFe agile framework will have different roles/titles in an agile team as compared to KANBAN, and vice-versa. The same goes for SCRUM & KANBAN, or any agile framework for that sake.

But no matter what the agile team structure is, all of them focus on—

  • Having team members with T-shape skills, where the vertical line represents their core specific skill, and the horizontal lines represent the complementary skills that can be utilized in the project. So, let’s say, an engineering manager who has a really good understanding of the export market is a good fit for an agile team, which would develop a B2B marketplace for exporters & importers.
  • Choosing individuals from diverse backgrounds for a balanced & versatile team environment, and to keep biases away from the product under development
  • Selecting team players who keep internal politics and competition at bay, and rather cherish collaboration & peer learning
  • Keeping the team size between 3-10 maximum. 
  • If the team size is big, agile teams prefer specialist team structure over generalists. And if it is small, then generalists are preferred. You may also go for a hybrid agile team structure i.e., a mix of both specialists & generalists for mid to large-size agile teams. Two more popular agile team structures are parallel structure (where roles of individuals change over iterations/sprints), and sub-teams (where there are teams within agile teams).

Key roles & responsibilities in an agile team —

1. Team Lead — who ensures everything runs smoothly in an agile project.

S/he overlooks everything in an agile project, right from the requirements lists (backlog/user stories) to sprints/iterations, workflows, meetings, team members' well-being, adherence to agile manifesto values & principles, and literally everything up until the project enters the retirement phase. Team leads have different titles in different agile development frameworks. For example, in the SCRUM agile framework, they are called Scrum Masters. 

2. Product Owner — In agile methodology, an agile team member is the official representative for the client’s side.

POs need not be confused with project managers. Product owners deal with the business aspects of the project, while a project manager deals with the execution of the project.

Attributes of an ideal product owner for an agile methodology:

  • Proximity to the business decision-makers from the client side, and development team from the vendor side.
  • Transparent, well-spoken, trustworthy, high integrity, high accountability..
  • Thorough understanding of the field, in and out.

3. Development Team Members — people who take the requirements list and return the Software.

The development team for successful execution of agile methodology consists of UIUX designers, frontend developers, backend developers, database administrators, DevOps developers, QA testers, engineering managers, and sometimes technical & UX writers too,

4. Business Stakeholders — beneficiaries and influencers of an agile project

Whoever has vested interest in the project — people who can get benefitted by the project, people who have the power to influence the course of the project, or people who will be affected by the project, in general, can be the stakeholders.

For example, key stakeholders for a real-estate aggregator app that deals in the sale/purchase of properties can be 

  • the client (owner of the app), 
  • executives at the vendor’s organization (vendor is developing the app), 
  • project team leads & members (development team), 
  • project managers, 
  • sponsors (investors),
  • government (legal/license), 
  • contractors (real estate agents), 
  • media houses (GTM coverage), and 
  • users (buyer/seller).

Towards Excellence in Agile Software Development

Woosh! Agile software development has simplified the way software is developed and delivered… making it more human/user-focused, and more market-relevant. 

There are multiple tools & agile frameworks to suit specific types of software development projects. All the frameworks are based on the Agile manifesto & its principles which basically recommend being flexible, iterative, and choosing an adaptable approach while developing software. Also emphasizes collaboration, continuous improvement, and customer satisfaction. 

Agile can mean faster time-to-market, higher quality software, and increased customer satisfaction. 

However, it also comes with challenges such as technical debt, managing change, documentation, and ensuring effective collaboration. We briefly talked about how engineering analytics tools can help you avoid a lot of developer-specific challenges like developer burnout, technical debt, productivity, etcetera. You just need a true HAT-I-CAN in your team ;)

Keep shipping amazing products! Follow the Hatica blog today to read more about agility, unblocking developers, and boosting productivity with engineering analytics. 

Agile Glossary For Agile Practitioners

Here’s your quick agile glossary for reference:

Agility — The ability of an agile team to sense and respond to internal/external changes. Changes could be an update in feature requirements, a team member leaving the project for some critical reasons, etcetera.

Antipattern — Ineffective solutions to problems that may have consequences in the future, and may derail the team from planned project progression/trajectory.

Backlog, aka Product Backlog — A single authoritative source for agile teams for new features, change requests, bug fixes, and any actionable item that is essential for the project’s completion and success.

Backlog Refinement, aka Backlog Grooming — Periodically editing the Product Backlog to only keep high-priority items in there that are critical for the project. Keep the fluff away.

Burndown chart, aka burnup charts — It’s to visualize the amount of work done by an agile software development team in an agile sprint/iteration/epic.

Cards — In Kanban boards, features/epics are represented using components called ‘cards’. These can be moved between different columns of the Kanban board to show their current status.

CI/CD pipeline — An acronym for continuous integration (merging code changes to the main repository) and continuous delivery (testing and making the code ready to be deployed) of software components that are developed by agile teams.

Definition of Done — A set of criteria that needs to be met before a user story can be considered completed for the product increment/iteration.

Definition of Ready — A set of criteria that a user story must meet before it is accepted into the product increment. This is often evaluated using the INVEST matrix.

Epic, aka User story — These are atomic building blocks of a product i.e., individual features that together comprise the product.

Estimation — Time efforts required to complete a sprint/iteration/feature development

Frequent Releases — The term that refers to the shipping of features into the hands of users on a regular basis during incremental development to loop in user feedback quickly into the development process.

Incremental Development — Developing a software product by adding up, removing, or updating features to the last deployment.

Information Radiators — A common channel/source from where critical project-wide information can be shared with all the stakeholders.

Iteration — A timebox expressed in duration that defines how long the development would take for the present set of features under development until the next release/integration.

Iterative Development — Repetitive approach to rework the released features to further improve them in terms of usability, performance, and security.

Kanban — An adaptive agile methodology that balances demand and capacity aspects of software development projects by limiting the Work-in-progress (WIP) i.e., an active set of features that await development/delivery.

Kanban Board — A visual dashboard used by KANBAN agile practitioners to see the status of various moving parts of a software project.

Lead Time — In Agile SDLC, lead time is the duration between requirements entering the backlog to the final delivery of the requirement.

Niko-Niko calendar — A calendar that is updated to show each agile team member’s current mood, can also be used to see the mood fluctuation history. Used for effective collaboration & communication.

Personas — a set of synthetic personality attributes that define different users of a product.

Planning poker — A game-led approach to involving the entire team to estimate a user story. Each member plays a card bearing a number i.e., points (time duration) which is a rough estimation for the user story.

Points — Time duration estimation in terms of units. Used to estimate Lead time for individual user stories.

Product Owner — Client’s representative in an agile team with a deep understanding of the business aspects, and helps ensure that product adheres to the requirements specified.

Project Chartering — Bite-sized summary of a project’s key success factors displayed on a flipchart-sized sheet of paper.  

Quick Design Session — quick brainstorming sessions between developers during an ongoing iteration to decide on key architecture aspects of a software project, which may have a long-term impact on the project. 

Refactoring — improving the internal code structure for improved performance and readability while preserving the external intended functionality/behavior.

Retrospective — regular meetings in an agile team (SCRUM) where progress since the last such meeting is shared and discussed, and the team identifies any scope of improvement. 

Scrum — A prescriptive and iterative agile development methodology, with Sprints being its key characteristic. 

Scrumban — A hybrid agile development methodology, which has the best of the top two agile frameworks i.e., SCRUM & KANBAN 

Scrum Master — Team lead or project manager equivalent in a SCRUM agile project whose job is to ensure the team’s adherence to scrum principles and values.

Sprint — a timebox duration in a SCRUM project. Typically it is 2 weeks, the max can be 4 weeks.

Testing — Quality assurance activities like acceptance testing, unit testing, functionality testing, behavior testing, integration testing, performance testing, etcetera.

Timebox — Duration of an agile project’s iteration.

User — End-users of the product

Velocity — Net effort estimates the team put in to complete the user stories in an iteration. It is used to estimate how much more time it may take to complete the project based on the remaining units of user stories.

FAQs on Agile

Now that we know the ins and outs of agile, let's answer the few FAQs every team has around agile:

1. What is an Agile software development example?

An iterative eCommerce platform development that first gets shipped with bare-bones functionality i.e., MVP version, and then continuously new features are integrated into the platform like recommendation engines, voice commerce, video commerce, and BOPIS features can be a good example of agile software development. This can be achieved using any of the agile development frameworks. For instance, extreme programming (XP), SCRUM, Feature Driven Development (FDD), KANBAN, and Lean Software Development (LSD).

2. What are the 5 stages of agile software development?

Ideation. Development. Testing. Deployment. Maintenance.

3. What are the three pillars of agile?

Communication, collaboration, and agility are 3 core pillars of an agile software development project. Communication helps with transparency and aligning the team to the core goals. Collaboration helps in the effective execution of the plans. And agility helps quickly respond to changing project/market conditions.

4. What are the benefits of Agile?

Quick time-to-market, customer satisfaction, quality products, continuous delivery of value to customers, and decreased risk are key benefits of an agile way of development.

Subscribe to Hatica's blog

Get bi-weekly insights straight to your inbox

Share this article:
Table of Contents
  • What is Agile Software Development?
  • 4 Values of the Agile Manifesto
  • 1. Individuals and interactions over processes and tools
  • 2. Working software over comprehensive documentation
  • 3. Customer collaboration over contract negotiation
  • 4. Responding to change over following a plan
  • 12 Agile Principles: An Extension of Agile Values
  • Agile Software Development Advantages
  • Agile Software Development Challenges
  • 1. Change request triggered Technical debt
  • 2. Story injection into iteration
  • 3. No buy-in from top-level management
  • 4. Teammates playing whack-a-mole with roles
  • 5. Deviation from Agile principles
  • 6. Not embracing test automation, code refactoring, and DevOps
  • Using Engineering Analytics For Successful Agile Software Development Teams
  • 1. DORA for assessing DevOps efficiency
  •  2. Cycle time metrics to identify & mitigate bottlenecks in the SDLC process
  • What are the Different Agile Software Development Methodologies?
  • 1. SCRUM
  • 2. KANBAN
  • What does a Typical Agile Software Development Lifecycle Looks Like?
  • What Does a Typical Agile Software Development Team Look Like?
  • But no matter what the agile team structure is, all of them focus on—
  • Key roles & responsibilities in an agile team —
  • Towards Excellence in Agile Software Development
  • Agile Glossary For Agile Practitioners
  • FAQs on Agile
  • 1. What is an Agile software development example?
  • 2. What are the 5 stages of agile software development?
  • 3. What are the three pillars of agile?
  • 4. What are the benefits of Agile?

Ready to dive in? Start your free trial today

Overview dashboard from Hatica