MBA Students: A primer on Agile methodology

MBA Students: A primer on Agile methodology

The Agile methodology of project management refers to the ability to build and act on changes. It’s a way of addressing and eventually succeeding in an unpredictable environment. According to the creators of the Agile manifesto, Agile represents the adaptiveness and responsiveness to change. It is an iterative approach to software development as well as project management. It relies on constant planning, learning, development, teamwork and early delivery. Change is inevitable and agile inspires the team to be flexible to changes.

 

Agile helps a team deliver value to their customers quickly and easily. Rather than depending on a big bang launch, a team submits work in small, but consumable, increments. Agile teams evaluate requirements, plans, and results continuously, meaning they have a regular procedure for responding to change quickly.


The 4 Pillars of Agile

No alt text provided for this image

1. Individuals and interactions over processes and tools

People are the ones who respond to business needs and drive the development process, so it makes total sense to consider them first and value them higher than processes and tools. When processes and tools drive development, the team becomes less responsive and less likely to meet the needs of the clients.

2. Working software over comprehensive documentation

People assume working in agile means doing away with any and every documentation! Agile doesn’t get rid of the extensive documentation; rather, it streamlines it in a way that a software developer knows exactly what he or she needs to work on. They’re not tied down by intricacies or too many details.

Agile documents like user stories can give a developer sufficient information to build a new functional product. Although Agile values comprehensive documentation, it values a working software more.

3. Customer collaboration over contract negotiation

In contract negotiation, the customer discusses the requirements of a product in detail with the organization before any work can start. This means that the customer is only a part of the product development before the process beings and when it’s completed.

However, Agile takes a different approach and incorporates customer collaboration. It involves the customer in every step of the product development process from the beginning to the end. This makes it easier for the developers to address any changes that might arise to meet the customer’s needs. 

4. Responding to change over following a plan

Change is inevitable. However, traditional software development approaches considered change an expense that needs to be avoided at all costs. The software developers at the time developed detailed and clear plans with defined set features for product development, but they usually failed to factor in the change, which has a high impact on the customer’s need. Through change software, developers can alter certain features of the product to meet the needs of the client.

The 12 Agile Principles

No alt text provided for this image

Key Agile Terms & Definitions

A/B Testing: A testing approach where specific features or experiences are tested. Used in lean-agile marketing, A/B testing is a tactic that reveals both behavior and metrics on products. AB testing can help differentiate between which samples are better and help teams make choices based on quantitative data.

Agile Project Management: Agile project management refers to the method of developing small portions of software in a frequent iteration cycle based on a changing environment.

Acceptance criteria: A set of requirements the software needs to meet so it can satisfy the client’s needs. Product owners usually write the statement from the viewpoint of the customer that explains how the user story should work. For the story to be accepted, it must pass the acceptance criteria.

Acceptance test: Acceptance test confirms whether or not a feature is functional. The result of the test is a pass or fail. Most often, the acceptance test is automated, meaning teams can perform them on all software versions. Acceptance criteria usually contain one or more acceptance tests.

Application Lifecycle Management (ALM): This refers to a continuous management process of a software application development from its initial planning stage to the retirement stage. It’s used throughout the whole project and makes use of tools that help with requirement management, design, coding, web application testingpenetration testing, tracking, and release.

Backlog:  Backlog is a list of product requirements that change continuously based on customer’s needs. It’s a completed list of all the required product features. Agile teams utilize a backlog to give precedence to certain features and understand which features need implementation.

Backlog grooming: Backlog grooming is when the rest of the team or a product owner refines the backlog on a daily basis to ensure that it contains the right items that are prioritized, and that the item at the top of the backlog is ready for release or delivery.

Best Practices: Proven methods and processes that have successfully delivered software projects. The best practices often stem from the self-organizing teams who work together to develop and test software. These teams can work together to churn out quality and flexible work.

Burndown chart: Burndown charts track the amount of output a team has completed across a project based on hours, backlog items, or story points.

Business agility: This refers to the ability of a company or an organization to identify internal and external changes and respond to them accordingly to deliver value to its clients.

Business Value: The perceived worth of a product or feature from the perspective of the customer or end-user. This term is more informal, but it helps give the internal and external teams a way to determine the health of a business in the long term.

Cadence: It describes the flow of events according to the project. Cadence creates a pattern that the team can follow to understand what they’re doing.

