Skip to main content
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 ...
Kain0_0's user avatar
  • 16.6k
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 ...
Christophe's user avatar
  • 82.2k
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 ...
Philipp's user avatar
  • 23.5k
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 ...
Robert Harvey's user avatar
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 ...
Hans-Martin Mosner's user avatar
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 ...
Richard KeMiKaL GeNeRaL Denton's user avatar
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 ...
Ewan's user avatar
  • 84.4k
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 ...
Doc Brown's user avatar
  • 220k
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 ...
Doc Brown's user avatar
  • 220k
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 ...
Kain0_0's user avatar
  • 16.6k
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 ...
simbo1905's user avatar
  • 452
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), ...
Doc Brown's user avatar
  • 220k
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 ...
Christophe's user avatar
  • 82.2k
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 ...
Christophe's user avatar
  • 82.2k
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 ...
Ishan Shah's user avatar
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 ...
Thomas Owens's user avatar
  • 85.9k
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 ...
Kilian Foth's user avatar
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 ...
Thomas Owens's user avatar
  • 85.9k
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 ...
Flo F's user avatar
  • 101
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. ...
Telastyn's user avatar
  • 110k
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, ...
casablanca's user avatar
  • 5,004
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 ...
candied_orange's user avatar
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 ...
Thomas Owens's user avatar
  • 85.9k
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 ...
Ewan's user avatar
  • 84.4k
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 ...
Doc Brown's user avatar
  • 220k
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 ...
Mecki's user avatar
  • 2,390
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 ...
Christophe's user avatar
  • 82.2k
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 ...
Martin Maat's user avatar
  • 18.6k
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 ...
Thomas Owens's user avatar
  • 85.9k
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 ...
Theraot's user avatar
  • 9,261

Only top scored, non community-wiki answers of a minimum length are eligible