Tag-based filter
- Selecting common used software development frameworks/methods and practices from paper: System and Software Processes in Practice: Insights from Chinese Industry.
- Adding their common alias and abbreviation (from wikipedia and other website).
- Converting words to lower case, and add hyphen in the name of frameworks and practices.
- Searching tags (which at least include one question) that match these terms from stackoverflow and software engineering. (color orange represent SO tags and purple represent SE tags, color pink represent both SO tags and SE tags)
- Reading description of each tag, and exclude
these tags which the meaning not expected.
- Then we manually add "agile" and "development-process" to the terms.
- We found 25 (24 + "agile") and 26 (25 + "agile" + "development-process") software-development-process-related tags on SO and SE, which contains 15 (14 + "agile") tags both on SO and SE.
- Up to 2021.10.15, we collected 19,904 and 6,272 posts from SO and SE respectively.
Software development frameworks and methods
- iterative-development / iterative development
- kanban
- devops
- prince2 / projects-in-controlled-environments / projects in controlled environments
- team-software-process / team software process / tsp
- classic-waterfall-process/ classic waterfall process / waterfall-model / waterfall model / waterfall
- scrum
- model-driven-architecture/ model driven architecture / mda
- domain-driven-design / domain driven design / ddd
- rational-unified-process / rational unified process / rup
- structured-systems-analysis-and-design-method / structured systems analysis and design method / ssadm
- personal-software-process / personal software process / psp
- large-scale-scrum / large scale scrum /
less
- lean-software-development / lean
- feature-driven-development / feature driven development / fdd
- v-shaped-process / v shaped process /
v-model / v model
- scaled-agile-framework / scaled agile framework / safe
- scrumban
nexus
- spiral-model
- extreme-programming / extreme programming / xp
- phase-gate-model / phase gate model / stage-gate-model / stage gate model / phase-gate-process / phase gate process / stage-gate-process / stage gate process
- dynamic-systems-development-method / dynamic systems development method / dsdm / dsdm-atern / dsdm atern
- crystal-family / crystal family / crystal-method / crystal method / crystal-agile-process-model / crystal agile process model
Software development practices
- code-review / code review / code-reviews / code reviews / peer-review / peer review
- release-planning / release planning
- design-reviews / design reviews / design-review / design review
- coding-standards / coding standards / coding-standard / coding standard / coding-conventions / coding conventions / coding-convention / coding convention
- iteration-planning / iteration planning
- end-to-end-system-testing / end to end system testing / e2e-testing / e2e testing
- continuous-integration / continuous integration / ci
- automated-unit-testing / automated unit testing
- continuous-deployment / continuous deployment /
cd
- daily-standup / daily standup / daily-stand-up / daily stand up / standup-meeting / standup meeting / stand-up-meeting / stand up meeting
- refactoring / code-refactoring / code refactoring
- retrospectives / retrospective / agile-retrospective / agile retrospective
Iteration / sprint-reviews / sprint reviews / sprint-review / sprint review / sprint / sprint
- security-testing / security testing
- use-case-modeling / use case modeling / use-case / use case / use-case-diagram / use case diagram
- collective-code-ownership / collective code ownership / team-code-ownership / team code ownership / shared-code / shared code
- detailed-designs / detailed designs / detailed-design / detailed design
- test-driven-development / test driven development / tdd
- prototyping
- user-stories / user stories / user-story / user story
- definition-of-done / definition of done / dod / definition-of-ready / definition of ready / dor
- burn-down-charts / burn down charts / burndowncharts
- on-site-customer / on site customer
- scrum-of-scrums / scrum of scrums
- backlog-management / backlog management / backlog-refinement / backlog refinement
- model-checking / model checking
- automated-code-generation / automated code generation / automatic-code-generation / automatic code generation / automatic-programming / automatic programming
- expert-based-estimation / expert based estimation / team-based-estimation / team based estimation
- pair-programming / pair programming
- velocity-based-planning / velocity based planning / velocity-based-sprint-planning / velocity based sprint planning / velocity-driven-sprint-planing / velocity driven sprint planing
- destructive-testing / destructive testing
- limit-work-in-progress / limit work in progress / work-in-progress-limits / work in progress limits / wip-limits
- architecture-specifications / architecture specifications / architecture-specification / architecture specification
- formal-estimation / formal estimation
- automated-theorem-proving / automated theorem proving / atp / automated-deduction / automated deduction
- formal-specification / formal specification
StackExchange SQL
// SO
select * from Posts
where Tags like '%<kanban>%'
or Tags like '%<devops>%'
or Tags like '%<waterfall>%'
or Tags like '%<scrum>%'
or Tags like '%<domain-driven-design>%'
or Tags like '%<rational-unified-process>%'
or Tags like '%<personal-software-process>%'
or Tags like '%<extreme-programming>%'
or Tags like '%<continuous-integration>%'
or Tags like '%<refactoring>%'
or Tags like '%<use-case>%'
or Tags like '%<tdd>%'
or Tags like '%<prototyping>%'
or Tags like '%<pair-programming>%'
or Tags like '%<agile>%'
or Tags like '%<mda>%'
or Tags like '%<rup>%'
or Tags like '%<dsdm-atern>%'
or Tags like '%<e2e-testing>%'
or Tags like '%<continuous-deployment>%'
or Tags like '%<security-testing>%'
or Tags like '%<use-case-diagram>%'
or Tags like '%<user-stories>%'
or Tags like '%<burndowncharts>%'
or Tags like '%<model-checking>%'
// SE
select * from Posts
where Tags like '%<kanban>%'
or Tags like '%<devops>%'
or Tags like '%<waterfall>%'
or Tags like '%<scrum>%'
or Tags like '%<domain-driven-design>%'
or Tags like '%<rational-unified-process>%'
or Tags like '%<personal-software-process>%'
or Tags like '%<extreme-programming>%'
or Tags like '%<continuous-integration>%'
or Tags like '%<refactoring>%'
or Tags like '%<use-case>%'
or Tags like '%<tdd>%'
or Tags like '%<prototyping>%'
or Tags like '%<pair-programming>%'
or Tags like '%<agile>%'
or Tags like '%<iterative-development>%'
or Tags like '%<prince2>%'
or Tags like '%<large-scale-scrum>%'
or Tags like '%<lean>%'
or Tags like '%<scaled-agile-framework>%'
or Tags like '%<code-reviews>%'
or Tags like '%<coding-standards>%'
or Tags like '%<sprint>%'
or Tags like '%<user-story>%'
or Tags like '%<automatic-programming>%'
or Tags like '%<development-process>%'
Content-based filtering
Software development keywords
select t1.Id, t1.AcceptedAnswerId, t2.CreationDate as acceptedAnswerDate, t1.CreationDate, t1.Score, t1.ViewCount, t1.Body, t1.Title, t1.Tags, t1.AnswerCount, t1.CommentCount, t1.FavoriteCount from Posts t1 left join Posts t2 on t1.AcceptedAnswerId = t2.Id
where t1.PostTypeId = 1 and lower(t1.Title) like '%[^a-z]team software process[^a-z]%'
Filtering SPRPs from other posts
We performed context analysis and applied our defined inclusion and exclusion criteria to accurately filter and separate software development processes related posts from other types of posts mentioned above.
Inclusion criteria
- An SPRP should contain a discussion of the tags which assigned to it and occured in the above list. For example, An SPRP contains