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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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, ...
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"...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 "...
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 ...
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 ...
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 ...
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 ...
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 - ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
project-management × 927agile × 188
scrum × 86
development-process × 79
estimation × 51
version-control × 50
team × 42
design × 41
requirements × 37
management × 37
programming-practices × 35
teamwork × 31
web-development × 30
project × 30
time-management × 29
issue-tracking × 28
git × 27
planning × 26
documentation × 24
productivity × 24
open-source × 22
architecture × 21
user-story × 21
project-structure × 19
refactoring × 17