I'm a programmer and I'm used to work in a way where I do my work, do not check if I am wrong or not, present the work to my manager / client and wait for their feedback on my faults.

I've heard that there are some cultures where's implied that I should be responsible for doing such checks, but that's not the way I'm used to work. What to do in such a situation?

  • 1
    While I think I understand your question, I don't see how this is a project management question. Please edit your question to make it on-topic per our Help Center.
    – Todd A. Jacobs
    Aug 25 '14 at 19:26
  • This is not about project management. This is about job responsibilities and professional expectations. @Indrajit I don't know of a single manager I've encountered that would allow that kind of coding to occur. Testing and verifying your code works properly is part of your job. Aug 25 '14 at 19:54
  • I think the question can use some help--I think Tiago has moved it towards where it needs to go--but it has potential to be a good PM question. Cultural aspects to project management is becoming more and more important in our global work environment and differences, such as the variable deference shown to authority, is a critical topic if we want to have any likelihood of success. Aug 25 '14 at 20:35
  • I think another important aspect is, 'where are you working'? If the OP is working within his country and culture and the PM is coming in from the outside, I think the onus is on the PM to fit in the culture. If the opposite, then the OP needs to come up to speed. But I made it too simple. This is a complex and sensitive issue. Aug 25 '14 at 20:39
  • Welcome to PMSE. Are you talking about defect/quality checking or comparing what you are doing to the client's expectation of what they want build i.e. building to the project requirements? Aug 26 '14 at 0:38

Answering the comment, I believe this question is a perfect project management question, about leadership, and about how to process tasks, and about expectations how to work in projects. I see two working models:

  1. Shall a project participant work accurate, by checking each work result before it is presented to the team leader, to be sure that lazy and obvious faults are eliminated from the result, so that the team leader's limited time may be used to discuss the contents of the work,

  2. or is it acceptable that the project participant just does lazy work, and presents work results with lazy and obvious faults to the team leader, expecting that the team leader invests much time to find all the faults, and then just tries to correct the faults the team leader finds in the limited time available, and so that discussion about the contents of the work is disabled due to the massive number of faults which must be corrected first ?

It a work philosophy, important to know when you work in a team.

In western society, (1) is expected both from simple workers and academic staff.

There might be societies or industries, where (2) is standard.

  • 1
    I am speaking as a Westerner. Those are my/our expectations, and the required duties of the position of "software engineer". This is below the level of project management. This is simply professional expectations... like following whatever coding standards and processes are put in place by your supervisor. To me, this sounds like "I don't want to do my job the way my manager wants me to do it, what should I do?" The answer is do it the way your manager want it, or look for a job that matches your expectations. Not meeting your manager's expectations is bad for your job security ;). Aug 25 '14 at 20:02

Process and Quality Controls are Essential to a Successful Project

What do to when there's a discrepancy between what the team produces and what the management expects?

This is certainly a communications failure. On any reasonably-sized project that values success, quality controls, defect management, and coding standards should be clearly agreed upon and communicated throughout the development team and the organization.

Within the Scrum framework, there is a "Definition of Done" that explicitly states what is necessary for a task to be considered complete. Generally, for a software project that definition includes:

  1. Unit testing.
  2. Working code that meets all test-driven specifications (e.g. TDD or ATDD.
  3. Clean integration with Continuous Integration.
  4. Some level of peer review, quality assurance testing, or other process by which the team establishes community ownership over a potentially-shippable increment.

If you aren't delivering a potentially-shippable increment, you aren't doing Scrum and your aren't following an agile methodology. You are also exhibiting many symptoms of cowboy coding, and generally placing the responsibility for the quality of your work onto your co-workers or project leadership.

I honestly can't imaging any professional software shop where this state of affairs is acceptable, although I've certainly seen my share of shops that operate in this way. Unless this, um, "process" is acceptable to your leadership and your customers, I would say that what you are doing is not meeting the minimum standards of producing a professional and workman-like product.

It sounds like your organization lacks rigor in its project management, process controls, code quality, and potentially other things as well. As a programmer, your main responsibility is to product the best work that you can; organizationally, someone higher up on the food chain needs to take ownership of this lack of formalized process.


The original question was,

a) whether a project team member should do the work "as best as he/she can", and of course this includes a look at the final work before it is handed to the project manager / team leader / customer, of course regarding the Pareto principle,

b) or if the project member thinks that if he/she "somehow" finished the work, should not regard the quality of his/her work, like in ancient "Accord" work where you are paid for the number of items you produced, and so though aware that your work "quality" is awful,

give it to a manager / team leader, assuming that the manager has time to find and correct all the faults and bugs, or if not the manager, the rest of the team.

Unfortunately, most of the answers here were not of high competence, as they focused on "unit tests" and some other modern software procecures,

while the original questions was, to bring it to a point

a) Shall I do work of which I a proud of, as I did my best b) Or am I a lazy guy/lady who let my boss do my work, as my work is usually so full of ( easy to find bugs and faults, even for me), that it sometimes even need more time to fix it, than to let do it the receiver of the work, i.e. the manager.

So the question was a classical project management question: Does delegation of work fit, if the result is that the manager has to fix all the bugs?

To answer the question, I would prefer to work with (a), while (b) would make me unhappy,

but many people LOVE (b) as they so just invest a minimum of power and time, and let others correct their faults again and again.

Usually the (b) people are not liked by others, nor by the boss, no matter "how cheap" they are...

But the word is full of lazy people.. who like to that other do their work ( I don´t mean the principle of capitalism by that ) :-(.

Sincerely Rolf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.