Software Engineering Best-Practice: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "ments]]" to "ment]]s") |
No edit summary |
||
Line 1: | Line 1: | ||
A [[Software Engineering Best-Practice]] is a [[software engineering practice]] that is an [[engineering best-practice]]. | A [[Software Engineering Best-Practice]] is a [[software engineering practice]] that is an [[engineering best-practice]] (designed to ensure [[software development quality]] and [[project success]]). | ||
* <B>AKA:</B> [[Software Development Best Practice]], [[Engineering Practice Standard]], [[Software Quality Practice]]. | |||
* <B>Context:</B> | * <B>Context:</B> | ||
** | ** It can implement [[Software Development Process]] through [[iterative methodology]]s and [[agile practice]]s. | ||
* <B> | ** It can maintain [[Code Quality Standard]] through [[coding convention]]s and [[style guide]]s. | ||
** [[Iterative Software Development]] . | ** It can enforce [[Architecture Pattern]] via [[component design]] and [[system structure]]s. | ||
** [[Software Requirements Management]] . | ** It can support [[Quality Assurance Process]] through [[testing strategy]] and [[verification method]]s. | ||
** [[Software Component Architecture]] . | ** It can provide [[Change Management Control]] via [[version control]] and [[release process]]s. | ||
** [[Visual Software Modeling]] . | ** ... | ||
** [[Software Quality Verification]] . | ** It can often establish [[Documentation Standard]] through [[code comment]]s and [[technical documentation]]. | ||
** [[Software Change Control]]. | ** It can often implement [[Review Process]] via [[peer review]]s and [[code inspection]]s. | ||
** | ** It can often manage [[Project Timeline]] through [[sprint planning]] and [[milestone tracking]]. | ||
** [[Code Review]]s. | ** It can often support [[Team Collaboration]] via [[communication protocol]]s and [[knowledge sharing]]. | ||
** | ** It can often maintain [[Technical Debt Control]] through [[refactoring practice]]s. | ||
** | ** ... | ||
* <B>Counter- | ** It can range from being a [[Basic Engineering Practice]] to being an [[Enterprise Engineering Practice]], depending on its [[organization scale]]. | ||
** | ** It can range from being a [[Development Practice]] to being a [[Production Practice]], depending on its [[deployment stage]]. | ||
* <B>See:</B> [[Software Engineer]], [[Center of Excellence]]. | ** It can range from being a [[Team Practice]] to being an [[Organization Practice]], depending on its [[adoption scope]]. | ||
** ... | |||
** It can have [[Quality Metric]] for [[practice effectiveness]]. | |||
** It can perform [[Practice Assessment]] through [[audit process]]s. | |||
** It can implement [[Continuous Improvement]] via [[feedback loop]]s. | |||
** It can maintain [[Knowledge Repository]] through [[documentation system]]s. | |||
** It can support [[Skill Development]] via [[training program]]s. | |||
** ... | |||
* <B>Examples:</B> | |||
** [[Iterative Software Development]], through [[agile methodology]]. | |||
** [[Software Requirements Management]], through [[requirement tracking]]. | |||
** [[Software Component Architecture]], through [[modular design]]. | |||
** [[Visual Software Modeling]], through [[design diagram]]s. | |||
** [[Software Quality Verification]], through [[testing protocol]]s. | |||
** [[Software Change Control]], through [[version management]]. | |||
** High [[Unit Test Coverage]], through [[test automation]]. | |||
** [[Code Review]]s, through [[peer inspection]]. | |||
** [[Machine Learning Engineering Best-Practice]], through [[ML workflow]]. | |||
** [[Google Apps Script Best-Practice]], through [[script development]]. | |||
** [[Development Practice]]s, such as: | |||
*** [[Code Organization]]s, such as: | |||
**** [[Single Responsibility Pattern]] for [[class structure]]. | |||
**** [[Function Design Pattern]] for [[method implementation]]. | |||
*** [[Naming Convention]]s, such as: | |||
**** [[Descriptive Naming Pattern]] for [[code readability]]. | |||
**** [[Semantic Naming Standard]] for [[code clarity]]. | |||
** ... | |||
* <B>Counter-Examples:</B> | |||
** A [[Software Engineering Past-Practice]], which uses [[outdated method]]s. | |||
** [[Ad Hoc Development]], which lacks [[structured approach]]. | |||
** [[Quick Fix Solution]], which compromises [[code quality]]. | |||
** [[Minimal Testing Approach]], which risks [[system reliability]]. | |||
* <B>See:</B> [[Software Engineer]], [[Center of Excellence]], [[Development Standard]], [[Quality Framework]], [[Engineering Methodology]]. | |||
---- | ---- | ||
---- | ---- | ||
== References == | == References == | ||
---- | ---- | ||
__NOTOC__ | __NOTOC__ | ||
[[Category:Concept]] | [[Category:Concept]] | ||
[[Category:Software Engineering]] | |||
[[Category:Best Practice]] | |||
[[Category:Quality Silver]] |
Revision as of 08:36, 11 February 2025
A Software Engineering Best-Practice is a software engineering practice that is an engineering best-practice (designed to ensure software development quality and project success).
- AKA: Software Development Best Practice, Engineering Practice Standard, Software Quality Practice.
- Context:
- It can implement Software Development Process through iterative methodologys and agile practices.
- It can maintain Code Quality Standard through coding conventions and style guides.
- It can enforce Architecture Pattern via component design and system structures.
- It can support Quality Assurance Process through testing strategy and verification methods.
- It can provide Change Management Control via version control and release processs.
- ...
- It can often establish Documentation Standard through code comments and technical documentation.
- It can often implement Review Process via peer reviews and code inspections.
- It can often manage Project Timeline through sprint planning and milestone tracking.
- It can often support Team Collaboration via communication protocols and knowledge sharing.
- It can often maintain Technical Debt Control through refactoring practices.
- ...
- It can range from being a Basic Engineering Practice to being an Enterprise Engineering Practice, depending on its organization scale.
- It can range from being a Development Practice to being a Production Practice, depending on its deployment stage.
- It can range from being a Team Practice to being an Organization Practice, depending on its adoption scope.
- ...
- It can have Quality Metric for practice effectiveness.
- It can perform Practice Assessment through audit processs.
- It can implement Continuous Improvement via feedback loops.
- It can maintain Knowledge Repository through documentation systems.
- It can support Skill Development via training programs.
- ...
- Examples:
- Iterative Software Development, through agile methodology.
- Software Requirements Management, through requirement tracking.
- Software Component Architecture, through modular design.
- Visual Software Modeling, through design diagrams.
- Software Quality Verification, through testing protocols.
- Software Change Control, through version management.
- High Unit Test Coverage, through test automation.
- Code Reviews, through peer inspection.
- Machine Learning Engineering Best-Practice, through ML workflow.
- Google Apps Script Best-Practice, through script development.
- Development Practices, such as:
- ...
- Counter-Examples:
- A Software Engineering Past-Practice, which uses outdated methods.
- Ad Hoc Development, which lacks structured approach.
- Quick Fix Solution, which compromises code quality.
- Minimal Testing Approach, which risks system reliability.
- See: Software Engineer, Center of Excellence, Development Standard, Quality Framework, Engineering Methodology.