Skip to main content
166 votes

Why are multiple programming languages used in the development of one product or piece of software?

I can't seem to understand the reason as to why multiple programming languages are used in the same product or software? It is quite simple: there is no single programming language suitable for all ...
Basile Starynkevitch's user avatar
69 votes
Accepted

Does Scrum create additional overhead for projects where requirements don't change?

I believe that it's a faulty assumption to say that there are projects where the requirements don't change. Having worked in both the defense industry and the pharmaceutical industry making software, ...
Thomas Owens's user avatar
  • 83.3k
56 votes

How to cope with different development styles (top-down vs. bottom-up) in a team?

Obviously they are both wrong. The bottom up guy is hacking away at code and will never produce something that does what it is supposed to do - it'll be a continual churn as the unknown requirements ...
gbjbaanb's user avatar
  • 48.6k
53 votes
Accepted

Can the Scrum method be used with only one person and only one 10 day Sprint?

In this case I would simplify to Kanban. Kanban simply has a backlog that you work off, so there is no need to organize work into sprints. It's best not to over-complicate things. Considering this ...
Berin Loritsch's user avatar
37 votes

Methodology: Writing unit tests for another developer

The main problem with your idea is that you can't just write tests for any code. The code has to be testable. I.e. you need to be able to inject mocks, separate out the bit you want to test, access ...
Ewan's user avatar
  • 77k
30 votes

Why are multiple programming languages used in the development of one product or piece of software?

Many projects are not built with multiple programming languages. However, it is common to use scripts in other languages to assist with the software. Administration tools that are separate programs ...
amon's user avatar
  • 135k
30 votes
Accepted

Methodology: Writing unit tests for another developer

The general approach of using pairs to split the effort of writing production code and writing its associated unit tests is not uncommon. I've even personally paired in this way before with decent ...
Thomas Owens's user avatar
  • 83.3k
29 votes
Accepted

Should I build a fully featured application or a bare bones one and then slowly add features?

Experience definitely leads toward building something small and simple, and getting it to the users as early as possible. Add features and capabilities as they're requested by the users. Chances are ...
Jerry Coffin's user avatar
  • 44.5k
27 votes
Accepted

Why are multiple programming languages used in the development of one product or piece of software?

This answer has superb coverage and links on why different languages can provide distinct benefits to a project. However, there is quite a bit more than just language suitability involved in why ...
Terry Bollinger's user avatar
24 votes

How to cope with different development styles (top-down vs. bottom-up) in a team?

The two developers need to maintain a mutual respect for each other. The top down person needs to respect the fact that the bottom up person may have come up with something that actually works. As ...
Tom Au's user avatar
  • 893
22 votes

Why are multiple programming languages used in the development of one product or piece of software?

This has two forms, and a lot of organisations that fall somewhere between the two: The bad form - the organisation is a mess, and there's nobody making sure that there's a single technological ...
Ben's user avatar
  • 349
21 votes

Why are multiple programming languages used in the development of one product or piece of software?

I can contribute an example, of a programming project which has been running for 37 years (as of 2023), and appears to still have plenty of life left in it. It's commercial rather than open-source. ...
John Dallman's user avatar
17 votes
Accepted

How to make Scrum work for a team with defined roles?

Actually, your current way of working isn't that far removed from Scrum as you might think. In Scrum, you also get an initial set of requirements, implement those and demonstrate the result, and ...
Bart van Ingen Schenau's user avatar
16 votes

Why are multiple programming languages used in the development of one product or piece of software?