Continuous delivery: A software development practice whereby new code changes are delivered frequently and automatically deployed to production. The continuous delivery practice is focused on creating, testing, and releasing software at a greater speed and frequency than other delivery methods.

Continuous improvement: This is the process of boosting efficiency and quality by making slight changes incrementally. In the Kanban framework, continuous improvement means optimizing workflow and decreasing cycle time, therefore increasing productivity.

Continuous integration: A software development practice whereby new code changes are frequently integrated into the main codebase and automatically tested for bugs. This consistent integration provides the team with complete awareness and transparency with software development and delivery.

Collective ownership: Collective ownership means that every team member can change any code file, whether it’s to repair a defect, improve a code’s structure, or complete a development task.

Definition of Done (DoD): A set of criteria must be met before a work item is considered complete. Also referred to as “done done,” DoD describes when all the product testing, coding, and documentation has been completed and executed, and the product is totally completed. Typically the DoD is established by the team, so everyone is in agreement when the DoD is reached.

DevOps: Is a set of predefined practices that combine software development and operations to shorten the software delivery cycle, and improve quality. DevOps is typically used with testing, building and deployment.

Epic: Epic is a larger user story. In its state, it would be hard to complete in a single iteration.

Fail-fast: Fail-fast describes the process of beginning work on a project, getting immediate feedback, and then determining whether to continue working on the project or to take another approach.

Iteration: This is a fixed period in time, spanning 2 to 4 weeks, during which an Agile team builds a deliverable and shippable product. The product owner defines the iteration requirements at the beginning of the iteration, and the team agrees upon it.

Kanban: Kanban allows an Agile team to write down everything about the project on a board. This gives them a bigger understanding of the things going on, and helps them identify bottlenecks plaguing the project.

Lean: A set of principles for software development that emphasizes efficiency and waste reduction. While custom software development cost is typically worth the investment, it’s crucial for teams to minimize waste and work as effeciently as possible — both for themselves and for their clients. Lean thinking is often used in conjunction with the agile methodology.

Minimum Viable Product (MVP): A product with enough features to be usable by early customers. These customers then provide feedback to build additional development.

Pair programming: A type of collaborative programming where two developers work together on the same workstation.

Personas: These are user archetypes that help developers or marketers understand the needs and goals of end-users. Personas are developed through market and product research and provide good user data as to the habits of potential customers.

Poker planning: This is a game or a building exercise used to arrive at a group consensus for approximating workload.

Product owner: A product owner symbolizes the customer and communicates the customer’s vision and the requirement to the Agile team. They jot down the acceptance criteria and maintain the backlog.

Retrospective: A meeting is held at the end of each iteration to reflect on what went well and what could be improved. This meeting is a way for the team to connect on a project and really learn what worked and didn’t work within the process.

Scrum: Scrum is among the most popular Agile frameworks. It focuses on small independent teams working on short sprints (iterations).

Scrum Master: A Scrum Master is a team member who handles communication between Scrum team members and organizes daily planning meetings and retrospectives.

Stakeholder: This refers to someone who’s not part of the Scrum team, but has some interest in the product created by the team.

Sprints: Sprints are short iterations, which usually takes between 1 to 3 weeks to complete.

Sprint backlog: Works within the definition of “sprints” and is represented by the set of tasks to be completed within a sprint’s goals. These goals are then placed into the backlog of items.

Story points: A unit of measure used to estimate a work item’s relative size or complexity. Story points are shared within tasks or projects to help define the scope of work and how long specific projects may take.

Task: A task defines a unit of work that’s broken down from a user story. Often it’s completed by a single team member.

Task board: This is an online or physical visual representation of user stories as tasks. The board also displays the individuals assigned a specific task.

Technical debt: Technical debt occurs when teams use a short-term, expedient approach to create the product without accounting for the long-term consequences. 

Test-Driven Development (TDD): TDD is the practice of building and designing tests for functional working codes and then designing a code that will pass those tests. This helps the agile team understand the full potential and purpose of the code and how it should work before it’s developed.

What are the different ways to use agile?

Agile aims to create shorter development cycles and frequent product releases, unlike traditional waterfall project management. Because of the shorter time frames, teams can react to change in customer’s needs more effectively. That said, Agile Methodology can help users with the following:

