Skip to main content
16 answers
18
Asked 996 views

What is Scrum and what is Agile?

I have a very basic understanding of what Agile is. I read over the Agile manifesto but I am still having a hard time fully understanding how it fits into software development.

I have no real idea what Scrum or being a "Scrum Master" means. Ive heard the terms used before when referring to the development of a software product, but I cant visualize the actual objective of the role.

Can anyone expand on these terms?

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

18

16 answers


2
Updated
Share a link to this answer
Share a link to this answer

Mohit’s Answer

Agile: This is a method that relies on a incremental and iterative approach. It's a broad term that encompasses various strategies.

Scrum: This is a specific way to apply Agile principles, focusing on delivering updates in short, frequent bursts.

The process of developing software can be intricate and lengthy. It might take several months to build a product, and during that time, the needs and comprehension of the project may evolve. The key element in keeping the software development on the right path is "Prompt Feedback" and that's where agile helps.

The Scrum Master's job is to ensure that the team adheres to all the necessary rituals and procedures.
2
2
Updated
Share a link to this answer
Share a link to this answer

Fred’s Answer

Scrum is always Agile, but not all Agile is Scrum.

Here is the Agile Manifesto: https://agilemanifesto.org/principles.html

Note is says nothing about Scrum. Scrum is a way to do agile development, but not the only one.

I think the manifesto is pretty clear how it relates to software development. "Welcome change to specs" "Working software is the primary measurement" - i.e. not lines of code. "Simple is better". "Business and devs need to work together".

Scrum sets up regular cycles of development. Every 2 weeks (or 4, or whatever), you have to deliver some new feature. It must be coded, tested, documented, etc. The Scrum Master helps keep everyone on track. She leads the meetings, checks in with everyone, and helps clear obstacles in the way. They can be a developer, but do not have to be.
2
1
Updated
Share a link to this answer
Share a link to this answer

Camtu’s Answer

Hello Eric,

Agile is a specific approach or methodology, and a Scrum Master is a key player who implements this approach as part of a comprehensive Agile work process. It's important to note that a Scrum Master can't single-handedly bring Agile to life. The framework requires the participation of other roles to be fully effective.

Scrum Masters are like the conductors of an orchestra, coordinating the efforts of developers across various teams to ensure they are all working harmoniously towards the common goal of product development. They need to have a firm grasp of system dependencies, business processes, and technical jargon to effectively guide their teams.

I hope this explanation is helpful!
1
1
Updated
Share a link to this answer
Share a link to this answer

Stephen’s Answer

Agile is a method used in software development that prioritizes adaptability, teamwork, and progressive enhancement. It segments projects into manageable units known as "sprints", focusing on the delivery of small, operational software pieces in brief cycles. This enables teams to adjust to changes and customer feedback more efficiently.

Scrum, on the other hand, is a specific framework within the Agile method. It organizes the development process into fixed time periods, also known as "sprints," which typically last 2-4 weeks. During each sprint, teams collaborate to plan, create, test, and deliver a software piece. A "Scrum Master" acts as a guide, assisting the team in adhering to Scrum principles and eliminating any hurdles they encounter.

In the realm of software, several tools are frequently employed to put Agile and Scrum principles into practice. Applications such as Jira, Trello, and Asana assist teams in task management, progress tracking, and effective communication. However, it's crucial to remember that every company, and even each team within a company, may function slightly differently. They might have distinctive methods of conducting daily stand-up meetings, sprint planning, and reviews. The ability to adapt is essential, as teams modify Agile and Scrum principles to suit their specific requirements and objectives.

In conclusion, Agile is an adaptable method for software development, with Scrum being a specific framework within Agile that breaks work into sprints. The "Scrum Master" ensures the team adheres to Scrum principles and aids them in tackling challenges. Common tools aid in the execution of these principles, but teams often adapt their processes to match their unique situations. Both Agile and Scrum aim to enhance teamwork, adaptability, and the delivery of valuable software.
1
0
Updated
Share a link to this answer
Share a link to this answer

Umang’s Answer

Agile is a versatile approach to project management that prioritizes adaptability and teamwork with customers.

Scrum, on the other hand, is a particular Agile method that uses time-limited cycles and set roles and tools to streamline the process of creating software.
0
0
Updated
Share a link to this answer
Share a link to this answer

