Project Management Techniques (high level)

Loading...

Project Management Techniques (high level)

Our software dev team is currently using kanban for our development lifecycles, and, from the reasonably short experience of a few months, I think it's going quite well (certainly compared to a few months ago when we didn't really have a methodology).
Our team, however, is directed to do work defined by project managers (not software project managers, just general business), and they're using the PMBOK methodology. 
Question is, how does a traditional methodology like PMBOK, Prince2 etc fit with a lean software development methodology like kanban or scrum? Is it just wasting everyone's time as all the requirements are effectively drawn up to start with (although inevitably changed along the way)?

Solutions/Answers:

Answer 1:

I’m not a massive expert in this area. But I think that you can try two things here:

1 Use a Kanban board to visualise the PMBOK/Prince2 process that’s being used. Simply show the Project Managers this ‘visualisation aid’, for me that’s what Kanban is for – showing you where you have bottlenecks and blockers. Assuming you get the usual waterfall style problems, you’ll be able to show this on your Kanban board as the workflow gets slowed or blocked at various points. You can then use this as a starting point to get them to come around to agreeing to letting you run the project in a more agile manner.

And/Or

2 Take the requirements and split it into a Kanban style project anyhow, but do some analysis/preparation up front on how you can report progress back to the Project Managers in a Prince2/PMBOK manner (that will be comfortable to them). You might find that the PM’s don’t care how you run the project, as long as the reporting meets their needs.

Answer 2:

Other responders got it right that Kanban can be used to map out your existing process and be a great visual tool. But there is more to it.

Limiting WIP (work-in-progress) works even if you have all requirements up-front. When you have 100 features in the backlog at the start, you can still limit your work to, say 5 (depending on your team capacity) and focus on finishing them. The requirements will change inevitably, but the changes won’t affect the features you haven’t started yet. One of the lean principles is to eliminate waste, and one of the kinds of waste is excessive inventory – this is how you can reduce it.

Kanban is an engine for improvement. When you begin using Kanban, it may only a management tool for moving work items from requirements to completion. But, with time, it makes you understand your workflows deeper and suggests improvements to the process.

To answer the question in the third paragraph of the original post, adopting Scrum would mean changing people’s roles and the process. You would immediately create a conflict with your project managers.

Answer 3:

Don’t have enough points to vote up karianna but I agree with him. I moved from developer -> software PM -> Project manager which is now expected to do PMP/Prince2 reporting on software projects.
It is fairly simple to map any agile/kanban method to fit within the Prince2/PMP structure. In the end the only reason people want/need this is to see the progress! So if you can visually show the progress/bottle necks and risks then I can’t see any PM insisting on anything else.

As far as requrements go, I would also tend to let the business requrements not get too detailed so that the developers themselves decide how best to break it down into smaller detailed tasks. It is possible, you just have to sit down with the PM and discuss his/her (reporting) requirements and then see how you can provide him/her with it.

References

Loading...

What is the best way to approach visualization projects?

Loading...

What is the best way to approach visualization projects?

I work on several areas related to information visualization, linked data, computer vision and other stuff, so mainly front-end. I am not really happy with the fact that visualizations take lots of iterations and lots of time from first prototype to production ready code. So here is the question: what can I do to improve that?
Sometimes we do a prototype in few hours, add something, do another prototype, rewrite it to use jQuery instead of Prototype because it's a better fit and so on and so forth, but almost all visualizations go trough 15-20 iterations (sometimes taking up to few months of development time - the code will also go from the 300 lines of the initial prototype to 2000 or 3000 lines due to evolving requirements and iterations). Since I am working at multiple projects, from my point of view the fact that sometimes it can take months is not a problem, just that I am not really happy, as I could do 40 visualizations per year instead of 15 for example, if I would only be able to improve this process by reducing the number of iterations or by any other means.

Solutions/Answers:

Answer 1:

Information is beautiful is a good site to keep reading. It has some truly amazing visualisation of data.

What is vital is to understand what the end users wants and how to display it in an informative way. Using such tools as R, you can mock up some graphs easily and fast to make sure that your users know what they are getting. Having a portfolio of visualisation does help as well as this can serve as a basis for your new project — in the same way as the above link can.

Finally, start (really) simple and add complexity later on. This does mean you will have to refactor large chunk of your code.

From comment: How do you know at which iteration to stop, provided that your code does not have serious bugs?

  • The mercenary approach: when the money the client gave you runs out.
  • The academic approach: when you can write a paper about it.
  • The pragmatic approach: when all your other projects have trumped this one.
  • The perfectionist approach: My children’s children’s children will still be working on this.

For myself, it is when the visualisation tells me things I did not know or expect about my data. Once that is done, I either understand the data (thus write a paper) or the data is incomplete in some sense (new hypothesis time).

References

Loading...