If we do, someone should add it to the wiki for the now-deprecated .

Options that I see:

  • works, but it's too vague. It's also very similar to the name of the site. It also covers a lot of ground and could be put on a lot of questions here.
  • exists, but has been used to refer to constructors. Construction is the phase name as defined in the SWEBOK. However, the SWEBOK definition for "construction" includes coding, verification, unit testing, and integration testing.
  • seems simplistic to me, but it exists with 66 questions tagged. It seems like this is the current standard, although I've seen questions about the act of writing code not tagged with it.
  • exists in a plural form . However, this tag refers to implementations of features, usually at the language level (from what I gathered). Having two very similar tags to refer to two very different things seems silly and confusing.

It looks like is the winner, but I'm not sure if it's the best choice. It works, it's well understood, and it has some meaning. What does the community think, though?


One thing to keep in mind is that this isn't Software Engineers.SE or SWEBOK.SE: we shouldn't be trying to morph the tag usage on this site such that all questions fit into one of the predefined "buckets" that SWEBOK defines.

The biggest issue with having a tag for the construction phase is that it's pretty meaningless in the context of Programmers: every question can be about writing code in some respect. And we already have the results of that ambiguity: programming, , and .

While it might make sense to have tags for the phases that regular, non-software engineer programmers don't experience on a day-to-day basis, writing code is the main task of programmers. If you're talking about that, you don't need to tag your question with it: use something more descriptive.


Think about the phase before, and after.

  1. a period of time where construction haven't started, [#1]
  2. a period of time where most of the construction has been finished and the focus is on something else. [#2]

Software construction by itself isn't a phase: it is an activity, regardless of what SWEBOK or SDLC wants you to believe. During that "phase" where the software construction activity is at the highest, it always co-occurs with design and testing.

An analogy is that the software construction time graph is a layered cake which consists of design, coding, and testing as its layers.

If software construction were to be regarded as a process, it would have covered the entire period of time from the confirmed selection of vendor to the initial delivery of the software.

The tag (meaning implementation [#3] of features) would be the closest to what you consider as the collection of "construction phase" activities. However, most of the questions on this site belong to this category, such that it is typically assumed unless tagged otherwise.

[#3] On this site, tag seems to have taken a meaning of "details of an implementation".

[#1] is the period of time where construction haven't started - it is a period of time set aside during which we refrain from coding for the real, where some important decisions are made in the hope of maximizing productivity in the subsequent timeframe. This is a conscious choice, as we have to convince ourselves not to treat the prototyping code as the work product of the design phase. This phase could be called , or .

[#2] is marked by the increasing predictibility in the forecast of the software release timeframe. Unlike the design-phase, coding is permitted: if a feature is found to be missing, inadequate or faulty, code has to be written. Even the software design may have to be fine-tuned to meet the original functional specification.

The management activity during this phase is usually called Software release management, which is simply tagged .

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .