Slashdot Mirror


Project Management For Beginners?

lawpoop writes "At my current workplace, I'm tasked with creating a rather complicated and metastasizing web-database application. I've mostly been the sole 'IT guy' at my workplaces in the past, so I've never had to, nor taken the time, to learn proper project management routines — code comments mostly got me through it. Now for this project, it's getting somewhat hairy and I'm sensing that I need to start doing things in a more organized manner. What resources would you direct me to? Books? (I wouldn't mind buying one good one.) Websites? What do proper 'specs' look like? Must I use UML (seems complicated and unintuitive) or a simpler ER diagram? For this job, I just need to provide better estimates for completing features, but what will I need if/when I would be working with a team?"

168 comments

  1. A book I thought was good by stoolpigeon · · Score: 4, Informative

    I recommend Making Things Happen: Mastering Project Management (Theory in Practice) by Scott Berkun. Berkun has quite a bit of experience working on and managing teams. You can check out his blog for more info. and to get a taste of what his writing is like.
     
    There are a ton of books out there - his blog has a sample chapter to read so you can see if this will work for you. I thought it was easy to read and covered quite a bit without getting bogged down. The table of contents breaks things down to a pretty low level - so that is another good way to see if it hits on what you need or if it might cover a lot of stuff you don't care about. I know I wish some of the people I've worked for had read it and took it to heart - especially the stuff about how not to annoy people.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    1. Re:A book I thought was good by kchrist · · Score: 2, Informative

      Another great book is The Art of Project Management, written by Scott Berkun and published by O'Reilly. The author was a PM at Microsoft on IE and Windows teams but don't let that deter you. The book is full of great information, especially for someone new to managing development projects.

      An excerpt from the book was posted here on Slashdot back in 2005.

    2. Re:A book I thought was good by stoolpigeon · · Score: 4, Informative

      Making Things Happen is the second edition of The Art of Project Management. They cleaned some things up and I think added in some practical exercises - and changed the title. (I'm not sure about the exact differences because I never read the first edition) I think Berkun explains why they changed the name in the forward but my copy is at home and I can't remember for sure. It is unfortunately confusing.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    3. Re:A book I thought was good by kchrist · · Score: 1

      Oh, I didn't realize that. I completely missed Scott Berkun's name in your comment. Thanks for clarifying.

    4. Re:A book I thought was good by Erie+Ed · · Score: 1

      I know my PIMPS are out there 3C3's represent in dis mutha fucka!!!!!!!!!!

    5. Re:A book I thought was good by Jay+L · · Score: 3, Insightful

      After a long spell away from project management, I bought a few books to catch up on what I'd missed. I did read the Art of Project Management, but I wasn't that mesmerized by it (though I did start following Scott Berkun's blog). It felt too sterile and academic as a starting point. Maybe it's better if you're already in the thick of it, and maybe the new edition is cleaner.

      What did mesmerize me was Agile Estimating and Planning, by Mike Cohn, who also has a good blog. It's quick reading, in an appropriately lightweight style, and it introduces all the concepts of agile planning (independent of Scrum, XP, etc) in a way that... that...

      Well, remember that one professor you had, who taught you biology by deriving it from chemistry from physics from mathematics? Cohn explains agile planning from first principles, in a way that made me wonder how we spent two decades not realizing how obvious it was. My forehead hurt from all the slapping. Of course! Why are we forcing humans to estimate time and to calibrate their estimates? All we know is "hard" and "easy"; estimate in points, track your velocity, and let a smart computer figure out what that means in weeks. Of course! We don't need to plan hour-by-hour for dates 18 months away; we don't even know what we'll consider important than.

      If you're considering agile methodologies, you must buy this book. If you're considering traditional top-down/waterfall planning, do yourself a favor - just slap your forehead every day. It'll build up calluses for when you buy the book later.

    6. Re:A book I thought was good by MrResistor · · Score: 1

      I think lawpoop is confused. He keeps calling it "project management", but if you RTFA (I know...) he's actually asking about software engineering.

      I'm currently taking a software engineering class and our assigned text is Software Engineering: A Practitioner's Approach. However, we've never opened it. My instructor says it's a "good reference", but he doesn't agree with everything in there. He teaches his own method, which he's developed while working as a software engineer for a large defense contractor for a couple decades, which he calls the "Heretic's Model".

      That said, UML is non-intuitive at first, but useful once you learn it. Using modeling software can make it much easier to learn. I've mainly used Umbrello, but there are many others around. They should be able to import your existing code base and generate some of the diagrams automatically, assuming you're using a language your chosen app understands.

      Ultimately though, a diagram's purpose is the help you understand what's going on. You can use any diagram style you like as long as it shows the information that you need. A good test of your diagram is if it makes sense to someone else once you explain what your symbols mean. If so, then it's useful. If not, some portion of the time you spent on it was wasted.

      My basic rule for time estimates is to think about how long I think it will take and double it. I've never been a project manager, that's just how I come up with the numbers I give my PM when asked, and the results have been surprisingly accurate.

      One major thing to keep in mind: rework can become necessary at any stage of the product lifecycle, and can take you back to any previous stage of the lifecycle. Don't screw yourself over by trying to shortcut that. If you discover in testing that you need to make a change to the architecture, don't just change the code, go back and change the architecture docs first and make sure you don't have any cascade effects going on, and check whatever intermediate stages you have as well. You'll be sorry if you don't.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
  2. Agile Software Development and Planning by jeroen8 · · Score: 1, Funny

    I would suggest to look at Agile Software Development and planning tools. These are lightweight and highly effective, especially in constant changing environments (read requirements).

    1. Re:Agile Software Development and Planning by mysidia · · Score: 2, Informative

      Do you have a web link to specific tools?

      'Agile Software Development' is a 21st century buzzword, just like XML, LAMP, OO, and eXtreme Programming were some buzzwords of the 20th century.

      A multitude of vendors claim their tools are for or support 'agile' development, whether they're really useful or not, is another matter....

    2. Re:Agile Software Development and Planning by TheSpinningBrain · · Score: 2, Informative

      'Agile' is a class of software methodologies. A popular Agile methodology is called Scrum. An excellent resource on how to conduct a Scrum shop is 'Agile Project Management with Scrum,' by Ken Schwaber. A good place to get started is http://www.mountaingoatsoftware.com/scrum/.

    3. Re:Agile Software Development and Planning by TheSpinningBrain · · Score: 2, Informative

      There's also 'Agile Software Development with Scrum,' same author. There are people who consider it to be the Scrum bible.

    4. Re:Agile Software Development and Planning by jeroen8 · · Score: 1

      I have good experience with Scrumworks for planning the development work using Scrum, Trac for PR/CR management and Subversion for source control.

  3. ITIL by NeutronCowboy · · Score: 4, Insightful

    Start there. There's a ton of stuff online. If you can get your work to spring for certification, great. If it doesn't, no worries. Project Management is easy. Just keep in mind a few things:
    - You need a project schedule with milestones. Live by it. Make others live by it.
    - Understand GANTT charts. Don't necessarily use them, but the principles behind are solid.
    - Google is your friend. The wikipedia article is actually a good start.
    - Above all, understand that this is a team effort. You won't succeed without others. Time to start honing those social skills.

    --
    Those who can, do. Those who can't, sue.
    1. Re:ITIL by mc1138 · · Score: 3, Informative

      ITIL is great and all, but might be a bit monolithic for a first time project manager, especially working solo. Your other recommendations are right on track though.

    2. Re:ITIL by Anonymous Coward · · Score: 1, Funny

      There's no I in TEAM but there is a ME!

    3. Re:ITIL by Anonymous Coward · · Score: 3, Insightful

      Be careful with ITIL as it can massively overcomplicate things for people trying to do the bare minimum that works. We used ITIL based software at our company for release and service management and talk about overhead.

      My recommendation is to do a lot of reading to familiarize yourself with the topics.
          - Start with a basic analysis and design book (which will walk through requirements). From there you'll get ideas of other books you need to read.
          - Many of your questions are asking about how to be a development lead. Read "Ship It" by Richardson and Gwaltney. That is the best software book I've ever read

    4. Re:ITIL by Anonymous Coward · · Score: 2, Funny

      and there's no u in "winning team"

    5. Re:ITIL by NeutronCowboy · · Score: 2, Interesting

      Spot on. ITIL is not for the faint of heart, and should be applied appropriately. That said, it provides a ton of useful information about how things should be done. Compare that with what you need, use what makes sense, and move on.

      And yes, it sounds more like he's moving on from being a code monkey to actually being responsible for the development lifecycle of a piece of software, so development lead stuff is a good place to start.

      --
      Those who can, do. Those who can't, sue.
    6. Re:ITIL by Anonymous Coward · · Score: 1, Funny

      and there's no u in "winning team"

      No, but there is "me".

    7. Re:ITIL by Maxo-Texas · · Score: 1

      I want to highlight the team effort aspect.

      The major failures that I see in projects by new project managers often turn on not asking for availability by secondary and tertiary teams such as testing, documentation, and installation teams.

      ---

      I like RUP methodology a lot. It uses agile concepts and has a high focus on identifying "risks" early.

      This is a wonderful concept that has helped me many times. Break the project into pieces that are easy to crank out and those which are unproven ("risks"). Resolve all unproven aspects of the project before beginning the easy parts of the project.

      Are you depending on MySQL working under Windows Happy Clown edition? Then make sure of that early.
      Do you need to code a bunch of transaction classes and services for data? Do that later.

      Starting the easy parts (so you can show progress) results in $100 million dollar canceled projects.
      ---

      Agile/Rup/etc. type management (vs Waterfall) assumes you can't capture 100% of the requirements in advance so you have frequent iterations.

      It's also true that debugging big O time is exponential. The sooner you let the testing team start testing, the more effective their testing will be. Bugs will be found sooner and be easier to fix.

      If you want a recipe for missing your deadlines, do a lot of coding up front- never show the users until it is 99% complete- and give it to testers when all unit testing is finished and the project is 100% done.

      Good Luck!

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    8. Re:ITIL by Tiger4 · · Score: 4, Informative

      In addition, be be careful with your requirements, specifications, and testing.

      Your users and customers (two related but often slightly different groups) are supposed to come up with the requirements, but often they are clueless on what they need. So you will often need to help them with suggested feasible solutions. However, the ultimate decision on what is REQUIRED is theirs. Just be sure to help them with the difference between required vs nice to have vs "you have got to be dreaming". The budget and time estimate is based on the requirement.

      ONCE THE REQUIREMENTS ARE LOCKED DOWN you do not accept changes to them. Any changes go into a NEW requirement that will be harmonized with the old one at a later date. Think of it like a train leaving the station. No new passengers get on, none of the old ones jump off, except under controlled conditions. If the users want to change the requirement, tell them to get on the next train. As the PM, you decide when the new stuff can be included into the old AND HOW MUCH IT WILL COST TO DO IT. Never let them think it will be "free".

      Getting a good estimate from the written requirement is tough. Trying to determine Function Points and lines of code and complexity and speed of development is a serious art form. Get good people and go over it a lot, from different angles. If you are lucky, this project is similar enough to past projects that you won't plant the seeds of destruction at this stage. You need to be sure you can really live with the cost and time estimate you give them. DO NOT ASSUME BEST CASE just because it look "easy". Too many people do. DON'T JUST DOUBLE EVERYTHING unknown. that is just wasteful. If you have serious unknowns, do some risk reduction explorations to be sure you do know what you are talking about (or at least plan to do them so you will know when the time comes).

      The best specifications are testable. And the Tests should be written at about the time the specs are written. A Requirement might say "full color display". A Specification might say, "display in at least six colors, including white, black, red, green, blue, cyan, magenta, and yellow". Guess what the acceptance test is going to look for? It should be as Unambiguous as possible. This is where team work is good. Don't let the designer write the specs and the tests. Too much chance for hidden assumptions to creep in.

      Which reminds me, be sure to explicitly lay out the overall software design, all the modules, all the interfaces, and subject them all to thorough rigorous Reviews. Too many otherwise good projects die from unstated assumptions that lurk under the surface. The coders are so anxious to get started they forget to examine where they are and where they are going vs the tools and skills available. They never see the iceberg until too late.

      Please do your best not to become another "out of control software project".

      --
      Behold, this dreamer cometh. Come now, and let us slay him... and we shall see what will become of his dreams.
    9. Re:ITIL by odoketa · · Score: 1

      It can't be emphasized often enough that once you have a plan, you need to stick to it, and therefore you need to have a very good plan.

      Of course, you never -actually- stick to the plan, but emphasizing that every change means delays of X helps to stem the tide of changes people come up with.

    10. Re:ITIL by NeoSkandranon · · Score: 1

      "ONCE THE REQUIREMENTS ARE LOCKED DOWN you do not accept changes to them"

      You forgot: Until Sales pitches a fit and leans on your regional manager, who will lean on you to "work it out" with your team, because this is a very important customer who you can't afford to offend in any way.

      --
      If you can't see the value in jet powered ants you should turn in your nerd card. - Dunbal (464142)
    11. Re:ITIL by gosand · · Score: 2, Insightful

      "ONCE THE REQUIREMENTS ARE LOCKED DOWN you do not accept changes to them. "

      Unless, of course, you are using an iterative or agile methodology.

      I am not sure the original poster is asking about project management... It sounded to me more like "development project management". Because full-blown project management involves everything for a project - initial stages, getting the line of business engaged, development, testing, user acceptance, implementation, support, overall budget, training, etc etc etc. It's a much bigger animal that managing just the development piece.

      Granted, you can use many of the principles... like creating a plan, tracking to the plan, re-planning when necessary, tracking to milestones, status reporting, tollgates, communication planning, etc.

      And I have a general rule - when in doubt, draw a picture.

      --

      My beliefs do not require that you agree with them.

    12. Re:ITIL by anonymous_wombat · · Score: 4, Insightful
      The above post implies that you are going to use a waterfall type development methodology. A more light weight alternative is to do iterative development. Deliver a release to the customer every 4 - 6 weeks, and ask if that is what they want. After each one, if they like what they see, ask what they want to see in the next iteration. Negotiate the scope of each iteration, but not the customers priorities.

      Of course, if they don't like what they see, you have a different problem. Figure out how to get on the right track.

    13. Re:ITIL by Anonymous Coward · · Score: 0

      Once the requirements are locked down? Are you off your head? If I ever, ever have such a project I will paint myself green and flap around saying coo coo the bird is here!

    14. Re:ITIL by Anonymous Coward · · Score: 0

      A Specification might say, "display in at least six colors, including white, black, red, green, blue, cyan, magenta, and yellow".

      Or in other words, at least eight.

    15. Re:ITIL by Tiger4 · · Score: 1

      It isn't about waterfall methodology vs anything else at all. It is more about Hitting the target, and trying to keep the target from moving more than absolutely necessary.

      I would personally prefer that all requirements be firm and well known in advance. Then have a firm spec developed, then have a fixed and approved design, etc. It probably is not going to be possible or practical to do business that way, but it would be nice.

      But what IS possible is to avoid having a new and unvetted requirement suddenly land in the middle of the development cycle and have the developers start reacting to it. They run off and build some really cool widget that the customer really likes, but no one knows exactly how it fits into the scheme of everything else that has been tested to spec. So now you have code that kinda does something we think is useful but we aren't sure how or where to put it. Which strongly implies you need to go back into system design and maybe back to the architecture and "fix it" so the widget can stay. Then comes the recoding of already accomplished work. All of which costs time and money. BAD BAD BAD practice. It is an invitation to chaos. You never know where you are going or when you are done. But the costs keep coming and time rolls on.

      As I once said to a team, "Lets say you are flying out to Hawaii from California. Half way, you decide you'd rather go to Tahiti. A while later you change course for Fiji. What are the chances you'll end up at any of those places, vs just swimming in mid-Pacific?"

      If the customer has something to add, let them say it. Write it down, look it over. Figure out how it might change the existing design. GET A COST FOR IT. Then, find a good time in the development cycle to integrate a controlled change to a NEW BASELINE that includes the new widget. The design works, it is testable, maintainable, the users are happy, and the cost is known and understood before you commit to it.

      And I'd be wary about calling something a "release" when you know it doesn't meet the requirements. "Prototype", "release candidate", "testing demo" maybe, but not Release. Never give the impression that it is something the users should be using when you know they should not. But that is a semantics matter for another time.

      --
      Behold, this dreamer cometh. Come now, and let us slay him... and we shall see what will become of his dreams.
    16. Re:ITIL by Tiger4 · · Score: 1

      Agile is great for quickly verifying your project is moving in the right direction. I'm just wary of it being use as a substitute for a robust system design. Users might be happy with the basic functionality they see, but they may not be in a good position to see the big picture of long term maintenance or system architecture. If adding a new function turns into a massive hack to get it to work, you aren't doing them a favor by being highly responsive up front.

      But by no means are the two mutually exclusive. They can easily coexist and be better for it. I would never expect people to know everything up front. I just want them to know something, and to understand pulling rabbits out of the hat isn't free.

      --
      Behold, this dreamer cometh. Come now, and let us slay him... and we shall see what will become of his dreams.
    17. Re:ITIL by Tiger4 · · Score: 1

      Plans can change. Just don't change it without telling anyone. Telling them BEFORE the change, that is. If you do it after they'll figure it out on their own. During the investigation / witch hunt.

      --
      Behold, this dreamer cometh. Come now, and let us slay him... and we shall see what will become of his dreams.
    18. Re:ITIL by Fulcrum+of+Evil · · Score: 1

      Unless, of course, you are using an iterative or agile methodology.

      Especially if you're doing iterative development. What did you think the next train was?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    19. Re:ITIL by Ironica · · Score: 1

      Eight is at least six...

      --
      Don't you wish your girlfriend was a geek like me?
    20. Re:ITIL by Anonymous Coward · · Score: 0

      ...Above all, understand that this is a team effort. You won't succeed without others. Time to start honing those social skills.

      If I had social skills, I guess I would be using them, instead of wasting my time making comments no one will read.

    21. Re:ITIL by Jane+Q.+Public · · Score: 1

      "ONCE THE REQUIREMENTS ARE LOCKED DOWN you do not accept changes to them"

      This strategy may work if you are doing contract work, but if you are an employee it can be harder to make this stick.

      Further, even if you are on contract, sometimes you have no choice but to accept changes... although if your original scope of work document was done properly, you are then able to charge more when changes are made.

    22. Re:ITIL by Javaman59 · · Score: 2, Insightful

      ONCE THE REQUIREMENTS ARE LOCKED DOWN you do not accept changes to them.

      I would add.. do not let the customer increase the process overhead either

      This is unusual, but I once had a customer who was actually more interested in the process than product! As I got stuck into the project, he'd frequently drop by and demand a "process" item, such as a plan, a demo, a design document, etc. Initially I responded positively, but that just increased his demands, until it was seriously interferring with the project, and, incredibly, he knew it! When I started resisting the demands (in order to get on with the job) he accused me of trying to "hide something" from him.

      That was an extreme case, but the lesson is - treat process as a contract, as much as the functional requirements. If they ask for more, just say "no"

      --
      I'm a software visionary. I don't code.
    23. Re:ITIL by Anonymous Coward · · Score: 0

      You're an idiot and a moron if you use anyone's word for a scope estimate. Never take anyone's word, it's always subjective. There are tools for estimate generation which give you something truly objective. Lookup COCOMOII, PRICE-S, and SEER-SEM. If you have never heard of these, better get up to speed on them quickly. I can't believe there are still fools out there who advocate "guesstimating". It's not an art form.

    24. Re:ITIL by cerberusss · · Score: 1

      When I started resisting the demands (in order to get on with the job) he accused me of trying to "hide something" from him. [...] the lesson is - treat process as a contract, as much as the functional requirements. If they ask for more, just say "no"

      Another lesson could be that when your client feels uncertainty and doubt, actively make this a topic and ask how that feeling can be alleviated. The problem should probably be fixed by the client himself, for instance by paying an external auditing party, by paying for extra deliveries and so on.

      --
      8 of 13 people found this answer helpful. Did you?
    25. Re:ITIL by Anonymous Coward · · Score: 0

      While iterative is a decent enough approach, the first attempt from a new team for a new product (which this is if the players and team lead have changed) needs a first release date. To reiterate the obvious, the requirements are extremely important, as are test-points, milestones and visible review steps. The first release to the customer should be advertised and understood as a beta (or even alpha) release with a plan for iterative improvement for at least one cycle thereafter.

    26. Re:ITIL by Tiger4 · · Score: 1

      If you really believe all of those tools will come up with the same answer, you are the fool. They are incredibly useful. But it still takes expert interpretation to turn them into useful information.

      Try this on for size: I want a program that says "Hello World!". That is the entire requirement. Give me a time and cost estimate to get it done.

      Hint: how many languages and operating environments are there? Don't forget output to video display, to printers, to plotters, or to audio output.

      Even a really easy thing can be complicated. There is no single correct answer. It is a range, and you pick the one, in your opinion, that seems most probable. The tools lead you there, but you decide. And then you manage to it, and live or die by your decision.

      --
      Behold, this dreamer cometh. Come now, and let us slay him... and we shall see what will become of his dreams.
    27. Re:ITIL by TastesLikeChicken · · Score: 1

      Sound advice so far. I would add, get the engineers to spend time designing the back end architecture up front. Design before you code. The same goes for UI, don't start writing UI until you have it all drawn up and vetted with your USERS (different than customers). You don't have to do this yourself, look for a techwriter, QA person that can communicate and has a little artistic talent and draft them into the role of UI designer if you must. Don't get fancy (unless you have to), paper prototypes can be vetted with users and have almost zero cost to change.

      --
      Until our children are no longer molded into castrated sheep democracy remains a fake and a danger. -A. S. Neill
    28. Re:ITIL by Javaman59 · · Score: 1

      Another lesson could be that when your client feels uncertainty and doubt, actively make this a topic and ask how that feeling can be alleviated.

      That is a seriously good suggestion. I usually try to alleviate "uncertainty and doubt" by being proactive in communication, (as do most professional people), but in some situations it is best to make it an open topic.

      --
      I'm a software visionary. I don't code.
    29. Re:ITIL by anomalous+cohort · · Score: 1

      There is a lot more to managing a software development project than project management. Gantt charts are great for the time management aspect of a software development project but what the client is paying for isn't effective use of the team. It is a quality application delivered on time and on target. That means relevant and well articulated requirements, good analysis, accurate estimates, flexible and relevant architectures (both software and information), well written code, and consistent testing coverage. As project manager, you don't author any of these deliverables. What you do is foster an environment where these deliverables can grow naturally from the hands of your team.

      There have already been plenty of great resources mentioned here to get you started. Here are a few more resources for your consideration. I wrote developing successful software specifically for the purpose of helping introduce a more holistic approach to developing software based on my 25 years experience in the field of professional, enterprise grade software development. Also, here is an article that I wrote which is a review of some advice on software engineering that I believe is relevant to your inquiry. Good Luck!

    30. Re:ITIL by gosand · · Score: 1

      Agile is great for quickly verifying your project is moving in the right direction. I'm just wary of it being use as a substitute for a robust system design. Users might be happy with the basic functionality they see, but they may not be in a good position to see the big picture of long term maintenance or system architecture. If adding a new function turns into a massive hack to get it to work, you aren't doing them a favor by being highly responsive up front.

      Actually, you ARE doing them a big favor by figuring it out early. In a waterfall project, you wouldn't find out that the function was a hack until much much later.

      To be fair, I don't think Agile is a good fit for every project. If you have other system dependencies, they would all have to be on-board with the Agile methods to play nicely. But it's good to have Agile for projects that are independent and do benefit from rapid feedback.

      --

      My beliefs do not require that you agree with them.

  4. PSP by Walterk · · Score: 3, Insightful

    Something that may be of interest to you is the Personal Software Process, see http://www.sei.cmu.edu/publications/books/process/psp-self-improvement.html

    1. Re:PSP by Walterk · · Score: 1

      In very bad style, replying to my own post, but the PSP ties in nicely with the Team Software Process (TSP).

      You will probably see many people here advocating agile, but you can use many of the things in both PSP and TSP in Agile. Just as long as you remember that having no process is worse than having a bad one. At least when you have a bad process, you can impove it.

  5. PMI by rodrigoandrade · · Score: 3, Informative

    I suggest using the PMI methodology, as it is the industry standard, it'll add a lot of credibility to your resume, and make life much easier for those who follow your work (co-workers, or the guy replacing you once you brush up that resume with a PMI cert).

    Now go research about it, as a good PM needs to be able to do the legwork, too, not just shout orders around.

    1. Re:PMI by mysidia · · Score: 1

      So do you have any suggestions about what books or sources to look at for information about PMI methodology?

      Posting a question on slashdot is a form of research; after all, it takes some effort to send someone a question in an article-suitable fashion, and actually get it posted.

    2. Re:PMI by Anonymous Coward · · Score: 0

      Posting a story on /. is researching?? REALLY???!!!!

      You can get any story on /.'s front page, provided you use the right buzzwords.

    3. Re:PMI by Maxo-Texas · · Score: 2, Informative

      www.pmi.org

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    4. Re:PMI by teg · · Score: 1

      So do you have any suggestions about what books or sources to look at for information about PMI methodology?

      The canonical bok is the PMBOK - A Guide to the Project Management Body of Knowledge. That said, this is more of a reference/guide than an introductory book. I strongly recommend at least getting a companion book - like Head First PMP. In addition, you should look at getting some training - you can't get a certification for a couple of years, but the training is very useful.

  6. Shameless plug by Anonymous Coward · · Score: 0

    Might be slight overkill if you're just working on this alone, but if you need to communicate/collaborate with others, you might take a gander at the product I work on:

    http://kalexo.com/our-products

  7. A few pointers by nyvalbanat · · Score: 1

    My general approach so far has been:
    - Write a design document pretending that someone else of your skill level is supposed to implement the solution based on that document. It helps reveal holes in your design, or at least strengthens your confidence.
    - Figure out the toughest/trickiest parts and prototype them first. That way you reduce the amount of last-minute surprises and can make a better estimate.
    - UML or pseudo-UML can definitely help. Get a whiteboard and keep it updated. It helps you keep the big picture when you're deep in low-level code.

    --
    Ubuntu on primary work desktop since Dapper Drake (2006).
  8. Only as much as you need by Jawn98685 · · Score: 5, Interesting

    My advice is to adopt only the project management tools and methods that you need to get the job done effectively. It is all too easy to become mired in learning a complex discipline (project management) when all you really need is a well thought out flow chart and a good ER diagram. In other words, do not spend your valuable time trying to learn MS Project or any of the several readily available alternatives. They are tools for someone well-schooled in the techniques in managing complex projects. Your flow chart could easily expand into groups of related tasks, one grouping for each element in the chart. To manage that, a simple task list manager will do.

    1. Re:Only as much as you need by D3 · · Score: 4, Insightful

      This is what PMI says to do, cherry pick what you need out of the vast standardized body of knowledge (PMBOK in PMI terms). However, if you don't have a good grip on the BOK, how do you know what to cherry pick and what to ignore? I'm not saying you need complete mastery of the PMBOK, but a course in the groundings of it helps immensely. I'm working on my SANS GIAC certification in PM and would be lost just picking up the PMBOK without the background of the class. The work project I'm doing right now is small and so some things like Budget Management and HR Management don't apply, but that might not be the case for the submitter.

      --
      Do really dense people warp space more than others?
    2. Re:Only as much as you need by myvirtualid · · Score: 5, Informative

      Mod parent up. With all due respect to other posters, sending the submitter to ITIL is overkill. Talk about drinking from the firehose.

      I use to run a number of development teams in a systems integration and custom development shop: We took our employer's base products and toolkits and integrated them into customer environments. We did a lot of "1.0's" - typical projects were 2 to 6 weeks in length and if we ever saw them again, we lost money. We could afford one or two moderate bugs (sev 3 - functionality impaired); more than that, we lost money. We could not afford major bugs (sev 1 - all is borked; sev 2 - most is borked). And given the tight timelines, we had to be very sure that what we were developing was what the customer asked for and what the customer asked for was what the customer wanted.

      We almost always made money and our customers were almost always very satisfied. We very rarely lost money, and it was usually on strategic projects (spend integration money to make more license money).

      Here's what we did:

      1. Write a high level design document describing the major components and data flows. A mix of diagrams and text. Nothing too technical, because the customer has to understand it. But it has to be enough for a senior dev to either start coding (2 week project) or write an internal-use mid-level design doc (6 week project).
      2. Developer, tester, and writer estimate how long to do their bits based on high-level design. Project management adds some buffer (10% to 50% based on complexity).
      3. Customer reviews design, expected ship date, signs off. (Because the design has to be fit for the customer, no UML diagrams or fancy methodologies that the customer doesn't understand. These things have their place, to be sure. But if you cannot describe it in pictures and words, it may be too complicated for you and your organization's current level of development methodology.)
      4. Based on the high-level design document, start three simultaneous streams:
        1. Development: Either start coding or write that mid-level design document.
        2. Test: Write the test plan. Not the test cases. Start with the acceptance test plan. Have this signed off by the customer.
        3. Documentation: Start putting together the major structure of the documentation. (ToC, section headings, text where necessary, etc.).
      5. Checkpoint: The developer, tester, and writer meet to ensure that they agree that what they are each working on aligns with the others and with the high-level design. This can be a 30 minute meeting or a three hour meeting, depending on scope, etc. Most important things:
        1. Do we align with the design?
        2. Will we ship on time?
      6. Add detail. The developer codes, the tester writes test cases or test scripts, the writer writes documentation.
      7. Checkpoint: The developer, tester, and writer meet to ensure alignment.
        1. Do we align with the design?
        2. Will we ship on time?
      8. Repeat "add detail" and "checkpoint" steps as necessary. Stop adding detailing when done (e.g., often the writer will finish first, then the tester, then the dev - and it's nice when it goes this way, because the tester can review the docs and make sure test plans and docs really align).
      9. Test.
      10. Ship.
      11. Profit.

      Handling exceptions. If at any point things start to drift out of alignment, stop. Figure it out. If the problem was the high-level design, go back to the customer. Otherwise, it's an internal issue you have to identify and correct.

      VIP: Acceptance test plan. Having the acceptance test plan signed off by the customer is crucial. If they sign it off and everyone codes to it and it aligns with the high-level design and the deliverable passes acceptance, then you are done.

      One thing I've left out: Change requests. They are the bane of every project under development. You need to dig in your heels and manage them properly. Work collaboratively with the

      --
      I'm here EdgeKeep Inc.
    3. Re:Only as much as you need by digsbo · · Score: 3, Insightful

      Jawn is right, but remember that You Will Fail. Accept that. Experienced project managers fail most of the time. When I say fail, I mean you will be late and over budget. "Managing" expectations is what the learning experience is about your first time around. Good luck.

    4. Re:Only as much as you need by IcyHando'Death · · Score: 1

      I agree with the parent. In your case, while you are taking on a bigger project, you are not being called upon to manage multiple resources, multiple dependencies etc. That's a large part of what project management is. It sounds like you're more after something that can act as a guide to software development. A nice, short, practical book is "UML Distilled" by Martin Fowler. While it is geared towards teaching the application of UML, it does so by describing it's various diagrams in context and showing how to use them yourself.

      The book starts out with a description of the software development process advocated by Fowler, which is an iterative approach. My favorite nugget is in a section headed "When to Use Iterative Development" which begins, "You should use iterative development only on projects that you want to succeed." :)

      There's a breakdown of the project phases and the book deals with requirements, risk management, planning and lots of other issues, and at the end there's a nice simple example.

      If you already feel like your project is in a bit of trouble, time may be of the essence. At just 166 pages, "UML Distilled" is a quick read and takes a very pragmatic approach that should get you going in the right direction quickly.

    5. Re:Only as much as you need by rtb61 · · Score: 1

      From a experienced project management viewpoint, anyone who is asking these questions prior to starting a complex project where it has been stipulated that they have to provide 'better' estimates for completing features, is in real trouble. Attempting to learn project management whilst winging it in on a hope and a prayer on a current project is not the most sensible thing to do.

      My advice would be to admit the limits of of experience to management, hire in a reputable consultant and pay attention to what they do for the next project, either that or start looking for another job now. It is not to bad learning to apply project management techniques on small simple jobs but you really don't want to be learning whilst attempting large complex jobs. Small jobs with large stuff ups, still don't hurt that much but, major jobs even with small stuffs ups can be hugely expensive. Good project management is all about experience and learning from your mistakes and being quick enough to correct them before they get out of control.

      --
      Chaos - everything, everywhere, everywhen
    6. Re:Only as much as you need by Anonymous Coward · · Score: 1, Insightful

      Have to quibble with this just a little bit.

      Experienced project managers will "fail" from time to time, but if anyone is failing "most of the time" then they are not doing a very good job. It's okay to fail - as long as you learn from your mistakes.

      Now, I'm not saying a project will always come in at the same cost, schedule and scope as the original charter. But a good project manager deals with changes and communicates these back to the stakeholders. It's not a failure to be over the original budget and 3 weeks late if there was a requirements change that was accepted by the project stakeholder, so long as the impact was clearly communicated and everyone signs off on it.

    7. Re:Only as much as you need by EricWright · · Score: 1

      This is one of the first posts I've ever wanted to mod to +6.

      In my experience, the parent is spot on, even for "internal" projects where IT is building business applications for another department.

    8. Re:Only as much as you need by Beezlebub33 · · Score: 1

      Customer reviews design, expected ship date, signs off. (Because the design has to be fit for the customer, no UML diagrams or fancy methodologies that the customer doesn't understand. These things have their place, to be sure. But if you cannot describe it in pictures and words, it may be too complicated for you and your organization's current level of development methodology.)

      Pretty good post, but my quibbles would be:

      o Use Case diagrams are UML. The convey, quickly and clearly, who can do things with the system and what they can do. And it's really important that if you are unable to do something, you have a Use Case that shows a person doing something with a 'You Can't Do This!' on it (or, preferably, "you will be able to do this in version 2.0"). It's largely about 'managing expections' by the customer.

      o Design must mean something different to you than it does to me, and I think maybe you meant architecture. The customer won't understand the high-level design. They will be able to understand the architecture, especially how the architecture will be able to allow the Use Cases to happen, which is the important thing.

      --
      The more people I meet, the better I like my dog.
    9. Re:Only as much as you need by sjanich · · Score: 2, Insightful

      Right. Being a good project manager is NOT about being good at MS Project and other PM tools. Being a good PM is about being a good communicator and a good organizer (including for contingencies). Being a good PM is about getting people to do what you want and need without having direct authority over them. Bing a PM means having responsibility but only some authority.

    10. Re:Only as much as you need by realsablewing · · Score: 1

      Agree with the parent, as a technical person it's very easy to get caught up in finding 'the perfect tool' that will do all of those nasty management tasks for us.

      The reality is that management consists of working with the people on the team, coordinating tasks, finding out about problems in time to solve them, work around them or get relief in schedule or budget in performing the problem tasks. A lot of communication, a lot of time with people not necessarily as much time with the technical work as you might prefer.

      I currently work with someone who likes managing people, in a positive way, is interested in finding problems and fixing them before the release date and in getting schedule or cost relief before the customer gets ticked. He does this using two things, 1) an spreadsheet for documenting the tasks and tracking how much people work and 2) a lot of communication with the team. For keeping projects running smoothly he was laid off from his last job because his work was obviously 'too simple' since there weren't any crisis to take care of all the time.

      If you aren't interested in the people part of the management find someone to buddy up with who does like that part, it is a huge help and keeps the stress level down a bit.

      --
      I used to be an adult but then I grew up.
    11. Re:Only as much as you need by digsbo · · Score: 1
      Ok, my comment needed more context, and your point is valid. In some situations a relatively inexperienced first-timer can be made a scapegoat. Someone used to doing only technical work, early in a career, may be seeing things in black and white. Thus, once you're a day late and a dollar over, you need to be prepared to deal with the political consequences.

      I've worked with good PMs who still were late or over budget most of the time. I think the statistic that 80% of all software projects are at least 100% over budget or time is still true. That means my original assertion that "most" fail compared to the original charter is basically true (if a bit blunt).

    12. Re:Only as much as you need by high_rolla · · Score: 2, Interesting

      This is a great post. Just to add my bit on top of this. I forget who said it but one quote I quite like is:

      "The most important thing is to keep the most important thing the most important thing."

      At the end of the day your task is to get a job done and a large part of that is going to be managing information flow and keeping it flowing as freely as possible between yourself and everyone else involved (management, end users, you, other developers etc). Simple things such as a big whiteboard, a properly laid out intranet and just walking around talking to people can be a huge asset in achieving this.

      --
      Ryans Tutorials - A collection of technology tutorials.
    13. Re:Only as much as you need by high_rolla · · Score: 1

      Actually, I just remembered who the quote is by:

      Donald P. Coduto, from the book "Foundation design"

      --
      Ryans Tutorials - A collection of technology tutorials.
    14. Re:Only as much as you need by ckaminski · · Score: 1

      It's too bad Slashdot is still stuck in 1997, and doesn't have ways to flag posts as favorites... I have to do a shitload of cut and paste whenever I find something worth saving.

    15. Re:Only as much as you need by myvirtualid · · Score: 1

      This is one of the first posts I've ever wanted to mod to +6.

      Quick, let's grab the slashcode and make it go to 11!

      Of course, that will mean converting it to use base 5, but that might be cool. Today would be the 43rd day of the 4th month of the 31014th year, for example.

      Seriously, thanks - I've got a little glow of slashpride right now!

      --
      I'm here EdgeKeep Inc.
    16. Re:Only as much as you need by myvirtualid · · Score: 1

      Use Case diagrams are UML

      Excellent point - as are all of your "quibbles" (which I think you use to mean "pithy and accurate observation" - at least that's the sense I get from your post :->).

      I poorly expressed the point I was trying to make when I wrote "no UML". I meant something more along the lines of "no jargon", no specialized terminology or diagrams that are unfamiliar to a non-technical audience. For example, "actors" and "agents" have specific meanings in various contexts, and while developers and architects know which context is which, most customers are going to think "Angelina Jolie" and "Swifty Lazar". And educating them on your terminology may well be counter-productive. Same thing with swim lanes, fish tails, entity-relationship diagrams, etc.

      They all have their place, absolutely. And in a relatively larger organization with relatively more mature processes, architects and designers would use these, and someone else (marketing? project management? product management?) would translate these to language and format suitable for customers. (As an aside, which will become quite relevant momentarily, one role of these specialized tools and jargons is to convey meaning accurately and precisely to others who lack context, for reasons of time or space or both.)

      My general inclination is that if you have a smaller organization and are just starting on implementing processes, it's best to just work with the customer presentables - you don't have the cycles or resources to do both, and you need the customer-facing stuff. The danger is that a lack of precision in your designs may lead to implementation errors. Or worse, customer acceptance problems.

      Hence the "checkpoint and repeat" development cycle (involving the customer if it makes sense).

      But if your organization is relatively small, you gain the benefit of context and conversation: You are not capturing design for later use by people who may not even have been hired yet, but for immediate use by a team of people who are likely all living this project (and possibly nothing else).

      One of the big tricks of management is figuring out which organization you are, noticing when you are changing from one to the other, and adding process maturity at the right time (read: Just early enough, and never too late).

      That's a big trick. If you can pull that off repeatedly, you have a solid future ahead of you.

      --
      I'm here EdgeKeep Inc.
  9. Consider the Library by Anonymous Coward · · Score: 0

    May I suggest your public library? More libraries have taken to stocking books for professional development as a way to increase readership.

  10. Back to basics by JamesP · · Score: 1

    1 - Start with PM basis: the book "Head First PMP" seems like a good start (and yes I read it)

    2 - Go learn about Scrum/XP/etc that's what (I and a lot of people) to be the realistic approach for sw pm today, stay away from RUP/Waterfall, etc

    Otherwise, a book I found nice is "Software project Survival Guide" http://www.amazon.com/Software-Project-Survival-Guide-Practices/dp/1572316217 even though it's a bit on the side of waterfall.

    You could go directly to Scrum/XP but it's nice to learn about 'classic PM' first, it helps with vocabulary and the general idea.

    --
    how long until /. fixes commenting on Chrome?
    1. Re:Back to basics by Walterk · · Score: 1

      Go learn about Scrum/XP/etc that's what (I and a lot of people) to be the realistic approach for sw pm today, stay away from RUP/Waterfall

      I would have to disagree with you there. While Scrum and XP are very much on the rise due to the whole "agile" buzzwordyness, RUP and Waterfall are still very much used today by a majority of companies. Neither of those are actually bad processes, it's usually how they're implemented or managed. A bad implementation of Scrum can kick you in the nuts just as much as a bad implementation of Waterfall.

      It's all about how you manage your process and improve it to cut out the bits you don't need. This is the case for all development processes. Take Kanban* as example, where Agile can be used on a Waterfall process. Continual improvement.

      *: http://www.infoq.com/presentations/kanban-for-software

    2. Re:Back to basics by heck · · Score: 1
      learn about Scrum/XP/etc that's what (I and a lot of people) to be the realistic approach for sw pm today, stay away from RUP/Waterfall, etc

      That's like saying "Go learn Java (or C# or Ruby or...) only because that's what I and a lot of people say is the realistic approach." THEY'RE ALL TOOLS FOR THE ARSENAL, AND YOU SHOULD BE FAMILIAR WITH ALL OF THEM.

      Just as what language you use is a choice depending on the skills of the team, the hardware at the company, and the project at hand; the project management style depends on the team, the company, the requirements, etc. Based on my 20 years of experience, WHAT PM approach you do doesn't matter as much as a good team. I do insist that you have SOME sort of plan/process/framework for requirements management, task analysis, timelines, etc... But I will state that what matters is the team. Once you have the right people, apply the project management framework that works for the team and for the project. And adapt it as needed as things evolve.

      As many have said, go to PMI. Take what they say with a grain of salt. (Even though I am a coder, I've taken several of their courses and always gotten value out of them, which is more than I can say of many courses) Because we on slashdot do bring joel spolsky up frequently, I will say Joel has some though provoking posts about project management among many other things (joelonsoftware.com) Not saying I always agree with him - take what he says with a grain of salt...

    3. Re:Back to basics by Tarwn · · Score: 1

      As others have already commented, Agile is one option but unless you want to be the guy in the corner pounding on screws with a hammer, I'd suggest reading a little about several methodologies and then dig deeper into one methodology when you have a situation that fits.
      Remember, the OP is in a single person environment, that alone is going to make daily team meetings a little challenging (or at least a little odd to watch).
      Other options include Critical Path, which can be executed with a waterfall model but could just as easily outline an iterative model or a TDD model.
      A methodology that I like is Critical Chain Project Management, which follows lean manufacturing principles rather than lean product development (like most Agile methods).

      In any case, my comment to the OP would be to learn some basic project management topics from books then spend an afternoon on wikipedia learning the basics about a number of different methods. Then choose one to statr with and see how it works. Don't eb afraid to throw it away and choose a different one for your next project, they all build experience and breadth of knowledge.

      --
      Whee signature.
  11. god fucking dammit by Anonymous Coward · · Score: 0

    Software development is turning into a branch of sociology rather than an application of computer science. All these bloody "methodologies". No wonder software gets ever more complex and slow, and there's little in the way of innovation - it's all just implementing old theory.

    And now for the selfless answer you won't like: the economy is fairly shit today. There are many highly skilled individuals who would have more experience doing what you're trying to do, but who are out of a job. The best way forward for the company is to offer them your job in return for a proportion of their first year's salary. You work together for a month or two, teaching him about the firm.

    I'm not looking, but I'm sure other /. readers are.

  12. PMI and ITIL by ErichTheRed · · Score: 2, Insightful

    I'd recommend starting out with the PMI body of knowledge...start here: PMI. ITIL is a very good framework for designing an ideal operational environment, but it's huge and very bureaucracy-centric if you're not careful. The ITIL content is not free, but you can take training courses or buy it yourself.

    All that said, don't underestimate what you're getting into. Project management is not IT work. The job you do as a PM is totally different from anything you're going to do in your IT job. For one, you can't do any of the work yourself. A PM's job (in my estimation) seems to be begging and pleading workers and their managers to get things done on time.

    Also, project management, like people management is a skill. You can either do it or you can't. I've seen IT guys promoted to project managers who fail horribly at it. Remember that you're not the "doer" anymore, all you do is keep records, hold meetings and yell at people who miss their dates. On the flip side, a truly good PM with IT skills is a godsend. Being able to understand that an IT project is NOT a construction project is a key skill. Traditional PMs will tell you that a project is a project. However, you know EXACTLY how long it takes a carpentry crew to frame a house, a plumber to lay pipe, and a drywall crew to put up walls. You sometimes have no idea how long it will take to find $obscure_bug[n]. Construction projects have at least a chance of coming in on time, and IT projects really don't unless they're totally simplistic. Keep that in mind and you'll do well!

    1. Re:PMI and ITIL by Anonymous Coward · · Score: 0

      ITIL's something else. If you're setting up an IT organization, it's a good reference to be sure you've got all the bases covered. If you're getting beaten over the head by the compliance people, it's an essential CYA guide. If you want to learn how to run a project, it's pretty much worthless. Imagine if the CMMI had been written by auditors, that's close to what ITIL is.

      The PMI's Project Management Body of Knowledge (PMBOK) is not prescriptive. You'll find some best-practice recommendations, but it's not all that actionable. What you get from the PMBOK is a set of concepts and some jargon that will make it easier to talk to other people familiar with the PMI.

      Planning, estimation and risk management are all core skills that can be done lots of different ways. Same goes for managing people. The methodologies are trivial compared to the value of hands-on experience.

      UML has nothing to do with project management per se. It's a modeling notation. It's extremely useful as long as you pick and choose and don't fool yourself into thinking that documentation is the product. Documentation is a way of understanding the problem, facilitating decisions on solutions, and making the system maintainable. If you're doing it for any other reason (besides maybe a contractual obligation of some sort), shitcan it and move on.

  13. Critical Chain Project Management by Anonymous Coward · · Score: 0

    http://en.wikipedia.org/wiki/Critical_chain

    I've seen good results when applied (and bad results when applied poorly, but that goes for any methodology).

  14. Not enough information by MikeRT · · Score: 3, Insightful

    You didn't state whether or not you were on a team or not, but if you aren't, then just document the hell out of everything.

    If you are become a project manager over a team, here are some helpful hints that someone should have told a boss I know at a different site from mine:

    1) Learn the difference between delegation and dereliction.

    2) Defend your team against outsiders unless your team is behaving indefensibly.

    3) Your biggest job is to remove hurdles from your team's path. These may be helping them on technical decisions, but more commonly will be you marching into someone's office demanding their cooperation with your team when your subordinates cannot get any information or cooperation from them.

    4) Don't take on more work than your team can handle unless you are willing to double up on helping them AND your management role.

    1. Re:Not enough information by cowscows · · Score: 1

      #4 leads to a pretty key point. An issue that I've seen on some bigger projects is when the project manager has a hard time accepting the fact that their job isn't as much to "do the work" as it is to manage the people who are doing the work. There's something to be said for leading by example, staying involved, and not losing touch with the grunt work, but it's important to realize that on a project that's continually progressing, project management is a full-time job.

      If the project manager is putting 20 hours of their work-week into grunt work, it might feel to them that they're making their best contribution to the team, but that's not necessarily the case. That time might have been better spent helping the other members of the project team get their work done more efficiently, or making sure that the proper communication takes place to avoid mistakes, or keeping outside forces at bay.

      Sometimes you just want to sit at your desk, put headphones on, tune out the world, and just do some work. But that's a luxury that project managers often don't have, and it's one that's sometimes hard to give up.

      --

      One time I threw a brick at a duck.

  15. Site with templates by D3 · · Score: 1

    Here is one site I found yesterday with templates, white papers, articles, etc. http://www.brighthub.com/office/project-management.aspx

    --
    Do really dense people warp space more than others?
  16. Sorry by Anonymous Coward · · Score: 0

    I thought this was my weekly team meeting.

  17. Project Management by Anonymous Coward · · Score: 1, Informative

    You're going to get a lot of answers here pointing to specific methodologies like Agile, but for someone just starting out I think it helps to understand what project management is and isn't.

    The Project Management Institute (the ones that run the PMP certification program - pmi.org) is sort of the world repository of project management theory. They publish "A Guide to the Project Management Body of Knowledge" or PMBOK. Most practicing PMPs take everything in the PMBOK with a grain of salt, because it is an ideal vs. what happens in reality, but I think their definition of Project Management is a good one:

    "Project management is the application of knowledge, skills, tools, and techniques to project activities to meet project requirements."

    There are some good nuggets in there that I think can help a new project manager.

    First is to understand that the whole point of a project is to meet some set of requirements. So you probably better know what those are before you start, and more importantly, you should know how to measure whether you've met them or not.

    Next is to realize that you are managing project activities, or tasks. You need to have some idea of what things need to be done in order to meet a requirement, what resources (people/skills, money, time, etc.) are needed, and some idea of how long it's going to take.

    Lastly, project management involves applying tools (like scheduling software, or gap analysis templates), techniques (like change control) and skills (like leadership) to tie it all together.

    It doesn't particularly matter what your process is (agile, six sigma, etc.), but it is very important that you have one. Every professional PM I know adapts their corporate methodology to fit their style and the nature of the particular project. That's part of the "skills" in the PMI definition.

    Project Management can really make your life easier and doesn't have to be an overly onerous process.

    Good luck!

  18. just say no by pr100 · · Score: 1, Funny

    Project management is a way for middle management who know nothing about programming to make themselves feel useful and screw up your programming project....

    1. Re:just say no by thoughtspace · · Score: 3, Insightful

      Your statement is an example why we have Project (and other) Managers. The 'programming project' is only part of the objectives of the business. As you have a hostile view towards management, it would be correct for the Project Manager (and Software Manager) to isolate you from the upper management so you can work how you like with your view. There is nothing wrong with your view. A Project Manager would just have a tougher job ensuring everything gets done and getting status from you as you would feel they are interfering and incompetent. As a Project Manager, you just accommodate the different personalities. The trick is to get everything required out of the team without them knowing I am doing it.

    2. Re:just say no by pr100 · · Score: 1

      I don't have a hostile attitude to management - I've been a manager of teams of programmers.

      I have a sceptical attitude to a lot of the guff that comes under the umbrella of Project Management these days - especially as it's applied to programming.

      Everything needs managing in some sense (although for small software projects often this management is best done by the people doing the programming too). But that doesn't mean that a gannt chart helps you in the slightest.

    3. Re:just say no by Anonymous Coward · · Score: 0

      Says the unemployed "PHP" web developer.

    4. Re:just say no by pr100 · · Score: 1

      Your crystal ball is broken :)

  19. Don't do it!! by Wyllyam73 · · Score: 1

    Don't fall into that trap.. I did. Here is what I learned: 1) There is no complete answer to how to document a project. anyone that tells you otherwise probably doesn't code or support someone else's work. 2) Learning project management takes time and experience. A book won't help.. I have several and all are equally useless. 3) Project management doesn't sound like what you are looking for (like the other person above said, PM is for Middle Management). what you need to do is look at it from the outside. if you had to come in to support someone else's website/database, what would you need to be able to support it successfully? inputs, outputs, timings, schedule jobs, maintenance jobs, etc. Document what those are and how they run. Then create some basic flows to describe how the system integrates together. Being the only IT developer will make the documentation more difficult and you aren't going to get it right the first time (or first dozen times). Just be ready to add or remove information from your documentation as you go. Also, every time you have to research something, create a document that defines what the problem was and how you fixed it.. you or someone that follows you may need it to resolve future problems. And don't trust what I tell you to be true or final. You will find a better way as you go through it.

  20. Talk to someone in person by daffmeister · · Score: 2, Insightful

    This is a big topic, and there are lots of different "right" answers. The best one for you depends a lot on you, your project, your workplace, and your future team.

    Try to find someone that you can talk to face-to-face for 30 minutes over a coffee or beer. You'll learn a lot more from their experience in that time than any amount of reading and you'll then have a better idea of which way to direct your energies and further research.

    Ideally someone with a similar project to yours, but really, anyone with a bit of experience (the more the better, as they would have seen more methodologies) can help.

  21. That useless piece of s*** by wiredog · · Score: 2, Insightful

    It is useful for getting in the way of getting work done. Or if what you're doing is something you've done before, in exactly the same way. In which case, why don't you just use what you've already done?

    God help you if some PM makes you use it when you're wringing out a new API on a new platform.

  22. Bare Bones Project Managment by jeffshoaf · · Score: 2, Interesting

    It sounds like you're primarily looking for advice on managing your application design and development, which isn't quite the same as traditional "project managament" - you're looking for help with part of the application lifecycle. But, just in case I'm mistaken and you are looking for help with project management, I recommend Bob Lewis's "Bare Bones Project Management" (Details here).

    It's pretty cheap ($8.95 + S&H) and bypasses a lot of the fluff that's not needed for anything except huge projects.

    --
    Putting the "anal" back into "analyst"...
  23. Use crowdsourcing! by 140Mandak262Jamuna · · Score: 1

    Post all the details of your project requirements, benchmarks, test cases, unit test modules and everything in Slashdot and ask for advice. You see, most slashdotters are jobless fellows who salivate at the idea of working their tails off to solve other peoples' problems. When you reap all the benefit of the contributions and laugh all the way to the bank, make sure your minions do not waste their time reading slashdot. Great Idea, Fellah.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  24. All my management skills I learned by wiredog · · Score: 2, Funny

    in Army Basic Training.

    Which is why I'm not in management...

    1. Re:All my management skills I learned by Lumpy · · Score: 2, Funny

      Because you cant lob a grenade in the direction of the problem to make it go away.

      Corporate America frowns on that.

      --
      Do not look at laser with remaining good eye.
    2. Re:All my management skills I learned by geminidomino · · Score: 2, Funny

      Because you cant lob a grenade in the direction of the problem to make it go away.

      Corporate America frowns on that.

      Pussies.

  25. Use trac for guiding you by chthon · · Score: 1

    The project roadmap feature of trac is nice to help you set up your project.

    First define the partitioning of your project as trac components, so that it is easier to assign tasks, features, bug tracking, etc. Then define your roadmap. Enter features on components as different tickets and assign them accordingly to your roadmap. Maybe you know other systems, but having a good central database for assigning and completing tasks and being able to track progress with it is invaluable. trac is really good and with relatively low overhead compared with other systems to start with.

  26. PMP Credential by Anonymous Coward · · Score: 0

    Project Management is a profession in itself. Contrary to what many have stated here, it is not easy and that is because it encompasses far more than just schedules and budget. If you have a local chapter of PMI near you I recommend you join and pursue a PMP credential. Not only has it made my life easier, it has increased the success rate of my projects by a factor of three.

  27. Rules of Thumb by mseeger · · Score: 3, Interesting
    Some rules of thumb:
    • If someone gives you a time estimate: multiply with two, add one and go to the next bigger unit. E.g. if another developers says he needs one hour, take 3 days. Proceed similar with costs others tell you (unless you have a binding offer).
    • If you give someone else a task: Ask him/her about the current status, tell him what to do, let him repeat it, repeat last two steps until bot descriptions match, repeat all steps the next day.
    • Try to keep meetings smalls, the effectiveness of meetings is inversely proportional to the number of participants. Typical error of beginners is trying to get everyone at one table and to clarify everything there. Usually that burns a lot of time and achieves nothing.
    • Plan for tests, fixing and documentation... Costs typically the same or more time and money as all code development.
    • Be aware of Murphys Law... You can't plan for it, but you can grant it some room in your plans.
    1. Re:Rules of Thumb by analogkid76 · · Score: 1
      "If someone gives you a time estimate: multiply with two, add one and go to the next bigger unit. E.g. if another developers says he needs one hour, take 3 days. Proceed similar with costs others tell you (unless you have a binding offer)."

      Seriously?

      When I tell my manager that something will take approximately 2 weeks, he's NOT going to schedule 5 months. What good is an estimate at all if you're going to give yourself a +/- 1000% margin?

      Where I work, we are asked at a minimum to provide a Class D estimate, which is a ballpark estimate, -25% to +75%.

      My management, in particular, expects that I will have at least a vague clue about how much work is involved in a given activity, and having done similar work before would at least be able to hit it somewhere in the ballpark.

      I like to use PERT estimates, or something similar:
      estimate = (optimistic + (4 * likely) + pessimistic) / 6
      So my 2 weeks (likely) becomes: (1wks + (4 * 2wks) + 6wks) / 6 = 2.5 weeks

      YMMV

    2. Re:Rules of Thumb by bitflip · · Score: 1

      That first one - double the time - makes me laugh because of a true story.

      I was responsible for determining how many servers would be required to consolidate a bunch of older, underutilized servers into a farm environment. I took a good look, and decided that we could do everything we needed to with existing servers.

      Well, that wouldn't work, so I requested two new servers. At least we wouldn't have to worry about end of life of the existing boxes, and there was plenty of budget. Besides, you should always estimate on the high side, right?

      I took that to my manager, who immediately doubled it. Of course, his manager and the PM agreed to double that.

      So, we ordered up eight machines.

      When the project was done, it turned out my original estimate - zero servers - was correct.

      Of course, now that we had a farm of eight machines, we had to come up with a way to manage them. But that's a different project...

    3. Re:Rules of Thumb by mseeger · · Score: 1
      I like to use PERT estimates, or something similar:

      Essentially you are correct. But in this case the question was from someone new to project management. From the conext of the question i took, that those managed by him are as new to being project managed by him as he is project managing them. In that case we probably two effects:

      • They have a lot of difficulties guessing the time needed for a task in an environment where they have to cooperate with others. As a result the time waiting for input and the dependencies from others will be massively underestimated.
      • Most tasks will be small tasks where the answers will be something like 1 hour to 2 days. Estimates for such tasks will usually be off by an incredible factor.

      As a result my formula (if you want to call it like that) will work at first better than expected. If you learn to take estimates from others and they learn to make them, you may move to your formula as it will work better on the long term

      Even as my formula started out as joke once, unluckily it has proven its "value" more than once.

      CU, Martin

    4. Re:Rules of Thumb by analogkid76 · · Score: 1
      I see...

      Yes, when you look at it that way, your answer makes sense.

      Thanks for clarifying.

  28. The Cathedral and the Bazaar by Ron_Fitzgerald · · Score: 1

    The Cathedral and the Bazaar by Eric S. Raymond
    This may be an odd choice for some but I found it a great read for team leaders and project coordinators.

    Eric tends to compare himself and his achievements of fetchmail to that of Linus Torvalds and Linux which I personally found distracting but...off topic.

    --
    ~ Ron Fitzgerald
    1. Re:The Cathedral and the Bazaar by u38cg · · Score: 1

      You obviously haven't found the bit where he talks about chanelling Pan in bed, then. *That* put me off my food for a number of days.

      --
      [FUCK BETA]
  29. Basecamp... by TofuMatt · · Score: 2, Interesting

    Basecamp has been the only thing ever that made me not hate doing PM. http://basecamphq.com/

    --
    -Matthew Riley "TofuMatt" MacPherson
    I have a website
  30. Triple constraint by 93,000 · · Score: 3, Insightful

    Understand the triple constraint, and more importantly, make sure those above you understand it as well. Much like the old adage 'you can have it cheap, fast, or good. pick any two.' Cost, time, and scope. A change to any one affects the others.

    - Due date got moved up? Project just got more expensive or lost a feature or two.
    - Scope increased? It's going to take longer or cost more.
    - funding decreased? Lose features or increase project duration.

    Leave it to the sponsor to determine how to deal, but be certain that they understand how things affect one another.

    Practical Project Management by Michael Dobson is a good intro*. It's clear and uses good examples, without digging too much into the PMBOKish stuff that can be overwhelming when starting out.

    *disclaimer -- I didn't read it all (dove into the PMBOK to prep for the test), but very much liked what I read. Plan to go back to it someday.

  31. Process and execution by torington · · Score: 2, Insightful

    You could go anywhere on this topic. I had a similar experience a couple years ago when I took up some leadership roles. I suppose one big thing for me was to recognize a distinction between process & technique. As you probably know, practically every software project is guided by fundamental process milestones: requirements, design, development, testing, documentation, release. You shouldn't deviate from this, but its up to you how you execute/implement this process ("technique"). That said, random thoughts:
    1. Are you guys using SVN, CVS, VSS, PVCS, etc?
    2. Get the requirements on paper. It'll save your *ss if something wasn't built to expectation. (This is more important if you work directly with clients.)
    3. I agree with above posts: Your goal is to let the developers do their thing. And, perhaps even at this early stage, you probably need them more than they need you.
    4. One hard thing is to say no to your peers/superiors if they infringe your team's priorities or "rights".
    5. Most people don't like regular meetings, but I like status meetings (called with proper frequency) to keep everyone in tune and on schedule. Remember to show them the timelines, and repeat the priorities so that they understand the big picture.
    6. Agile, Waterfall, RUP are formal processes. Google/Wiki it. Scrums are regular stand-up meetings.

    ...etc...etc...

  32. Metastasizing?! by MaerD · · Score: 4, Funny

    At my current workplace, I'm tasked with creating a rather complicated and metastasizing web-database application.

    I don't think that word means what you think it means, unless the "web-database application" moves to new hosts on it's own..

    Metastasis
    a. the transference of disease-producing organisms or of malignant or cancerous cells to other parts of the body by way of the blood or lymphatic vessels or membranous surface.
    b. the condition produced by this.

    Wait, you're trying to tell us you work for skynet, aren't you? Carry on, then.

    --
    I put on my robe and wizard hat..
    1. Re:Metastasizing?! by clodney · · Score: 1

      I thought metastasizing was a perfect word to describe a project where scope creep has been replaced by scope gallop. One where new requirements seem to come from everywhere, sprouting from what was once a tightly defined product.

    2. Re:Metastasizing?! by RAMMS+EIN · · Score: 1

      ``I thought metastasizing was a perfect word to describe a project where scope creep has been replaced by scope gallop. One where new requirements seem to come from everywhere, sprouting from what was once a tightly defined product.''

      My experience is that web applications tend to be like this. The barrier to entry is low and there is often a lot of competition. Once a competitor implements a good idea, there is a lot of pressure to duplicate that idea in your own product. If you opt to go this way, many traditional methods aren't going to do much good (you don't want to spend too much time on things that aren't coding). Rather, you want to engage the customer in the project and let them tell you which features they want while development is ongoing.

      For example, instead of taking a couple of weeks at the beginning to decide on a feature set, write a design document, and get it approved, you may want to have weekly meetings where the customer decides what you will work on in the coming week.

      Regardless of what strategy you employ, the single most important thing is to make sure that you and the customer are on the same page. Make sure you know what the customer wants, and make sure that the customer knows what they will be getting, and, especially, what they are not getting. If you think the customer is making a mistake, be sure to point that out to them. Try to get as many things recorded as possible, so that you can refer back to it later. This avoids misunderstandings and can help clear them up when they do arise.

      --
      Please correct me if I got my facts wrong.
  33. Test driven development by tjwhaynes · · Score: 2, Insightful

    When it comes to writing a good design document, use whatever you feel most comfortable. Yes - UML is a highly expressive way of describing the life cycle of a system but if it isn't familiar to you, you'll be better off with a list of things that it is supposed to do. Ideally, the design document should be readable by every one who has some requirement from the design. This does sometimes mean that you need to split your design into externals (what the customer sees) and internals.

    One technique that I have found to be particularly effective is "test-driven development". That's another buzz-wordy phrase for your resume. However, this one carries significant benefits.

    If at the time you write your design you also write a ready-to-run test suite to test your design, you will write a better, more complete design because you will have been forced to think about the scenarios your design must cope with. Further more, you also have a great way to assess your progress as the design is implemented. If you were thorough in writing your test suite, then you can gauge the functional completeness of your project by simply seeing how many of your tests are running successfully.

    Oddly enough, this approach leads to faster development cycles because you always have a clear picture of what is working, what needs to be implemented still and what is not behaving as expected. It is also pretty motivating to write a couple of hundred lines of code and to be able to quickly run some tests to validate its function and see another two tests click through successfully.

    Cheers,
    Toby Haynes

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
    1. Re:Test driven development by TheRaven64 · · Score: 2, Interesting

      I also like test-driven development. It seems difficult, but the code I've produced using it has generally been better (and, in the end, taken less time) than code I've produced with other techniques. That said, I wonder if anyone has tried combining test-driven development and literate programming. By first writing the documentation, then the tests, then the code, I imagine you would have very few surprises and a polished end product.

      --
      I am TheRaven on Soylent News
    2. Re:Test driven development by wmelnick · · Score: 1

      Agreed. We use Agile and XP (Extreme Programming) at our company. I was part of the pilot group, and having the micro and story tests in place before you write the code helps you write code quicker, better, and with far less stress on your QA group.

  34. Project Management is simple by Anonymous Coward · · Score: 0

    The most important part of project management is whipping programmers so they can make an artificial date. Its important to do this so the code quality can turn to crap and then the project can be cancelled or a new project can be created to redo the first one. What would we do without project management?

  35. Check out FogBugz! by fran · · Score: 2, Interesting

    Check out FogBugz - they even give away a free "startup edition" for 1 or 2 people to use. It's either something you install on your own server, or use the on-demand "hosted" version. I use the latter, and it's great.

    http://www.fogbugz.com

    --
    Yours, Francis Rath
    1. Re:Check out FogBugz! by Boetsj · · Score: 1

      We are using FogBugz, and quite merrily. I feel it's a bit light on the project management side of things, but apparently there's a host of improvements coming up in the upcoming version. The book that goes with version 6.x even states explicitly that you'll probably need some additional tooling for project management, such as a tool to create GANTT-charts and other planning stuff.

  36. The Zachman Framework by Anonymous Coward · · Score: 0

    The Zachman Framework is a great tool for organizing all the information you collect about a project and provides ways to interrelate that information. It's free-form enough to be scalable to all problems (document what you need to, store extra emphasis on things that are important) and it tries hard to not inflict more harm than good (not so rigid that every project can't be implemented in an entirely different if the problem demands so).

  37. PMBOK by crimsonshdw · · Score: 2, Informative

    Having had to go this exact route, I started to take business analysis courses through a local college to compliment the IT knowledge and work through two fields. An excellent resource books is PMBOK http://www.amazon.ca/Guide-Project-Management-Body-Knowledge/dp/193069945X/ref=sr_1_1/190-4122478-2675606?ie=UTF8&s=books&qid=1240410769&sr=1-1. The book is really straight forward in general concepts and will give you a good fundamental understanding of project management. If you wish to follow through, there is a designation certification as well. A lot of project management just comes down to being really good at making flow charts and having a general concept of lengths of 'reasonable' work to complete projects. You have to be really detailed oriented and have good common sense.

  38. Bare Bones Project Management by pjrobar · · Score: 2, Informative

    Bob Lewis's Bare Bones Project Management: What You Can't Not Do would be a good place to start. He writes an IT and project management related column for Infoworld.

  39. UML Reference Martin Fowler by woodsrunner · · Score: 2, Interesting

    Martin Fowler's UML Distilled is a great read. Roughly 200 pages it offers a concise introduction to UML which is a handy way to visualize software design and share ideas in a common and easy to use visual language.

  40. 7 years experience tells me... by Anonymous Coward · · Score: 0

    1. write a COMPLETE spec with deliverables, don't deviate from it.
    2. have your team review, note milestones and blocking issues
    3. add up all the required time inputs from each team member.
    4. Multiple time required by 2 (and budget) and ultimately you will be +-20% of the 2x estimated time and budget.

    good luck young warrior.

  41. Another way to look at it... by Alpha830RulZ · · Score: 5, Insightful

    A lot of good suggestions above. I'll add the following: Project management is the art of creating lists of tasks and getting them done. It's really as simple as that, and it's also more complex.

    You need a list of your requirements. What are the things your system needs to do?

    You need a list of things you'll develop to meet the requirements. These include the pages, the back end modules, the database schema/tables, etc.

    You need a list of the tests you're going to perform.

    You need a list of the steps to move into production.

    The act of creating these lists will force you through the process of thinking through your project. Assigning elements from these lists to other people is how you get the project done. Understanding the dependencies between the items on the list identifies your path through the project. Watching how items get added to these lists lets you know whether your project is under control (high addition/change rate is bad).

    The process of formal project management just codifies certain documentation approaches to the above. You can do everything you need in Excel/word, or use tools like MS-Project. The fancy tools are overkill for a small team/project.

    Many of the disciples of project management lose sight of the fact that a project plan is not the end goal, it's a visualization of the work to be done. When you have enough detail in the plan so you can understand the work to be done well enough to estimate it, assign it, understand the dependencies you need to manage, and report your status to yourself and interested parties, you're done.

    That's my take. I have 20+ years of project management experience, sometimes while being called a project manager.

    --
    I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    1. Re:Another way to look at it... by R2.0 · · Score: 1

      I'll add a fact I learned doing project management for construction projects, both as the contractor and the owner.

      Project Management is people management. Period. All projects require different people to make commitments of resources and results. It is the job of the project manager to control this process. A necessary part of the PM's tool box is the ability to compel people to meet their commitments. If a project manager lacks the ability, by whatever means, to compel compliance (threats, bribery, logic, emotion), the project WILL fail to attain all of its objectives. Period.

      I discovered this after I moved from contracting to owner's rep. As a contractor, I had a great deal of leverage to force people to make their committments - I had their money. Not going to finish on time? That's fine - I'll use the money I was going to pay you to bring someone else in. I continued to have this tool for use with contractors when I went to work for a building owner. But I quickly discovered that many of the commitments to manage were those belonging to other members of my own organization. And I rapidly found out that I couldn't compel them to do shit - I was not in their chain of command, could not activate a disciplinary process, and in many cases couldn't even bribe them - they didn't WANT the project to finish.

      --
      "As God is my witness, I thought turkeys could fly." A. Carlson
    2. Re:Another way to look at it... by cdoggyd · · Score: 1

      Sorry, but PM is much more than "creating lists of tasks and getting them done." PM is about completing the project... 1. on time 2. on budget 3. to the specified level of quality 4. while constantly measuring the 3 items above If you'll be managing more projects in the future, I would seriously look at a certification program based on PMI's PMBOK. The PMBOK is the project management bible. If this is a one-time thing, you can probably get by with one or two good books from Amazon. Since the PMBOK assumes a waterfall methodology, you may need dig deeper into Agile Project Management if you're going to do iterative development.

    3. Re:Another way to look at it... by Alpha830RulZ · · Score: 1

      I think you're confusing goals with the process. Yes, the goal is timely completion within the budget while meeting quality requirements. But how do you approach that?

      I'll stand by my assertion. I've managed projects with budgets of 10,000 man days and more, and brought them in on schedule, as contracted for, and under budget (sometimes). I've managed agile projects with 5 developers. I've managed system integrations, data center moves, packaged software installations, and office moves. It's all lists, of deliverables, dates, requirements, issues, change requests and such. Of course I'm being simplistic above, but I'll challenge to show me much in the PMBOK that doesn't essentially devolve down to a list.

      I also think the PMI certification process is a joke. At least in the software/IT world, there is no surer indication that a PM is of the useless variety than a PMI certificate on the wall. Good project management is a skill, not a job title, that is possessed by a person with domain knowledge of the project being undertaken. The good project managers are called development managers.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    4. Re:Another way to look at it... by cmdean · · Score: 1

      One vital part of project management that is often missed, sadly most often by highly technical folk is the need for communication.

      Every project should specifically address communication. At the beginning of a project the PM should consider and write down, who needs to know "stuff" about this project, for each who, what stuff do they need to know and how will they be informed.

      Examples are progress and budget reports to business owners, milestones achieved to the client, how you will achieve team co-ordination. Other things to consider before you unleash the programming hordes is how you will address schedule changes (usually for worse), how are you going to tell the client and management early enough for them to handle the business implications. Once you have this sorted for a workplace it is mostly templating and cookie cutting for each new project.

        I cannot stress enough how vital it is to include communication as part of your normal PM work. Projects are implemented by technical staff but the owner is the business and they must be able to make business decisions. To make business decisions and to manage business risk, management must have sufficient timely information. As a PM it is your responsibility to ensure that happens.

    5. Re:Another way to look at it... by cerberusss · · Score: 1

      I have 20+ years of project management experience, sometimes while being called a project manager.

      Just curious... What were you being called other times?

      Names? Liar? Scapegoat? Catbert, Destoyer-of-Marriages? Head slave-driver?

      --
      8 of 13 people found this answer helpful. Did you?
    6. Re:Another way to look at it... by Alpha830RulZ · · Score: 1

      Bastard, Shithead, God of Delivery... Slave Driver was in there, as well. A couple of the folks called me "The Best Manager I ever had". They were the same folks who called me "Slave Driver".

      Seriously, I have been variously labeled Manager of IT, Engagement Manager, Product Manager, Program Manager, Business Systems Architect, and Lead Developer.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
  42. Process and Book Suggestions by Laoping · · Score: 3, Interesting

    First I want to say that several of the comments that came before are very good. There is a wide variety of experience and can help you get started.

    I would say start as small as you can and expect to not get it right. Take your big project and break in into a few smaller easier to digest sections. You are going to make mistakes, but as you practice and you get you company more used the process will evolve and work better.

    I won't give you specific examples of process, because I am not familiar with your organization and the process will have to be tailored for you company to work well. I will give you two books I feel are good to help. I read a lot of books on project management and I think these two are very good starter book.

    Information Technology Project Management , Kathy Schwalbe

    and

    Managing Software Development Projects: Formula for Success , Neal Whitten

     

  43. This one is always useful... by Anonymous Coward · · Score: 0
  44. The Fast Forward MBA in Project Management by no+haters · · Score: 2, Informative

    http://www.amazon.com/Fast-Forward-Project-Management-Portable/dp/0470247894

    We used this book for my project management class in grad school. It's very easy to use and seek out specific information. The methodologies it explains are straightforward and easy to implement as well.

  45. Some recommended reading by Stop+A · · Score: 3, Insightful

    I've been a project manager for a couple of years now. Still have lots to learn. The basics:
    - Scope: Define the project and what it's going to deliver.
    - Requirements: Define the finish line, what's the product or service your project is going to deliver.
    - ONE BUSINESS OWNER/SPONSER: Who has the purse-strings and will sign off on the completion of the project.
    - Activities and Milestones: Define what needs to be done and pick off some deliverables on the way to completion, so you can show everyone (and yourself) you're making progress.
    - Schedule: Put the activities and milestones on the calendar. Do you have people who can complete those activities and deliver the milestones? (Have you factored in vacation time...?)

    Some recommended reading:
    Head First PMP--the PMBOK is dry, Head First made it very accessible.
    The Art of Project Management, by Scott Berkun--Learned a lot from this book. I come back to it time and again for ideas.
    Managing Humans, by Michael Lopp--Enjoyable read, got some good ideas. A lot of the chapters in the book can be found at www.randsinrepose.com

    Another recommendation: Get a mentor. Check out the local PMI chapter (www.pmi.org) and see if they have a mentoring program.

    Good luck!

  46. Do something radical... by stonewolf · · Score: 3, Interesting

    Hire an experienced person on contract to get you started and mentor/teach your team how to do a professional job of software development.

    Stonewolf

    1. Re:Do something radical... by Anonymous Coward · · Score: 0

      Hire an experienced person on contract to get you started and mentor/teach your team how to do a professional job of software development.

      If you can get the funding, this is by far the best advice posted. Spending time working with a good, experienced mentor, even if only for the initial stages of a project, is fantastically beneficial, much more beneficial than reading dozens of books, attending a bunch of training classes and spending hour upon hour perusing websites.

    2. Re:Do something radical... by Anonymous Coward · · Score: 0

      If you want to work on programming stuff and work with a team you NEED a standard language. UML is quite good as it is simple and tries not to enforce any particular programming language.

      Also if you don't already know, get an understanding of what the current programming languages are used for...As things move on it becomes easier to program stuff, so the price goes down and more people can learn it sucessfully (and provide support and examples).

      When you have a full spec and all the diagrams to make a working program, work out what is the simplest way to code and test each module (for sign-off by colleage or thrid party). Then methodically link the Classes together (testing as you go) to make your finished app!

      Most software are delayed and many fails to achieve what people want, Take some time to reasearch into why this happens and don't make the same mistakes! Goverment is partucularly good at getting things wrong!

  47. Do It Like My Project Manager by aquatone282 · · Score: 1

    Refer to yourself as "The Architect," then hire a couple of people to clean-up after you're done "architecting."

    --
    What?
  48. ONE book? by DigitalCrackPipe · · Score: 1

    I understand that you don't want to read 5000 pages right now to get up to speed, but I suggest that you're aiming low if you think you're going to get all of your management knowledge from one book. Consider one book now to get you on track for your current effort, but to really get good at it you will probably need to absorb (and process) information from several sources to come up with all of the detail you need in your unique environment.

  49. Is it an actual project by geekoid · · Score: 1

    with many people, or is it just you?

    If it is people, pmbok. Most college offer some sort of basic class geared towards pmbok. Take some.

    If it is just you, then create and archetecture, modularize it, then break all the moduals down into code(pseudo) chucnks, then break the chunks into bit.
    Then start programming.

    Naturally every step requires communication with stake holders. Identify them immediatly.
    Look up what a stake holder is, most people don't actual know how to identify stake holders.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Is it an actual project by ckaminski · · Score: 1


      Naturally every step requires communication with stake holders. Identify them immediatly.
      Look up what a stake holder is, most people don't actual know how to identify stake holders.
      </quote>

      I'll give you a hint. Users are not usually stakeholders. And stakeholders are not usually users. Oh how obtuse was that? Lol.

  50. Your Doomed by Anonymous Coward · · Score: 0

    If you are asking at the stage where things "are starting to get hairy" then it is too late. All is lost. It is time to open the third envelope. Your only hope is to hire a mean program manager to save you. Just stay behind them and do what ever they say!

    1. Re:Your Doomed by ckaminski · · Score: 1

      I don't think you're doomed. I would agree that things are indeed hairy, but any sort of organization and process you can bring to the table at any point is only going to help you. At the very least, it's going to let you triage your current state and figure out what to cut and what's just not doable and able to be punted to a 2.0 release. Baby steps.

  51. Want to say thanks to everyone's input by smooth+wombat · · Score: 3, Interesting

    I'm glad this question was posted because I have come to the conclusion that no matter how good I am at my current job, I'm bored and need to continue to advance myself. Unfortunately, because I work in a government environment, upgrading your skills is somewhat difficult due to union regulations about who does what as well as the whole "who you know" nonsense.

    As a result, I've taken stock of what skills I do have and have realized the "Those who can't, teach" rule applies to me and will (hopefully) be shifting gears in the (very) near future. Specifically, project management.

    If all goes well, I'll be heading back to school in the fall (while still working) to get a degree in IT Project Management using both credits I've earned in other computer classes as well as life experiences. I'm still waiting on word from the school as to how many credits I can transfer so we have an idea of what classes I need to take.

    The information provided here, some of which I already knew about, is invaluable and while I'm one of those who will bitch about the cruft you folks sometimes write when responding, the responses so far are probably the most informative I've seen in a long time.

    Thanks again and keep those suggestions coming.

    P.S. If anyone has an opening for a low level PM, drop me a note. Organization and the ability to see the entire project, and in what order things need to be done, are my forté.

    --
    We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
  52. A good book... by iso-cop · · Score: 1

    Managing Software Development Projects by Neal Whitten is approachable and has been very helpful to me.

  53. paperwork by Anonymous Coward · · Score: 0

    As far as I can tell from how the last project I was on at my current employer, there are 2 things to keep in mind:

    1. If you need someone on another team to support your project and they tell you that they already have stuff to do and you need to get in line behind other folks with important needs who had the foresight to plan and schedule the work, call up everyone you know at the next level up and argue until you get what you want NOW.
    2. Never EVER allow timesheets to be late. If a team member is late in submitting a timesheet, call them in for a 1:1 to tell them how serious this issue is and could result in disciplinary action.

    Those two should get you to the point where the software is in production. You can then take vacation while the rest of the team (that just finished working 24/7 for nearly a week) spends the next couple of weeks patching up all the holes in the system.

  54. Are you an ACM member? by richardkelleher · · Score: 1

    ACM offers many online courses in project management. Most of these are free to members.

  55. Website reference by Anonymous Coward · · Score: 0

    Also take a look at http://www.jrothman.com/

  56. Lean Development by CyberDong · · Score: 1
    Mary Poppendieck does a good job of translating the manufacturing paragdigm of Just-In-Time manufacturing to the software development process...

    I personally really related to these, as I'm a software guy with a Mechanical Engineering degree...

  57. Best advice: hire winners with proven track record by Anonymous Coward · · Score: 0

    If you hire a good team, everything will take care of itself. The most important qualification is a history of successful, completed, on time, on budget projects.

    Cheers

  58. Don't use Software by Anonymous Coward · · Score: 0

    For your first project don't use any kind of software do it all manually.

    I find this is the biggest problem. I manage MS Project Server for my company and can't stand it how people expect the software to do the planning and management.

    MS Project is a great toolset but it is only that.. a tool.. A hammer doesn't build a house its all the planning and knowledge of building a house that gets the job done.

    PMI is a great resource but don't take everything they do as it is written in stone. It is designed for huge projects and even at that they don't expect you to use all the methods on every project. I love PMI and PMP books but it is a quick way for a beginner to get confused.

  59. Re: Making things happen by Anonymous Coward · · Score: 1, Insightful

    Here's my 3 steps for getting started before buying a book or doing anything else:

    1) I'd recommend talking to your team, individually, about what things on the project are most frustrating or could be improved.

    2) In each conversation ask for their advice on what you can do, and also what they are willing to do or try

    3) Based on your conversations, propose one simple change that has the best odds of both being accepted, and improving things. If the team has lots of conflicts, pick something very small. If there is too much dissension, pick something you can do with just one or two others.

    4) Then make the change.

    5) If things go poorly go back to #1.

    6) If things go well, propose the next thing from #3.

    But without talking to your team, and without establishing credibility and leadership, no book, degree, or IQ, will be of any use to you as a project manager. Start with your team first and earn their trust.

    P.S. The book was originally called The art of project management. Making things happen is the 2nd edition, and heavily revised, version of the book.

    - Scott Berkun, Author of Making Things Happen

  60. An Agile sphincter by stimpleton · · Score: 1

    This guy wrote an amusing piece on Agile methodolgy.

    I like this bit: "If you plan on using Agile to get out of writing proper documentation, then get ready to agile your sphincter for the angry client."

    --

    In post Patriot Act America, the library books scan you.
  61. Get a project manager by Anonymous Coward · · Score: 0

    IMHO you need to get someone who knows what they are doing. There are project managers and there are successful project managers. You are not going to pick up a book and walla Project Management knowledge flows in.

  62. Anything by... by ebbe11 · · Score: 1
    --

    My opinion? See above.
  63. Project Managment = Herding Cats by schlpbch · · Score: 1

    A book I warmly recommend reading is

    Herding Cats: A Primer for Programmers Who Lead Programmers

    (http://www.amazon.com/Herding-Cats-Primer-Programmers-Lead/dp/B001ULCL1Y)

    IMHO the title says it all, it's funny and enlighten to read and gives a good introduction from the point of view of a programmer who slipt into PM. I especially enjoyed its categorization of programmers into different brands.

  64. Get a real PM... by Anonymous Coward · · Score: 0

    This is referred to in project management as the "Halo Effect", i.e. where a team member who is technically talented (YOU) is handed the PM role just because you're good at one thing and will naturally be great at another. Convince your company to hire a real PM...

  65. Parent AC is from Scott Berkun by Fencepost · · Score: 1

    Mod the parent AC post (#27677421) up, it's from the author of Making Things Happen. Genuineness based on him linking directly to it from his blog.

    --
    fencepost
    just a little off
  66. Get yourself a good management tool by Jane+Q.+Public · · Score: 1

    like pivotaltracker.com, if you are doing Agile-style work. As long as you define your goals properly (which, in essence, equals a definition of your project), then you can use your management tool to keep track of what is done, what needs doing, priorities, estimated times for completion, actual times used, etc.

  67. I suggest to look into Scrum by angel'o'sphere · · Score: 1

    First thing is: forget about milestones. Milestones have 2 problems: first they put a fixed date for delivery, that means a fixed amount of time. Second they assume a fixed amount of work done until that Milestone. And finally they assume the work aka code is "finished", "polished" and tested.

    Currently you say that you want to do better estimates ... with no experience and likely no reference data this is nearly impossible to do with milestones.

    The most important thing is to get an idea about your "speed" or "velocity".

    In agile methods like Scrum (see here http://www.controlchaos.com/about/) or eXtreme Programming you try to work in fixed iterations of e.g. 3 weeks (you can define your own length like 2 weeks or 4)

    You put everything you can think about into a prioritized "to do list", often called "backlog". The customer has to prioritize. Your goal is to plan for the next iteration, usually called a sprint. Just take the as many high prioritized items from the backlog into your sprint.

    After the first sprints you likely realize that you put always to much work into one sprint (the same would happen in a milestone but with worth consequences). The point is: now you get a feeling for your velocity. You can react on this by changing the sprint length (4 weeks, advantage: less overhead in planing, disadvantage: longer feed back circles from the customer), or by stuffing or by tools or by changing priority of features. The managers are now in the position to be able to manage.

    In the long run you will have to break down items on the backlog in useable small work load items. It does not make sense to have one item with estimated work of 100 hours and 15 items with estimated work of 20 hours and 50 items with estimated work of 6 hours in your current sprint. One rule of thumb is: no backlog item should have more work assigned than 16h (I personally prefer 8h). If you have bigger items, try to split them. E.g. pan to "analyze" a certain problem in this sprint, assign 16h for use cases/stories/or what ever specification you use, 8h for architecture or database design, 8h for a rough code concept. Put the implementation of this into the following sprint!! So you can get feedback between sprints.

    After a few sprints you will be able to put "the right amount" of work into your sprint and yout estimates on the items in the backlog become better. Remember Joh? Two sprints ago we estimated that tricky stored procedure to take 16h but we nearly needed a week for it. Lets better estimate this one on 20h instead!

    The problem with milestone based planning and GANNT diagrams is: every work piece has an amount of time associated + a buffer. The buffer is always an uncertainty that is added so a chain of tasks add up their buffers. Starting times of tasks in the future are unnecessary far in the future, nevertheless buffers tend to get used up. Nevertheless there will be buffers that are to small, because the complete task was estimated completely wrong. Bottom line on a small GANNT diagram with 4 parallel _big_ work flows (like backend development, frontend development, database development, testing), all consisting of roughly 25 tasks (done in parallel or sequential) you have bottom line 100 task, all with a buffer. The likely hood that you reach your milestone in time is basically very close to zero.

    I don't want to come to the conclusion that GANNT based planning does _NOT_ work, e.g. you can add also buffers at the beginning of the tasks ... but I don't want to go into this.

    However in your situation you will be likely completely overwhelmed by simple tools like MS Project or other GANNT tools.

    Regarding your question: UML is the right thing. It always is, no matter what other zealots say. The question is what kind of diagrams and with what kind of elements do you want to use? For the database ER diagrams might be enough, but what about "flow charts" (in UML called activity diagra

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  68. simproject the project management simulation game by Anonymous Coward · · Score: 0

    http://simproject.sourceforge.net/

  69. Project sponsor controls scope changes, not the PM by luckiecanuck · · Score: 1

    Ummm, the Project Manager should NEVER say that scope cannot be added. That's not the PM's job nor their responsibility. Any changes to scope are the prerogative of the sponsor (eg. he who pays the bills gets to decide what is important). However, that being said, the PM should never factor any change of scope into the "plan/budget/scope" until they have received _signed_ instructions (formal or e-mail) from the sponsor.

  70. Hitlists, monitoring, documentation by wdef · · Score: 1
    I have a background in other knowledge-based sectors at widely differing levels and scales, often in a facilitatory development or contract management role, before getting involved with software.

    Here is some generic advice that relates to any type of project:

    1. Document everything and circulate it. Every meeting has brief notes and actions. All decisions are noted. Not everyone will even look at these, that's not the point though - these are are there mainly for you to go back into the history of an issue. This can be a lifesaver. Think about basic principles of QA as these apply to project management: document, document, document some more, and monitor.

    2. Use hitlists to capture every pending action and set a due by date and an owner for that action is who responsible for it. This is particularly important for cross-team or multi contractor work, Archive closed actions. Google spreadsheets works well for this - the hitlist becomes the meeting record and automatically sets most of the agenda for the next meeting.

    3. Someone needs to be in charge of the schedule, probably you. That needs to be reviewed with the stakeholders and team regularly.

    4. Understand that the best laid project plans by mice and men will change in practice. Be flexible and adapt, be pragmatic. Don't get neurotically wed to your plan. Rigidity is death. Don't champion a lost cause or you'll be lost.

    5. Be accommodating and allow yourself and other people space to fall into their best roles. Being overly territorial will go badly for you, since these roles in organizations can be subject to very complex political forces. Help move people away from what they don't do well, By the same token, you do it if you know you do it well.

    6. When working with senior management, look out for their backs, know when to shut up and when not to (opt for the former whenever in doubt) and give their reuptations plenty of room to grow healthily, or they'll crush you like a fly. The best idea you'll ever have is the one they adopt and champion. Be expansive and generous with ideas with others though this is best done when your boss can hear it. By the same token be careful not to belittle colleagues, though it can happen even without intending it. People can take years to forget a slight, if they ever do.

    7. Be proactive. See what needs to be done and start it. Get permission to do it if you can or need to, otherwise it is better to apologize than ask permission when something highly useful is at stake. Head problems off that you are responsible for before they get serious, if you can't then flag that these are coming in advance. Don't drop bad surprises on people in meetings whenever avoidable. Leave other managers problems alone at least in front of others (especially superiors), don't cross territory without discussing it privately first. Keep your team away from work that involves someone that doesn't like you, if they are nasty they may be setting you up for a fall, though for more senior staff this isn't usually worth the effort.

  71. Recommended books by azadrozny · · Score: 1
    I think these books are a great starting place to learn how a good manager operates.
    • The Career Programmer is written mostly from the programmer's perspective, but gives a lot of advice on how managers and programmers can work together to achieve the project's goals.
    • Software Project Survival Guide has a lot of good information on how to run a successful project.
    • The Mythical Man-Month has been around for a long time, and has a lot of good management advice.
  72. Two major types of PM by Anonymous Coward · · Score: 0

    There are two major types of PMs

    1. Generic PM - without any subject matter expertise (SME) - just a degree from PMI (cheap 45K-65k)
    2. SME PM - same as 1 but with SME (expensive 85K-150K)

    You need to decide where you want to go. Currently I am a PM with SME in Financial Market Data and currently contracting for $100/hr. But if I do PM work in a web/media company my rate will be $55/hr. - you see the difference!

    Tools you need to learn.

    1. How to write Emails - this is probably the most important thing in this role. Correct English and ease of reading is important - learn how outlook can help you on that.
    2. How to conduct PRODUCTIVE meetings/conference calls
    3. Learn Excel - you should be at the level where you know where and how to use PIVOT tables
    4. Learn Microsoft project - I mean learn it very very well at the level where you can do cost estimation with it.

    That's just the tools - since I can only tell you the skills what you must have. Then there are lots of books and people who you can imitate - don't feel bad, first you imitate, then you will have your own style.

    Hope this helps

    1. Re:Two major types of PM by Anonymous Coward · · Score: 0

      There is a 3rd type of PM: Generic PM with no SME, big attitude, and bills at $125-150/hr. These people schedule too many meetings with way too many people, complain about lack of resources/budget, then negotiate schedules by reducing features until only the tiniest amount of functionality is promised to be delivered. In large organizations they can tread water for 2-4 years and never produce anything by performing "risk reduction phases" or "vendor partnership workshops" or "inception iteration re-assessments", milking all the billable hours they can get before finally being tossed out the door.

  73. Josh Nankivel by joshnankivel · · Score: 1

    I wrote about using Use Cases and scenarios as a project manager without a lot of the involved UML. Works well for me. There are a lot of posts on various topics written by many experienced project managers on pmStudent.com...just use the search bar on the right.

  74. Focus by zmooc · · Score: 1

    You've lost focus already before you started. Project management is not about reading books, using uml or not or whatever. Project management is about knowing what needs to be done and ensuring it gets done in time. So, instead of reading a book, what you should do is:

    1. Ensure you know what needs to be done (this involves things like requirements, customers, deadlines, versions, quality assurance etc.)
    2. Make a plan on how to get that done (this involves things like requirements engineers, software engineers, designs, infrastructure, issues trackers, milestone releases etc.)
    3. Identify risks and adjust the plan so that you have time to handle those risks (things like 3rd party bugs, engineers dying, hardware failures, requirements changing, performance failing, forgetting what needs to be done, the project team being incompetent etc.)

    Repeat this until the project is finished. It's that simple. And that hard at the same time. Your job as a project manager is to continuously evaluate the state of the project and working towards a state in which you feel confident about the road ahead. If you do that properly, there's a small change your project will be a success. But to ensure success, you have to plan for utter failure.

    --
    0x or or snor perron?!
  75. Focus on the high-level objectives and the spec by Anonymous Coward · · Score: 0

    There are a ton of good comments here, but given your question -- and you seemed to sense this -- I would start with defining your objectives. Start with a high-level project objective, and then move into the spec phase. This will provide a clear roadmap for you or anyone else who needs to estimate the work as input into a project schedule.

    A great post about specs was written by Joel Spolsky and can be found at:
    http://www.joelonsoftware.com/articles/fog0000000036.html

    Regards,
    Dave Moran
    http://softwareresults.blogspot.com/