Umang’s Answer

Agile is a flexible and customer-centric approach to software development and project management, emphasizing collaboration, adaptability, and delivering incremental value. It values individuals and interactions, working software, customer collaboration, and responding to change over strict processes and documentation.

Scrum, on the other hand, is a specific Agile framework that organizes work into time-bound iterations called sprints, typically lasting 2-4 weeks. It defines roles such as Product Owner, Scrum Master, and Development Team, along with artifacts like the Product Backlog and Sprint Backlog, to facilitate structured planning, execution, and frequent delivery of potentially shippable product increments within a collaborative team environment.
0
0
Updated
Share a link to this answer
Share a link to this answer

sasi’s Answer

Scrum is specific agile methodology where your work is bound to iterations within a timebound period. Scrum Master typically runs the entire SDLC for Scrum, meaning work is tracked by him.

Agile is flexible and keeps changing based on the customer preferences. It allows engineers to deliver small jobs and adopt according to customer feedback.
0
0
Updated
Share a link to this answer
Share a link to this answer

Andrew’s Answer

Scrum is a unique and specific agile methodology. There are actually a variety of agile methodologies that you can choose from. Scrum is a robust framework that empowers teams to structure and prioritize their tasks using a set of proven practices and tools. Rather than meticulously planning out massive projects with a single end delivery, Scrum endorses a more flexible approach. It champions the delivery of value in smaller, manageable increments, allowing teams to adapt and evolve with the changing needs and objectives of a project.

Now, you might be wondering, what is a Scrum Master? A Scrum Master is like the guiding light within the Scrum framework. Their role is to facilitate the workflow, ensuring that the team is functioning within the framework and delivering high-value features. They are the problem solvers, removing any hurdles that may hinder a team member's progress. They orchestrate the Scrum ceremonies and are committed to fostering productivity among team members. So, in essence, a Scrum Master is a key player in making the Scrum methodology a success.
0
0
Updated
Share a link to this answer
Share a link to this answer

Michael’s Answer

Certainly, I can explain Agile and Scrum in more detail.

Agile is a methodology or approach to software development and project management that prioritizes flexibility, collaboration, customer satisfaction, and the delivery of working software. It emphasizes adaptability, incremental progress, and continuous improvement. Agile is guided by the values and principles outlined in the "Agile Manifesto," which you mentioned. The four core values of the Agile Manifesto are:

Individuals and interactions over processes and tools: Agile places a strong emphasis on the collaboration and communication between team members.

Working software over comprehensive documentation: Agile values working and functional software as the primary measure of progress.

Customer collaboration over contract negotiation: Agile encourages close collaboration with customers and stakeholders to better understand and meet their needs.

Responding to change over following a plan: Agile embraces change and the ability to adapt to evolving requirements.

Agile methodologies, like Scrum, Kanban, and Extreme Programming (XP), are frameworks that operationalize these Agile principles.

Scrum is one of the most popular Agile frameworks and is particularly well-suited for software development. Scrum is characterized by the following key elements:

Roles:

Scrum Master: The Scrum Master is not a manager but a servant-leader responsible for ensuring that the Scrum process is understood and followed. They facilitate meetings, remove impediments, and help the team work effectively.
Product Owner: The Product Owner represents the interests of the customer and is responsible for defining and prioritizing the product backlog (the list of features and tasks to be completed).
Development Team: The self-organizing team responsible for delivering the product increments.
Artifacts:

Product Backlog: A prioritized list of features, enhancements, and bug fixes that need to be addressed.
Sprint Backlog: A selection of items from the product backlog that the team commits to completing during a sprint.
Increment: A potentially shippable product that is the result of one sprint.
Events:

Sprint: A time-boxed development cycle, usually 2-4 weeks, during which the team works to complete items from the sprint backlog.
Daily Scrum: A daily 15-minute meeting where the team synchronizes their work and discusses any impediments.
Sprint Review: A meeting at the end of the sprint to demonstrate what was completed and gather feedback.
Sprint Retrospective: A meeting at the end of the sprint where the team reflects on their process and identifies ways to improve.
Scrum's primary objective is to deliver valuable and potentially shippable increments of a product at the end of each sprint. It promotes transparency, inspection, and adaptation. The Scrum Master plays a crucial role in facilitating the Scrum process, ensuring the team follows Agile principles, and removing obstacles that hinder progress.

