Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My project manager, when providing requirements for specific tasks, does not care about the implementation details. Although he has a programming background and has some knowledge of the MVC framework, he does not consider the perspective of the developer.

For example, I was given a task to create a simple form in ASP.NET MVC. This form should be pluggable - that is, the customer should choose which fields do or do not exist and which fields are required. If this were a simple form with validation, I would easily be able to implement it using ASP.NET validations. However, the problem is not simple and requires design and architecture first. The time that I have to implement the solution, which is not well understood, is very restricted. Not having sufficient time will not let me come upwith a solution that meets the requirements, but also benefits myself and any future developers.

What should I do in this situation? Do you feel that given requirements in the example can be expected from a single developer?

share|improve this question
    
You're a programmer. So you know how to keep the codebase organized and clean. It's hard to have any sympathy for you if just these two changes are going to muck up the codebase, anyway. If it's hard to do,tell him you need another week. These two features seem pretty cool. He already knows by now whether you are a lazy slacker or not, so no worries there. Just imo. –  Pete Wilson Sep 27 '11 at 22:02

2 Answers 2

What should I do when my project manager does not care about implementation details?

The project manager (PM) should not care about implementation details. That's not their job, but rather the job of the software developers. Ultimately, the responsibilities of a project manager are to control the cost, schedule, scope, and quality of a project. Depending on the process methodology used, the PM might also be the primary point of contact with the customer. On a regular basis, the PM is responsible for coordinating requirements, design, implementation, testing, and maintenance activities. The job might also entail business perspectives - obtaining funding, contractual obligations, and so on.

The PM considers the project as a whole, not as the individual components. Those are up to the people in the functional roles as well as the people leading those function roles. In short, there's nothing wrong (and, I might even argue that there's everything right) with a project manager who isn't concerned with implementation details.

Will telling him that this is not easy make him see me as being lazy and a slacker?

Absolutely not. Although your PM has a software development background, he probably doesn't do that much software development anymore, if any. It's the responsibility of the engineer to estimate task length and difficulty.

In some cases, you might be given a deadline to complete the task in. If this deadline is inappropriate for the task, it's the responsibility of the engineer to inform the project manager and/or appropriate supervisors of the problem, associated risks, and reach a resolution. It might not be the best resolution, but it's important for everyone to be on the same page when it comes to decisions.

Do you feel that given requirements in the example can be expected from a single developer?

Just about any requirement can be completed by a single developer, given that they have enough experience and knowledge. However, the length of time needed and the quality of the output will change. A developer with experience in the particular domain and technologies can design, implement, and test a solution much quicker than a developer with limited experience. It's not possible to say if you can finish this assignment in the given length of time or not.

share|improve this answer

Part of requirements gathering is requirements validation. Validation is for correctness and for feasibility. Feasibility deals with constraints of time, complexities, expertise, etc. The project manager should ensure that approved requirements are feasible before passing them to designer/developer.

Apparently this approach is not followed in your project (as is the case in many others...).

I assume that you are given a time frame for this task. Either you can solve the problem in the given time frame or you can't. If you can't you have to clarify to your PM the problems you are having and suggest a time frame or ask him to review the requirement with the user. This is a positive attitude and should not be looked at as a negative one. If you don't the time will slip and there will be no value added by keeping quite.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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