Project planning

Before teams can start any project, they need to understand the end goal, the value of the customer, the expected software development cost and how they’ll accomplish the project.

Users can take advantage of the Agile project management framework to create a project scope. However, they need to keep in mind that Agile Methodology aims to address changes and addition to a project in a simpler manner. So the project scope they develop should seem changeable.

Product roadmap creation

A product roadmap here refers to the features that make up the end-product. A roadmap is an essential element of the planning stage of an Agile project since teams develop individual features during each sprint/iteration.

At this point, a product owner will also design a product backlog. And when the plan sprints later, the team will pull tasks from the backlog.

Release planning

In Waterfall project management, the implementation of the date usually comes after the completion of the entire project. However, Agile project management uses shorter development cycles, which allows features to get released at the end of each cycle.

Before beginning the project, project owners or teams can make a high-quality plan for feature releases after each sprint. They can always revisit and reassess the release of a particular feature.

Sprint planning

Before a sprint can begin, business stakeholders have to first hold a sprint planning meeting. This helps them to determine what each team member should accomplish during that sprint and how they’ll accomplish it. Sharing the load evenly between team members ensures that during the sprint, the task gets completed.

Stakeholders can also visually document the workflow to identify and get rid of bottlenecks, improve team transparency, and share understanding within the Agile team. You can also use a sprint planning tool to view team progress daily or weekly and keep everything organized.

Daily stand-ups

Daily stand-up meetings help teams complete their project during each sprint and assess the implementation of necessary adjustments. These meetings usually last for only 15 minutes. Each team member has time to briefly explain what they’ve accomplished the previous day and what they’ll be doing on that day.

Sprint review and retrospective

By the end of each spring cycle, a team should have a functioning feature or piece of software. If that’s the case, project stakeholders will hold a sprint review meeting where the team will show them the final product. Also, in this meeting, both groups will discuss any product issues that might arise.

In a sprint retrospective meeting, the key stakeholders will discuss how efficient the sprint was, what could have been implemented better, and what achievement occurred throughout the sprint.

The entire team needs to be present during the essential meetings, especially if they’re new to Agile project management. This helps project stakeholders to gauge whether the team can tackle certain task during a sprint and to determine the sprint length for feature projects.

要查看或添加评论,请登录

Swaminathan Nagarajan的更多文章

  • Cybersecurity: A challenging and lucrative field

    Cybersecurity: A challenging and lucrative field

    Why Work in Cybersecurity? Digital infrastructure has become the backbone of any industry. Cybersecurity has become one…

    1 条评论
  • Cybersecurity: Safeguard in an increasingly digital world

    Cybersecurity: Safeguard in an increasingly digital world

    The growing dependency on digital systems and rapid technological advancements have significantly amplified…

    3 条评论
  • Cybersecurity: Cyber Risk Reporting

    Cybersecurity: Cyber Risk Reporting

    Cyber risks pose a formidable challenge, especially in today's increasingly connected world, to organizations across…

    4 条评论
  • Cybersecurity: Emerging Trends

    Cybersecurity: Emerging Trends

    The field of cybersecurity is continually evolving, driven by the relentless pace of technological advancements and the…

  • Cybersecurity: The Cornerstone of the digital enterprise

    Cybersecurity: The Cornerstone of the digital enterprise

    As companies embark on their digital transformation journeys, the role of cybersecurity has become more critical than…

    5 条评论
  • Cybersecurity: A Primer

    Cybersecurity: A Primer

    Cybersecurity refers to the practices, technologies, and processes designed to protect networks, devices, programs, and…

    2 条评论
  • What is triple bottom line?

    What is triple bottom line?

    Businesses face challenges that go far beyond the pursuit of profit. Climate change, economic inequality, and social…

    1 条评论
  • Sustainable Initiatives: A few examples

    Sustainable Initiatives: A few examples

    The world is currently facing a multitude of crises: climate change, social inequality, and a global health pandemic…

  • Jobs to be done theory

    Jobs to be done theory

    The "Jobs to Be Done" (JTBD) theory is a powerful framework for understanding customer needs and driving innovation…

  • What does sustainability mean in business?

    What does sustainability mean in business?

    The concept of sustainability has evolved from a niche concern to a central business strategy. With rising awareness of…

    2 条评论

社区洞察