Coding
Also Known As
- Build Quality In (in Lean Software Development)
- Development
- Implementation (in Waterfall Development)
- Programming
- Software Engineering
Related
Addresses / Mitigates
- Feature Fit Risk: Build or improve some features which our clients will find useful.
- Process Risk: Problems and edge cases with software processes can be fixed by adding code.
Attendant Risks
- Implementation Risk: Changes in code can introduce new bugs and regressions.
- Complexity Risk: Writing new code adds complexity to a project.
Used By
- Extreme Programming: Coding is a core activity in XP, with an emphasis on clear, simple code.
- Lean Software Development: Lean practices emphasize building quality in throughout the coding process to prevent defects.
- Scrum: Coding is a core activity in Scrum as it is in any software development framework.
- Waterfall Development: The implementation phase in Waterfall involves converting design documents into functional software through coding.
Description
"Coding, in the context of software engineering, is the process of designing and building an executable computer program for accomplishing a specific computing task.": - Coding, Wikipedia
Coding is a core activity in software development, involving the translation of requirements and designs into functional code. High-quality coding practices are essential for creating reliable, maintainable, and efficient software. This involves writing clear, well-structured, and documented code that adheres to established standards and best practices.
Variations
| Coding Style | Description | Reference |
|---|---|---|
| Test-Driven Development | Writing tests before code to guide implementation and ensure coverage. | Test-Driven Development, Wikipedia |
| Behaviour-Driven Development | Writing code based on expected behaviour described in natural language. | Behaviour-Driven Development, Wikipedia |
| Literate Programming | Embedding code within documentation to explain logic alongside implementation. | Literate Programming, Wikipedia |
See also: Time/Reality Tradeoff
Used By
Extreme Programming
An Agile software development methodology that emphasizes customer satisfaction, teamwork, and frequent delivery of small, functional software increments.
Why: Coding is a core activity in XP, with an emphasis on clear, simple code.
Lean Software Development
An Agile software development methodology that emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole.
Why: Lean practices emphasize building quality in throughout the coding process to prevent defects.
- Build Quality In
Scrum
An Agile framework for managing and completing complex projects.
Why: Coding is a core activity in Scrum as it is in any software development framework.
Waterfall Development
A traditional linear and sequential development methodology where each phase must be completed before moving on to the next.
Why: The implementation phase in Waterfall involves converting design documents into functional software through coding.
- Implementation