Posts Tagged ‘Project Management’

Agile software development and project management has become much more mainstream in recent years.  This is reflected in the increasing  number of blogs and books available on the subject.  But for someone approaching the subject fresh it can seem somewhat overwhelming and unclear where to start.  It can also look like you have to go read 20 books just to understand it.  Which is unfortunate as underpinning the whole approach are some very clear and simple edicts from the Agile Manifesto :-

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Agile then in it’s purest simplest form is about removing layers of complexity and unnecessary paperwork and processes in software development.  It is really about working closely with the customers and end users and iteratively evolving the software to meet their needs.  Understanding these principles is important and can serve as a guide to understanding how to navigate through the many agile techniques and tools.

Agile projects still contain the same kind of ingredients as any software development project namely

  • gathering and documenting requirements
  • planning and estimating
  • development cycles
  • testing
  • managing change

Where Agile often differs from other software development approaches is in the quantity and order of these ingredients in the recipe, by doing just enough requirements gathering and iterating quickly through build/feedback loops.  Estimating is still important to see what areas can be addressed during those iterations but often actual team velocity as measured through initial iterations is a better guide to future progress.  You don’t plan too far ahead so the next iteration can be determined based on emerging requirements or understanding.

The tools of an Agile team

Often associated to Agile projects but really just pragmatic best practise techniques versus anything inherent in an Agile approach

  • User centric stories to describe requirements leading to Agile goal of less documentation
  • Wireframing visual design – much quicker and easier to change than developing UI using software
  • Relative estimation and team based estimating
  • Time boxed iterations
  • Test driven development
  • Retrospective review cycles
  • Automated and continuous build/integration

However which of these you choose to adopt very much depends on the needs of the project and the situation at hand.  Keeping it simple is key as well as adapting based on the experience of both the team and client.  Trying to get a team to adopt new approaches completely alien to them will often result in failure.  In the end Agile should be about people interacting which should be very natural and processes and procedures should be minimal and not interfere with progress.

In the end you need to adopt the approaches, techniques and tools that are appropriate to the project, team and client and this will often vary.  Agile techniques can be very effective but the key is embracing the underlying principles as outlined in the manifesto and not getting lost in acronyms and debates about methodologies.

Useful resources on Agile approaches



Read Full Post »

Eventually you realise that email just doesn’t cut it when it comes to collaborating, especially when working with a team of people even for a short period of time on only a small number of documents.  What you really need is a team collaboration space.

A team collaboration tool should offer some or all of the following :-

  • Web based project space for each project
  • Ability to invite people to join the project space (this could be both colleagues and external clients/partners)
  • Sharing of documents – should offer transparent version control, check-in/check-out
  • Wiki pages to share information (ie meeting notes, reference information, project objectives, status reports etc)
  • Forums/blogs for sharing information within the team
  • Calendar capability to specify events related to the team
  • Ticketing system for assigning ownership and tracking of tasks/actions
  • Full text search across all content or particular types of content
  • Integration to instant messaging tools to have team chat conversations recorded in project space
  • If used for technical projects could also include integrated source code control and build automation tools
  • Integration to other services such as Yammer (think closed Twitter for internal company use).  Yammer group updates could be shown in project space

Alot of these tools exist and such shared project spaces is really about assembling these tools together and enabling rapid configuration of new spaces as needed.

Providing these kind of tools can make a big impact on productivity.  It reduces problems related to what is the latest version of a document, or islands of information locked in people’s local machines or inboxes.  This issue becomes most apparent when someone new joins a project and you then have to try and forward all related emails or documents, with a project space everything would be available in one single place with a full history of progress.

Some solutions in this space are as follows :-

  • Basecamp – SaaS service with subscription model, free version available with some limits which is worth trying to seeing if offers what you need
  • OForge – open source assembled solution includes wiki, ticketing, svn, build tool integration
  • Alfresco Share – open source solution with strong document management core, search, blogs/forums, wiki’s, calendar

Additional useful tools include web conferencing with desktop share/whiteboards/chat/video such as Adobe ConnectNow (free for up to 3 people) and DimDim (free for up to 20 people).

Adopting tools such as this can sometimes be the hardest part – the only way is to trial it for one project and gain familiarity with some key features such as document management and wiki’s and then use it more and more as confidence and experience grows.  Experience shows that once people get used to the benefits they get from having all the information they need in one place they never want to return to the days of chasing others for documents and meeting notes.

Read Full Post »