15
votes
If adding people to a late project makes things worse, what options DO work?
There are five ways to handle this:
expand capacity
renegotiate
resign
go down valiantly
drop quality
As you are already behind the ball, you have no time to invest into increasing your overall ...
11
votes
Accepted
Difference between a Software Requirement, a Feature and an Objective
About the terminology:
A requirement expresses a need or a constraint that the system has to fulfil, in principle independently of the solution that will be chosen. Examples: "The system shall ...
10
votes
Accepted
In terms of Software Engineering, can GitHub be Agile?
Github is a tool which can be used as part of agile software development, but it can be used as part of non-agile software development as well.
What version control tool you use is completely ...
9
votes
What is the origin of "deployment environments" (dev/test/staging/prod)?
The environments of Development, Test, Acceptance and Production evolved out of necessity, pragmatism and convenience. In other words, they exist because they make sense.
The origin of these ...
8
votes
If adding people to a late project makes things worse, what options DO work?
It all depends on a lot of factors that you did not share with us. First, how did you determine that you will be late and by how much:
How close to the deadline are you?
How well defined is the work ...
8
votes
Should I be enforcing lint rules on feature branches?
I would 100% save this for pushes to a shared branch, e.g. Main or Development.
In my experience, pushing half-finished code (to ones OWN branch) is a very common thing to do for situations such as ...
7
votes
Accepted
what do you do when during UAT the customer realizes something major that should be included in the system?
First off I think we have to say that this is not an uncommon thing to happen. Requirement gathering is hard and customers often expect programmers to 'fill in the gaps' from broad requirements.
From ...
7
votes
Accepted
What is the purpose of build for language like PHP?
It depends on what you actually call "Build", especially when you say "Continuous Build".
If one defines "Build" in the narrow sense of compiling some source code into a binary executable, then you ...
7
votes
Does the size of a project make it riskier to deploy?
When a typical software product grows in size over years, there will be definitely more places where bugs can hide, and occasions where more complex, unforeseen interactions can happen - this is where ...
7
votes
TDD - Make the test work quickly, committing whatever sins necessary in process
1) You Ain't Perfect
Even if you had a great upfront design handed to you by some sacred initiate of the divine architectural order. You are probably going to make a mistake.
Now you could write out ...
6
votes
Why is a software development life-cycle so inefficient?
TL;DR
Your experience is typical. As noted in other answers the Agile Manifesto, eXtreme Programming (XP), Scrum, Kanban, Lean and many other techniques are popular to avoid the inefficiencies you ...
6
votes
Accepted
What Comes First, Project Planning or Requirment Analysis?
Both.
The idea of "planning" as a step you do once in your project and never afterwards is pretty unrealistic. Planning is something you will do before requirements analysis (for exactly this step), ...
6
votes
What were the most used SDLCs before Agile?
If I understand your question, you're interested in SDLC that were before the emergence of the Agile, i.e. not only the agile manifesto 2001, but also the agile methods that were promoted individually ...
6
votes
Accepted
What is the relationship between IV&V professionals, Testers and QA engineers?
Software verification and validation are all the activities that ensure that the software fulfils all the needs and requirements for its intended purpose. As such V&V is part of the larger set of ...
6
votes
Difference between a Software Requirement, a Feature and an Objective
It will be easier for you to understand it with an example:
Feature:
* Online Shopping Cart
Requirements:
* User shall be able to add things to online shopping cart
* User shall be able ...
6
votes
Should I be enforcing lint rules on feature branches?
I don't understand the argument against applying linting and static analysis to every commit on a shared branch. Since shared branches typically live in a remote environment (often GitHub, GitLab, or ...
6
votes
Best practice when working with code that uses current date and time
It is indeed important to establish repeatable behaviour for thorough system tests, which means that they should exhibit the same behaviour no mattert when they are run (principle).
In general, a good ...
5
votes
What does it mean to implement a development framework?
What it means to implement a process framework depends on the framework in question. The Microsoft Secure Development Lifecycle is a set of 12 practices that help an organization build secure software ...
4
votes
Using business use cases vs user stories in a new requirement procedure?
User Stories or Business Use Case
Most people are surprised to learn that the official scrum guide does not even mention User Stories, just Backlog Items.
This is for a good reason: Their form is ...
4
votes
What is the relationship between IV&V professionals, Testers and QA engineers?
The relationship... doesn’t exist.
Modern software development generally doesn’t have discrete phases where you take and validate some input, do some work, and then pass it down the assembly line. ...
4
votes
TDD - Make the test work quickly, committing whatever sins necessary in process
Sometimes just implementing a feature can be tricky enough, and if you can't even get it working the "dumb" way, then trying to make it look good is pointless. This is often quoted as "make it work, ...
4
votes
TDD - Make the test work quickly, committing whatever sins necessary in process
For a given requirement, a simple solution design that make us think about creating good abstractions and then Implement with testing looks very intuitive.
You're right that a good abstraction is very ...
4
votes
Why are several versions in production a key to choose GitFlow over GitHub flow?
GitHub Flow doesn't support multiple versions being supported at once. A release occurs after every commit to the main branch. GitHub Flow is designed for use in environments that are practicing ...
4
votes
Should Acceptance Criteria be mapped to unit tests?
I feel that part of this is common, BDD/Gherkin/Cucumber style testing where you write tests as acceptance tests and have them print out whether they work or not in that human readable format.
Adding ...
4
votes
How to deal with outdated PowerShell and Azure PS in Azure Automation?
This is not an Azure or Powershell forum, so let me try to write an answer from a general software engineering point of view.
It is not uncommon when developing software that the platform one is bound ...
3
votes
Accepted
When to have Scheduled Releases (vs pushing to production when a ticket is complete)?
Well, the only real values I can think of would be that your stakeholders know when to expect a new release and you have to ensure some development discipline to get things done before a certain ...
3
votes
How is the spiral model to be understood?
Instead of wikipedia and the original article from Boehm, I propose to you a quote from an article about a NASA case study in using the spiral model of software development:
The spiral model of ...
3
votes
What were the most used SDLCs before Agile?
Like Christoph already explained SDLC is independent from a software development methodology which is still not what agile practices bring to the table. Agile is primarily process oriented. For the ...
3
votes
What were the most used SDLCs before Agile?
Before the Manifesto for Agile Software Development, you had people using Scrum, DSDM, Extreme Programming, Lean Software Development, Adaptive Software Development, the Crystal methodologies, and ...
3
votes
Accepted
what is the job of Design Phase of SDLC?
The design phases decides the architecture of the system (including the software architecture). Emphasis goes into identifying components and their interactions, and also on identifying entities and ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
sdlc × 98agile × 23
development-process × 18
project-management × 13
testing × 11
scrum × 9
requirements × 7
design × 4
terminology × 4
maintenance × 4
qa × 4
architecture × 3
unit-testing × 3
git × 3
documentation × 3
software × 3
release-management × 3
user-story × 3
development-methodologies × 3
waterfall × 3
object-oriented × 2
php × 2
programming-practices × 2
tdd × 2
uml × 2