开发者

How to delegate growing list of programming requirements [closed]

开发者 https://www.devze.com 2023-01-12 13:24 出处:网络
Closed. This question is opinion-based. It is not currently accepting answers. Want to improve this question? Update the question so it can be answered with facts and citations by editing
Closed. This question is opinion-based. It is not currently accepting answers.

Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 3 years ago.

Improve this question

I seem to have a problem, I have a growing business to run but I end up spending a lot of time doing the programming myself and sharing some load with the one programmer I have under me. I had a team of 3 but 2 left cos I obviously was not very good at planning/delegating tasks and was more a hands-on kind of programmer. I preferred to have control and would find it really boring to plan out the requirements in writing and give it to them...I would just verbally give them the instructions and things didn't seem to work out very well that way.

I need your suggestions. I have no experience of working in a development company, so not really sure how to go about the process of developing our web applications without me having to do too much detailed planning in the programming. I always have a basic idea of what needs to be done, I'd ideally like someone who can put that idea down into a detailed plan and program or manage the programmers. Are there people like that who perform such functions and if so, what are they called [Also, is it feasible to hire such a person with just one programmer and then perhaps hire more later]? Also, I've found that all our projects are constantly delayed cos we don't set any deadlines (we develop for ourselves), how to av开发者_开发百科oid that, do programmers work well with deadlines?

I just want to be able to supervise all areas of the business and not just focus on development, which has been taking a lot of my time.


Are there people like that who perform such functions and if so, what are they called?

Project Managers. Hire one. Now.


Is it feasible to hire a project manager with just one programmer and then perhaps hire more programmers later?

It's your budget. Spend the money as you see fit.

Also do project managers have to be really good at coding themselves or just good at project planning?

Some are some aren't. You have to hire them. You decide what skills they need.

You want a manager who deeply understands the technology and can code. Whether or not they do code depends on what you and your PM work out.

They're a human being. You get to talk to them.


Do not hire a dedicated PM yet.

If you only have one developer, it seems silly to hire a dedicated project manager; everyone at a company that small must fill multiple roles for the company to work well.

For the next developer you hire, it would really help if they have the ability to lead a development team; it doesn't sound like you have that ability yet, and you may (or may not) have time to learn on the fly. If you can find a developer who can do this for you, that's efficient.

Learn about project management.

In the meanwhile, I might buy a copy of McConnell's "Software Project Survival Guide", and give it a read. It explains the basics of managing software projects, and does a good job of it while being easy to read.

Set deadlines as a team.

For setting deadlines, it usually works to have developers work with managers to set reasonable deadlines that everyone is aware of and agrees to. If they're set by the developers, the schedule will be very, very long; if they're set entirely by management, you get a lot of frustrated developers.

Prioritize what needs to be done.

Immediately, I'd start writing high-level requirements ("we need a better login system"), and prioritize them into various levels:

  • 1 - System is down, there's a showstopper, this needs to be done before people leave for the day.
  • 2 - This would get us a new contract/this would save us from losing a contract
  • 3 - Would love to have
  • 4 - Would like to have
  • 5 - Not going to get to at this time.

With that list, you can figure out better where to spend your time, and what to delegate. If you delegate something, it's occasionally going to come back not-as-you-envisioned; alternatively, you have to do one or more of the following to keep your vision on track:

  • hire developers more on the same page as you,
  • give more detailed requirements,
  • find developers who ask more questions before starting to code,
  • give up part of the vision to the rest of the team.


Also, I've found that all our projects are constantly delayed cos we don't set any deadlines (we develop for ourselves), how to avoid that, do programmers work well with deadlines?

As S.Lott said above you'll need someone to take the responsibility of a Project Manager. Equally important is that you choose a project method. There are several out there to choose from but some that has proven to work very well are agile development or waterfall projects. By using a project method it will help you organize, prioritize and plan your development.

Here's a link to get you started: Agile Software Development. I'm not saying agile is the best way for you to go. To discover that, I suggest you take a night or two to sit down and read about a couple of available methods.


You definitely need a project manager. An experienced interactive PM will at least know what the various technologies are and what they should and should not be used for. Prior programming experience is preferred, but not necessarily required. Strong communication and organizational skills, diplomacy, a proactive attitude and a passion for planning and documentation are absolutely required.

I would strongly recommend AGAINST having your PM do any actual production work of any kind. After all, this is what got you into the unpleasant place you are--it's very difficult to switch back and forth between manager and maker, and generally results in under-managing projects.


If I got you right you have two main problems:

  • You find it hard to build a software design
  • Your employees use very little of their time

Software development has become a place which make sense: There are many models for developing a project: http://en.wikipedia.org/wiki/Software_development_process but most share the following stages (analysis-->design-->implementation--testing)

First you have to do the analysis - you must define the scope of the project what's in and what is out. You can get notes from your system designer. This part is crusial to make estimation of the time resources needed and more.

After analyzing the project and having a good idea what you want, you should make a system design and... Information System professional or alike should help you - their job is to understand what you are after and build a design that any good programmer could follow (search UML/DFD).

Then find a programmer that can read those designs (make sure that both you and the system designer think that this employee is good for the job). Having a good design the programmer could do more than 80% of the work with no further explanation.

About the time and the project manager, I believe that once every person will know his place in the project (you will work with the system designer and he will work with the developers-NOT YOU) - You will get closer and closer to the project plan.

If you managed to survive with no system designer - don't take a PM until your project get bigger (unless you have big plans and big budget)

Get professionals - they cost a little more but save time and curiously even money!

Good luck

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号