In some cases, there is a tool you need to use (such as an OS's UI toolkit) which is most easily accessible from a given language. For example on iOS and macOS, if you want to write GUI applications ...
user1118321's user avatar
  • 4,991
16 votes

Methodology: Writing unit tests for another developer

The main issue I see here, at the unit level, when I write code, I want to compile it, run it, and remove the most obvious bugs immediately - even when the code is incomplete and I know the unit, ...
Doc Brown's user avatar
  • 209k
15 votes
Accepted

Is redundant condition checking against best practices?

What you are asking for is called "robustness", and there is no right or wrong answer. It depends on the size and complexity of the program, the number of people working in it, and the importance of ...
Doc Brown's user avatar
  • 209k
14 votes

Can the Scrum method be used with only one person and only one 10 day Sprint?

Why on earth are you planning to use Agile methods for such a small scale project? Agile methods are designed e.g. to handle the risk of unforeseen absences from ruining your project, and to schedule ...
juhist's user avatar
  • 2,579
14 votes
Accepted

How do you make sure your logs are sufficient?

How do you make sure your logs are sufficient? My 11th grade English teacher has the best answer for this question: Know your audience. Think about who will be reading this. What they will and wont ...
candied_orange's user avatar
13 votes

Does Scrum create additional overhead for projects where requirements don't change?

The very short answer is that yes, Scrum is by design a more expensive approach, but if you're calling it a project, it almost certainly doesn't matter and in the end will almost certainly always ...
Daniel's user avatar
  • 2,041
11 votes

Why are multiple programming languages used in the development of one product or piece of software?

In addition to the fact that some programming languages can be better suited for some specific tasks, there is the practical reality. In the practical reality, there are 2 especially important points ...
Peter's user avatar
  • 3,748
10 votes

Does Scrum create additional overhead for projects where requirements don't change?

Sure, if you have a project where you have crystal clear requirements up front, then you could waterfallishly dump them in front of developers and come back two years later to meet the software of ...
amon's user avatar
  • 135k
9 votes
Accepted

How can Behavior-Driven Development be a form of Testing-Driven Development/Unit Testing?

TDD was invented by people who focused on behavior. Those people saw it take off and become popular. Once it was popular, it got into the hands of people who thought about TDD structurally. The TDD ...
candied_orange's user avatar
8 votes

Can the Scrum method be used with only one person and only one 10 day Sprint?

Is this still considered "Scrum"? Probably not. It's definitely not by the book. Whether or not it "is" or "is not" Scrum, doesn't matter though. One of main points of ...
Erik's user avatar
  • 263
8 votes
Accepted

Making hundred of cosmetic changes to the code at the last minute

These things sound like general good practice being over zealously applied. But there is a easy answer the contract stipulate "no changes to the existing code" There's no arguing with a contract, ...
Ewan's user avatar
  • 77k
7 votes

How to cope with different development styles (top-down vs. bottom-up) in a team?

This actually sounds like an ideal scenario to me. Then again, I am both of those developers at the same time. I like to draft out the "big picture" in the form of notes that eventually find their ...
Kevin Krumwiede's user avatar
7 votes

Methodology: Writing unit tests for another developer

There would seem to be the possibility for any of the following situations to occur - all of which are undesirable: Confusion As Ewan outlined, the CUT might need changing to make it testable. The ...
Robbie Dee's user avatar
  • 9,815
7 votes
Accepted

What is the difference between containment and aggregation relationship in UML?

There is a lot of confusion about the terms, not all definitions you may find will align. Containment means the containing object does not directly expose the contained object. It exposes its own ...
Martin Maat's user avatar
  • 18.4k
6 votes

How to cope with different development styles (top-down vs. bottom-up) in a team?

In my opinion, they are complementary profiles and may end up doing very well. Both coding and designing are necessary phases in programming and you don't want to end up in a team where nobody wants ...
Diane M's user avatar
  • 2,076
6 votes

How does Lean both "decide as late as possible" and "deliver as fast as possible"?

Why are you seeing conflicts between these two statements? postponing decisions helps to deliver fast and delivering fast make teams feel more confortable in postponing decisions Let's show it with ...
Carmine Ingaldi's user avatar
5 votes

How to make Scrum work for a team with defined roles?

You ask for alternatives so I'm going to say eXtreme Programming (XP). Specifically I think that pair programming might help you here. By pairing people with different skills together, it doesn't ...
Encaitar's user avatar
  • 3,073

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