In summary, Agile is a broad approach to project management and software development, guided by principles and values, while Scrum is a specific framework within the Agile methodology that provides a structure and defined roles and ceremonies for achieving Agile goals, with the Scrum Master being a key facilitator in the process.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jessica’s Answer

Great questions! Several people have already discussed Agile, Scrum, and Scrum Master definitions, so I thought I'd guide you to some useful resources.

- The website https://scaledagileframework.com/ provides a comprehensive view of the Agile methodology. The entire idea is centered on "business agility" (you can read more about it here: https://scaledagileframework.com/business-agility/). This concept empowers a company to swiftly adapt to market shifts and seize emerging opportunities with innovative, digitally-enabled business solutions.

- Scrum, which you can learn more about at https://scaledagileframework.com/safe-scrum/, is a cyclical Agile approach used for product or software development. Specific events occur within a set iteration or timeframe (usually spanning two weeks). Backlog refinement is done at the beginning of the iteration to clarify the software requirements that need to be developed. Then, iteration planning is done to decide which tasks from the backlog can be completed within that iteration. The team often sets and aligns on goals to be accomplished within that iteration. At the iteration's end, the developed software is demonstrated for acceptance for release, or it's returned to the backlog or moved to the next iteration's plan for continued development until it's ready for release. The team also conducts a "retrospective" to identify what worked well, what didn't, and what they should try differently in the next iteration.

- The Scrum Master, similar to a Team Coach, assists the team in sticking to the iteration goals, plans, processes, and principles. You can learn more about this role at https://scaledagileframework.com/scrum-master-team-coach/. It's crucial for them to be empathetic, effectively manage conflicts, act as a "servant leader" by leading through support and persuasion, mentor their teammates, provide and seek feedback transparently, and actively coach their teammates on the Agile methods they need to follow. They're accountable for enhancing the performance of the multiple teams that make up the Agile Release Train (ART), facilitating the Program Increment (PI) Planning (usually a quarter or three months' worth of iterations), supporting iteration planning, improving the flow of software/product delivery, and building high-performing teams. Training courses to become a Scrum Master are available here: https://scaledagile.com/calendar/events/?courseType=SAFe%20Scrum%20Master&course_id=SAFe%20Scrum%20Master

I hope this information is helpful!
0
0
Updated
Share a link to this answer
Share a link to this answer

Jason’s Answer

"Agile" is a term that encompasses many light weight, iterative and incremental development practices that focus on short development loops to help generate feedback and ensure you are on the correct path for the work you are delivering. These practices came in response to the common practice of the time, "Waterfall", which was a heavy weight practice that focused on lots of analysis and requirements gathering before any development started. Once requirement was complete, then you would design and then finaly develop your software. It could be easily a year or more before you ever saw a software release. It meant that if the requirements changed or you got your requirements wrong it would take a long time to respond and adjust. It was also very costly as you could spend months/years paying for something you didn't need. There is a great video that covers Agile Product Ownership that gives you a good overview of what Agile Development is about. https://www.youtube.com/watch?v=502ILHjX9EE

