Introduction to Agile Development: Benefits, Principles, and Preparation Steps
This article explains why agile development is needed, outlines its advantages over traditional waterfall methods, defines agile and scrum, and provides practical guidance on preparing teams, tools, and processes before launching an agile project.
In the fast‑changing Internet industry, delivery speed has become a core competitive advantage, leading many companies, including JD.com, to adopt lightweight, flexible agile software development methods.
Why agile is needed? Traditional waterfall development (requirement → design → coding → testing → deployment) suffers from poor responsiveness to requirement changes, late feedback, high rework costs, and siloed collaboration.
Agile addresses these pain points by delivering small increments early, gathering user feedback quickly, and encouraging close collaboration among business, product, and development teams.
At JD.com, large projects are broken into phases (Phase 1, Phase 2, etc.) to mitigate waterfall drawbacks, though some multi‑month projects may still benefit from agile.
A common analogy compares waterfall to building a car where the customer sees the product only at the end, while agile delivers a tested increment after each iteration, allowing continuous feedback and higher satisfaction.
What is agile? Agile is the ability to respond quickly to changing business needs while managing risk, enabling flexible, efficient adjustments based on reality.
Agile development is a people‑centric, business‑value‑driven, iterative and incremental lightweight development model that adapts well to requirement changes and delivers high‑quality software rapidly.
The Agile Manifesto (2001) articulates core values that inspire a better way of working.
How to start an agile project? Begin with a pilot project to gather experience, then continuously improve.
Key preparation steps include:
1. Effective communication : Align business and development teams on the need for agile and its goals; secure leadership support.
2. Training and coaching : Provide agile training for teams new to the practice and learn from experienced teams.
3. Tooling : Use tools that support automated code integration, testing, deployment, requirement management, task tracking, and reporting (e.g., JIRA). JD.com invests in internal tools such as the Xingyun system, automated testing, Sonar, etc.
4. Physical environment : Arrange workspaces close together, equipped with whiteboards, glass walls, and sticky notes to facilitate communication.
5. Tailored agile practices : Choose the most suitable agile method for each project; avoid dogmatic adoption.
Common agile methods include Scrum, Kanban, and Extreme Programming (XP). Scrum and Kanban focus on management, while XP emphasizes engineering practices. For large‑scale development, frameworks like SAFe or LeSS may be used.
Scrum uses fixed iteration cycles with events such as backlog grooming, sprint planning, daily stand‑up, demo, and retrospective, forming a PDCA feedback loop.
Kanban visualizes workflow, limits work‑in‑progress, and continuously optimizes based on metrics, suitable for projects with frequent changes.
Extreme Programming (XP) includes practices like Test‑Driven Development (TDD) and pair programming, which may have higher adoption costs.
In summary, agile brings many benefits but is not a silver bullet; it exposes problems early and drives continuous improvement. Teams should start quickly, learn by doing, and evolve a JD‑specific agile methodology.
Conclusion Agile is valuable, yet it must be applied pragmatically, with preparation and iterative learning.
JD Retail Technology
Official platform of JD Retail Technology, delivering insightful R&D news and a deep look into the lives and work of technologists.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.