UPI Study › Courses › System Analysis and Design › Free lessons › Lesson 3.1 Free with a free account
Agile Thinking: Core Definitions, Concepts, and Steps
System Analysis and Design · Chapter 3: Agile Methods and Rapid DevelopmentSection 3.1 · lesson 15 of 6910 min · free with a free account
Free preview
Create a free account to keep watching
It takes a minute and costs nothing. Your free account unlocks all of Chapter 1 and 3 more lessons of System Analysis and Design.
Lesson complete
Earn the 3 college credits for System Analysis and Design
Enrolling adds a quiz after each lesson, the graded work and the official transcript. Recommended for credit by NCCRS.
Next lesson: Blending Agile with the Systems Development Life Cycle →← Verification at Every Stage: The V-Shaped Model in the SDLCNext lesson: Blending Agile with the Systems Development Life Cycle →
In this lesson
The Manifesto, the vocabulary, and 3 frameworks: Scrum, Kanban, and XP.
- Explain the 4 values and 12 principles behind agile thinking
- Define user story, backlog, sprint, and velocity
- Describe Scrum's roles, events, and artifacts
- Explain Kanban and XP, and compare all 3 frameworks
Transcript
Everything said in the video, section by section (1,375 words). Read along, or search it.
Agile Methods and Rapid Development
Agile Thinking: Core Concepts
The last chapter ended with models that deliver in cycles. This chapter goes further, into agile methods. We start with the ideas behind agile thinking, the four values and twelve principles. Then the vocabulary every agile framework uses. And then three frameworks in detail. Scrum, Kanban, and extreme programming, known as X P. By the end, you should know what each one is for, and when to reach for it.
The Agile Manifesto, 2001
4 Values
In two thousand one, a group of software practitioners published a short statement of shared values. They were frustrated with heavyweight, document-driven development processes. That statement is now known as the Agile Manifesto. It names four things that matter more, when they come into conflict with something else. People and how they interact matter more than rigid processes and tools. Software that actually works matters more than extensive documentation about the software. Ongoing collaboration with the customer matters more than negotiating every detail into a fixed contract. And adapting the plan as new information arrives matters more than following the original plan no matter what. Now here is the part people often get wrong. The manifesto does not reject planning, documentation, or process. Agile teams still write documentation, sign contracts, and make plans. They just refuse to let any of those override a working product, a responsive team, or a change the customer actually needs.
The 12 Principles (1 of 2)
What the Values Mean in Practice
The four values are deliberately broad. Twelve principles spell out what they mean day to day. First, the top priority is satisfying the customer, through early and continuous delivery of valuable software. Second, requirements can change late in a project. Agile processes turn that change into an advantage, rather than treating it as a failure. Third, working software is delivered frequently, in weeks rather than months. Fourth, business people and developers work together daily, throughout the project, not just at hand-off points. Fifth, projects are built around motivated individuals, who are trusted, and given the environment they need. Sixth, face-to-face conversation remains the most efficient way to convey information within a team.
The 12 Principles (2 of 2)
Sustaining the Work
Seventh, working software is the primary measure of real progress. It counts for more than status reports or documentation. Eighth, agile processes promote a sustainable pace, one the team can maintain indefinitely. Not sprints of overtime, followed by burnout. Ninth, continuous attention to technical excellence and good design keeps a team able to move quickly over time. Tenth, simplicity is essential. The principle defines it as maximizing the amount of work left undone. Eleventh, the best requirements, designs, and architectures come from teams that organize their own work. And twelfth, at regular intervals, the team reflects on how to improve, and adjusts its behavior.
The Vocabulary of Agile Work
4 Terms Every Framework Uses
Agile teams describe their work with a small, consistent vocabulary. Four terms matter most. A user story is a short description of a feature, written from the perspective of the person who will use it. For example, as a customer, I want to see my order status, so that I know when it will arrive. A backlog is the ordered list of everything that could be built for a product, ranked by priority. Imagine eighty user stories, with the ten most valuable at the top. A sprint is a fixed, short time period, typically one to four weeks. During it, the team builds an agreed slice of the backlog, for example six specific stories in a two-week sprint. And velocity is a measure of how much work a team completes per sprint. A team that consistently completes about thirty story points per sprint, can plan its next few sprints around that number. Notice that velocity is used for forecasting, not for judging. It describes the team's real pace.
Scrum - Figure 1
The Sprint Cycle
Scrum is the most widely used agile framework. It organizes work into sprints, and every sprint follows the same repeating cycle of events. It begins with sprint planning. Then, through the sprint, the team holds short daily check-ins, called the daily scrum. At the end, a sprint review inspects what was built. Then a sprint retrospective inspects how the team worked. And then the cycle begins again. Notice the two inspections at the end. One looks at the product. The other looks at the process.
Scrum
3 Roles and 3 Artifacts
Scrum defines three roles. The product owner owns and prioritizes the product backlog, and represents the customer's interests to the team. The scrum master protects the team's process, removes obstacles, and coaches the team in using Scrum well. The development team is a small, self-organizing group. It decides how to turn backlog items into a working increment each sprint. Scrum also defines three artifacts. The product backlog is the complete, ordered list of everything that could be built. The sprint backlog is the specific set of items the team has committed to for the current sprint. And the increment is the working, usable piece of the product produced by the end of the sprint.
Kanban
Visualize the Work, Limit Work in Progress
Kanban takes a different approach. There are no fixed sprints. Instead, work flows continuously across a visual board. The board is usually organized into columns, such as to do, in progress, and done. Two ideas define Kanban. The first is to visualize the work. Every task is a card on the board, so the whole team can see what is happening at a glance. The second is to limit work in progress, often shortened to W I P. Each column has a maximum number of cards it can hold at once. That forces the team to finish work already in progress, before starting something new. Because there are no fixed-length sprints, Kanban suits teams whose work arrives unpredictably. Support and maintenance teams are good examples. It suits them better than teams building a large feature from scratch.
Extreme Programming (XP)
Engineering Practices for Quality
Scrum and Kanban organize the flow of work. Extreme programming, or X P, focuses on something else. The technical practices developers use while writing the code itself. In pair programming, two developers work at one workstation. One writes code, and the other reviews it in real time. In test-driven development, a test is written before the code that makes it pass. So correctness is defined before implementation begins. In continuous integration, code changes are merged and tested against the whole system frequently, often several times a day. Simple design means building the simplest design that satisfies today's requirements, rather than designing for imagined future needs. And small, frequent releases mean working versions are released often, so feedback arrives quickly.
Choosing a Framework
Scrum, Kanban, or XP?
So how do you choose? Scrum's core mechanism is fixed-length sprints, with defined roles and events. It suits teams building a product in planned, deliverable increments. Kanban's mechanism is continuous flow, with visualized work and work-in-progress limits. It suits teams handling unpredictable, ongoing streams of work. X P's mechanism is engineering practices, such as pair programming and test-driven development. It suits teams that need very high code quality, and fast feedback on correctness. And here is the key point. These are not mutually exclusive. Many teams run Scrum for overall planning, while applying X P practices inside each sprint. Others use a Kanban board to manage a Scrum team's sprint backlog. The frameworks solve different problems. They are not competing versions of the same problem.
Key Terms
The Vocabulary of This Section
Let's lock in the key terms. The Agile Manifesto is the two thousand one statement, of four values and twelve principles, that defines agile development. A sprint is a fixed, short period in Scrum, in which a team builds an agreed slice of the backlog. Velocity measures how much work a team completes per sprint, and is used to forecast future work. A work-in-progress limit caps how many tasks can sit in one stage of a Kanban board at once. And test-driven development means writing a test before the code that makes it pass.
Key Takeaways
What to Carry Forward
To pull this together. The Agile Manifesto's four values do not reject planning or documentation. They prioritize people, working software, collaboration, and adaptability, when those come into tension with process. User stories, backlogs, sprints, and velocity are the shared vocabulary that makes agile frameworks workable. Scrum organizes work into repeating sprints, with defined roles, events, and artifacts. Kanban replaces fixed sprints with continuous flow, visualized work, and work-in-progress limits. And X P contributes engineering practices, like pair programming and test-driven development. Those practices raise code quality, whichever framework organizes the surrounding work.
About System Analysis and Design at UPI Study
System Analysis and Design (Computer Science 390) is a self-paced online course of 69 video lessons in 9 chapters, from the analyst's role and requirements to UML modeling, interface and database design, testing, maintenance and project management. It carries a NCCRS credit recommendation for 3 semester credits.
Every lesson transcript is free on pages like this one, and the videos are free with a free UPI Study account. Enrolling adds a practice quiz after each lesson, the graded work and final exam that earn the credit, lifetime access, and an official transcript on completion. UPI Study has helped over 130,000 students with college credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Enroll now → Course details Download the syllabus All Computer Science courses Every course with PRO →
Why take it here
Why students take System Analysis and Design with UPI Study
Where the credit goes
Universities that work with NCCRS
System Analysis and Design carries a NCCRS credit recommendation. These universities work with NCCRS; some are UPI Study's signed partners. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Thomas Edison State UniversitySigned partner
University of the PeopleSigned partner
Charter Oak State CollegeSigned partner
Strayer UniversitySigned partner
Columbia Southern UniversitySigned partner
Indiana TechSigned partner
Penn StateWorks with NCCRS
Southern New Hampshire UniversityWorks with NCCRS
SUNYWorks with NCCRS
+many more cooperating universitiesFind my college →Find my college → Not listed? Ask Athena in the corner of this page, or book a 15-minute call.
FAQ
Questions students ask us
About Agile Thinking: Core Definitions, Concepts, and Steps
What are the four values of the Agile Manifesto?
What do user story, backlog, sprint, and velocity mean in agile?
What are the roles, events, and artifacts in Scrum?
What is the difference between Scrum, Kanban, and XP?
About the System Analysis and Design course
How many college credits is System Analysis and Design?
How much does System Analysis and Design cost and what is included?
Which universities accept UPI Study credits?
How long does System Analysis and Design take?
How are the exams done?
How do my credits reach my college?
Ready for the full course? Earn 3 credits in System Analysis and Design.
69 video lessons, a quiz after each one, and the graded work that earns the credit. Recommended for credit by NCCRS.
3 credits · NCCRSEnroll →