Scrum is a specific Agile framework, (read about it here: https://scrumguides.org/ ) and one of the most commonly practiced. However like all things, if you aren't following it correctly it won't work as intended. A Scrum Master is a role within the Scrum Framework meant to help the team/s focus and improve on their practice of Scrum. Ensuring that they are working towards continuous improvement, helping to remove impediments hindering the team from achieving their sprint goal. The Scrum Master isn't a boss and doesn't have any of the team members report to them. In fact, you are highly discouraged from having a Team Manager be the Scrum Master for a team. Scrum Masters are seen as a peer or coach, one ideally with experience in Scrum or Agile practices, who help the team. THey don't dictate what the team does. They are a source of knowledge, a resource to help the team improve.
0
0
Updated
Share a link to this answer
Share a link to this answer

Alan’s Answer

From a practical standpoint, the process is about taking big tasks and breaking them down into smaller pieces. The engineers work on those small pieces for a short time and then meet with the stakeholders to make sure those pieces work as intended. If the work was successful engineers can start on new pieces of the larger project, or they can fix or continue to work on the work that wasn't completed.

Because of the short time frame for each, 'sprint,' it ensures that the engineers can get feedback on what they have done and there is plenty of time to course correct if needed.
0
0
Updated
Share a link to this answer
Share a link to this answer

John’s Answer

Hello Eric!

Agile methodology, a popular approach in software development, divides the work into manageable segments known as sprints. Each sprint involves the team gathering requirements for the software under development, crafting code to fulfill those requirements, and conducting rigorous testing before releasing the product into the real world, a process often referred to as a "release".

To efficiently manage the workflow throughout the sprint cycle, teams usually hold daily meetings. These meetings are an opportunity to review upcoming work, identify and discuss any obstacles the team may have come across, and strategize on the best way forward. This crucial meeting is known as a "scrum", a term inspired by rugby where the team huddles to strategize their next move. The scrum meetings are steered by a scrum master who monitors the team's progress in software development during the sprint and keeps track of any issues, ensuring they are promptly resolved.

While the scrum master guides the scrum meetings, the success of the sprint or release is a collective responsibility of the entire agile team.

Your interest in Agile methodologies is commendable, Eric! I strongly encourage you to deepen your understanding and consider pursuing Agile certifications. This knowledge will be invaluable if you choose to embark on a career in software development or any projects that employ Agile methodologies. Keep up the great work!

Upskilling

Whether you’re starting college or finishing up your studies, Access Your Potential Career Readiness and Digital Skills curricula are available to help you grow and discover what you want for your career. http://accessyourpotential.pwc.com/.
0
0
Updated
Share a link to this answer
Share a link to this answer

Guillermo’s Answer

Absolutely! In your professional journey, Agile and Scrum are becoming the standard working methods in nearly every company. I began incorporating this framework into my work a few years ago, and I can confidently say that it has significantly boosted my efficiency. It's allowed me to deliver more value to my users and customers. Agile isn't just a fantastic concept for the software industry, it's also beneficial for other sectors.

I encourage you to consider getting certified. It's a great way to prepare for the future. Check out this link for more information: https://www.scrum.org/
0
0
Updated
Share a link to this answer
Share a link to this answer

Josh’s Answer

The previous responses have done a fantastic job explaining the framework, the concept of agile, and the role of a scrum master. I'd love to contribute by sharing my own experiences as a scrum master, as well as some commonly recognized certifications that could boost your chances of landing a job in this field.

One such certification is the Certified Scrum Master, which you can find more about here: https://www.scrumalliance.org/get-certified/scrum-master-track/certified-scrummaster. This certification is not just popular among scrum masters, but also among Product Managers and developers. The course is typically a few exciting, jam-packed days where you'll dive deep into the fundamentals and work on real-world examples with other professionals who share your interests. Please note that this certification comes with a fee and requires you to earn education credits every few years to keep it valid.

As for my personal experience, I've had the pleasure of being a scrum master at three different companies, each operating in different sectors: Retail, Job Boards, and currently, Social Media. My responsibilities and daily tasks varied greatly in each role, but there were also many commonalities. One of the most significant aspects of being a successful scrum master, regardless of the company, is building strong relationships with your team and the company's leadership. These relationships are vital for coaching teams to follow specific processes or align with shared business goals - all tasks that fall under the scrum master's purview.

It's also worth noting that the role of a scrum master often extends beyond the title. In practice, you'll find yourself wearing many hats - coach, project manager, program manager, and more. Essentially, you're a problem solver with a passion for process and a knack for building relationships with people across all levels of the company.
0
0
Updated
Share a link to this answer
Share a link to this answer

Dionne’s Answer

Hi Eric -- great question!

While the 'Agile Manifesto' was written in the context of Software Development, I find it helpful to think of "Agile" as more of a mindset that can be applied to almost anything. It's about staying focused on the desired outcomes, ensuring you have frequent feedback loops in place to understand whether those are still the right outcomes and if you're on the right path to achieving them, and always being willing to adjust plans based on the feedback. Scrum, on the other hand, is a specific agile methodology that's typically used for software/product development, which others have helpfully described above.
0