Skip to main content
182 votes

Should a (junior) developer try to push for better processes and practices in their development/IT team?

Good answers so far, but they don't cover all the bases. In my experience, many people fresh out of college have fantastic theoretical knowledge - far better than me or many other seniors with ...
jwenting's user avatar
  • 10.1k
136 votes
Accepted

Dealing with non-reproducible bugs

It is obvious no project manager will invest an infinite amount of time into such a problem. They want to prevent the same situation happening again. To achieve this goal, even if one cannot find the ...
Doc Brown's user avatar
  • 214k
136 votes

Adding a new developer just before deadline is horrible. But what is not?

We have historically seen over and over again that there are two working and two non-working ways of combining the two fundamental constraints on software releases: dates and features. Fixed date, ...
Jörg W Mittag's user avatar
127 votes
Accepted

How do you develop software without acceptance criteria?

An iterative process will achieve this nicely, without detailed specifications. Simply create a sketchy prototype, ask for feedback from the customer, make changes based on the feedback, and repeat ...
Robert Harvey's user avatar
117 votes
Accepted

My client wants 25% of comments in my current project, how to react?

All the other answers and comments here really threw me for a loop, because they are so counter to my first reaction and so counter to the attitude I've witnessed in my coworkers. So I'd like to ...
Daniel Wagner's user avatar
100 votes
Accepted

How can I avoid always feeling like if I completely rebuilt my program from scratch I'd do it much better?

This is a very common experience Most people I interact with, and I myself as well, feel like this. From what I can tell one reason for this is that you learn more about the domain and the tools you ...
Andreas Kammerloher's user avatar
84 votes
Accepted

How to develop excellent software with agile methods?

The formal answer is you misunderstood agile, agile does not dictate requirements, stakeholders do. The core of agile is not to carve your requirements in stone but rather have them emerge as you go, ...
Martin Maat's user avatar
  • 18.5k
83 votes

My client wants 25% of comments in my current project, how to react?

The customer is king. So as contractor you shall meet whatever the client has defined as quality standard. Or you risk to be out. This being said, it matters very much how the (here poor) quality ...
Christophe's user avatar
  • 80.6k
77 votes

How to develop excellent software with agile methods?

There doesn't even seem to be a place for attractive qualities in agile. You are comparing apples and oranges. In traditional waterfall, if your requirements say you need the must-haves, you get a ...
nvoigt's user avatar
  • 8,445
77 votes

My project manager does not accept carry-over in Scrum - is that normal?

A few things stand out to me. The idea that management has that the team commits to a set of work is inconsistent with the latest versions of the Scrum Guide. The word "commit" or "commitment" is ...
Thomas Owens's user avatar
  • 84.2k
71 votes

Should I record a bug that I discovered and patched?

It depends on who the audience of a bug report is. If it is only looked at internally by developers, to know what needs to be fixed, then don't bother. It's just noise at that point. Non-exhaustive ...
Caleth's user avatar
  • 11.6k
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
  • 84.2k
65 votes
Accepted

Is there marginal benefit in fixing bugs

From a business perspective, a bug fix is no different than a feature request. It has a certain cost in development time, and it has a certain value for customers. If a bug is non-critical, it can ...
JacquesB's user avatar
  • 61k
60 votes

How do I make the case for expensive programmers?

I have first hand experience of both theories being tried out in the real world - in the same project actually. Before I arrived, the decision had been made to hire more expensive BAs and very cheap ...
mcottle's user avatar
  • 6,152
58 votes

Getting buy-in for cleaner and more structured code

The 2 years of experience me was you, but more extreme. I'd always create interfaces for every class, I'd apply any design pattern where I was able to, I'd never inject any concrete implementation, ...
Steve Chamaillard's user avatar
55 votes

How do you develop software without acceptance criteria?

If what you're saying is true and the spec is nowhere near good enough for you to even start (and you are being honest in this appraisal), I recommend this aproach: Read the sketches and the "sketchy"...
John Wu's user avatar
  • 26.9k
54 votes

Getting buy-in for cleaner and more structured code

TL;DR - You need Unit Testing Unit Testing is a phrase which I haven't seen mentioned anywhere else in this thread so far. (At least, from reading the original post I'd have been willing to bet that ...
Ben Cottrell's user avatar
  • 12.1k
53 votes

Should I record a bug that I discovered and patched?

I'd say, it depends whether your product was released with the bug or not. If it's released with the bug that you found, then yes, create a bug-report. Release cycles can often be long and you don't ...
Pieter B's user avatar
  • 13.3k
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
50 votes

Dealing with non-reproducible bugs

This is not a bug At least not on your code. It is a bug in your process. Your project manager should be a lot more worried about your process than your code. How do you deal with this? Quite ...
loopbackbee's user avatar
48 votes
Accepted

Sufficient conditions for refactoring

Refactoring takes time. If not done well, it creates bugs that you need to fix. So it costs. You refactor when the benefits outweigh the cost of refactoring. There are good times for refactoring: one ...
gnasher729's user avatar
  • 47.5k
45 votes

How can I avoid always feeling like if I completely rebuilt my program from scratch I'd do it much better?

Learn refactoring - the art of gradually improving code. We all learn all the time, so it is very common to realize that the code you have written yourself could be written in a better way. But you ...
JacquesB's user avatar
  • 61k
42 votes

Should a (junior) developer try to push for better processes and practices in their development/IT team?

Yes but with a lot of care! Let me clarify that. You should strive to improve the habitability of the software. If you look at the code/team/business/project/management and your first response is to ...
Kain0_0's user avatar
  • 16.3k
37 votes

Is Scrum incompatible with public tenders?

Scrum is probably not appropriate for this organization. From the Scrum Guide, "Scrum is a framework for developing, delivering, and sustaining complex products." It's also designed for a team of 3-9 ...
Thomas Owens's user avatar
  • 84.2k
33 votes

My project manager does not accept carry-over in Scrum - is that normal?

The situation that you describe, where management requires that the team works overtime to complete all planned stories, is one of the reasons why the Scrum literature has stopped using the term "...
Bart van Ingen Schenau's user avatar
28 votes

How to develop excellent software with agile methods?

However, all agile processes I know strongly favor must-be requirements. These always get the highest priority. As they should - look at your Kano model again: if the must-be requirements are not ...
Michael Borgwardt's user avatar
28 votes

Adding a new developer just before deadline is horrible. But what is not?

Although I agree with the others on the need to work with the customer and things like that, if you for some reason really think you need to hire new people -- don't hire developers. What you need to ...
Joe's user avatar
  • 389
26 votes

Sufficient conditions for refactoring

To enable a codebase to be refactored, the fundamental necessity is test coverage. Ideally fast, automated test coverage. You want to be able to assert, with high confidence after every refactoring ...
Thomas Owens's user avatar
  • 84.2k
25 votes

Should I record a bug that I discovered and patched?

You should do this if it is a bug that could have been reported by a customer. Worst case: You fix the bug, but nobody knows. Customer reports the bug. Your colleague tries to fix the bug, but cannot ...
gnasher729's user avatar
  • 47.5k
24 votes
Accepted

How to deploy a junior programmer

I normally develop and push straight on the development branch. With all due respect, this is a problem. Nobody should be pushing directly onto develop, certainly not if you're using gitflow - ...
Philip Kendall's user avatar

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