views:

303

answers:

2

Is PMBOK more for after implementing software is built, delivering it to the customer while Agile or Scrum is more for building the software in the first place? Just trying to understand.

Thank you.

EDIT: My main concern is the PMBOK. They use it a lot where I work but not for development (they implement with it.) They don't develop a lot and so I have no way of asking, "Hey, what do you use for development?" I have to come up with the best plan on my own. I really don't care a whole lot about being PMP certified but if that's the best way to go to develop software using PMBOK I can justify learning it. If scrum or agile is the best way, then I'd rather use that and be successful than have a pmp by my name.

A: 

PMBOK is just a naff industry standard used to give the management in organization A who don't know any better the (false) peace of mind that organization B is doing things in the 'correct' PMI certified way.

Scrum as Pedro said is an agile project management technique that revolves around working in fixed iterations which is highly regarded by most software professionals. Although Scrum doesn't prescribe any engineering techniques it is commonly used in conjunction with the engineering techniques outlined in XP (Extreme Programming) such as pair programming and continuous integration.

For business reasons some companies have to at least appear to follow PMI, CMMI or ISO in order to win work, but in reality most serious software shops are practicing agile techniques such as scrum/xp/kanban behind the scenes.

ChrisInCambo
I have been wondering about the appearance aspect for a while.
johnny
+3  A: 

Hi Johnny,

Well I can answer this question from my real world experience being both a PMP certified implementer of enterprise software solutions as well as an experienced Agile PM having managed a team of 14 in a Hybrid Agile software development project.

When implementing COTS (commercial off the shelf) software I find that the PMBOK can be followed quite closely. If followed to a "T" the PMBOK will steer you down the path of a "Waterfall" methodology. If you are not familiar with Waterfall, this is the approach where most of your project time is spent early in the project gathering requirements, performing design, estimating, etc. Build or development comes much later in the process. The reason this approach works well for software implementations is because the customer generally wants to know the cost upfront for the project. The only real accurate way to determine the project cost is to follow the waterfall approach...at least initially.

The Agile/Scrum methodologies work much better for building software. When I say build I mean the entire build process from design, development, testing, etc. I won't go into the differences between what is covered in the PMBOK, Waterfall or Agile methodologies as that is not what you asked. Agile is very much about iterative design & build, and less up-front design. In agile you want to iterate quick, and perform JIT (just-in-time) requirements gathering (using storing), design, build and testing (TDD). This reduces the amount of waste and produces usable software earlier in the project. Agile has many benefits to software development projects.

Now what I have found helpful is taking the waterfall approach as far as you need to build an accurate estimate and resource plan. Once that is complete you can switch in more of the agile processes to finish off your project.

Remember not to confuse the PMBOK with an methodology. PMBOK is a set of industry standard processes that can be followed to deliver a project; not just a software project, it could be engineering, municipal planning, etc. There are many parts of the PMBOk that are beneficial in the software development world such as: communication planning, risk planning, project close-off, etc.

It's a pretty broad subject so I hope this helps you make the appropriate decision for your project. Remember one size does not fit all.

NateReid
Thank you for this great answer. On paragraph three you have "the entire build process..." Does that include the initial requirements gathering or even before. I'm trying to get just past the "I've got an idea" to the first sit down to brainstorm. I think that is a step or so behind requirements gathering. It's more of where do I start - more like, "Okay, I'd got a good idea for a project. Now what?" Where does that "Now What?" question fall in the Agile/Scrum methodology?Thank you again.
johnny
"I have an idea" is your initial basis of your project. You hone that a little to understand the framework of what your project will entail but don't overdue your analysis. "Now What" is where you actually get into the requirements gathering. In Agile you'll want what we call "user stories" that are the basis of your requirements. A user story is written by the user..example is..."Order is placed when I click the submit button". Once your receive the story sit down with the entire project team and decompose the story into small "iteration stories" or "tasks".
NateReid
The user story could take one or more iteration stories to complete but they scope of your user story should remain small. After you have a few user stories your now starting to build your product backlog, start prioritizing the backlog and now your starting the release planning process. :)
NateReid
can you recommend a good beginner book that will actually help me with a real project? one of the problems I have with pmbok is the guide seems like a dictionary. I am looking for something that takes agile/scrum and starts from the very beginning of an idea to it's completion and not just a reprinting of philosophy (though, of course, it should have that as it's guiding principle.)
johnny
I unfortunately can't recommend a book on the subject that I have personally read but I have had good luck reading various blog posts on the subject. I also have a good powerpoint on agile that I authored which I can send to you. Please email me at nathan.m.reid at gmail.com and I will send it to you.
NateReid
For agile/scrum, I'd highly recommend User Stories Applied by Mike Cohn - it takes a "story-based" approach.
Jeremy McGee