@TobiasTernent

GitHub: Tobias-Ternent

Thursday, 23 June 2016

Managing technical projects: Documentation & Planning

Managing a technical project means that all parts need to have proper oversight in order to encourage and instill "agile" DevOps. This means you have to have the right tools available to be able to track all the work that needs to be done, the plans, sketches, architecture, design decisions, relationships, coupling, issues, short/medium/long-term goals, timetables, etc. Literally anything to do with planning and implementing a project. An example of that is this documentation.

Tools come in 3 payment flavours:  Free, Paid, and Hosted.
  • Often a tool will give you good or limited functionality for free, then ask you to pay for multiple user licences or to have all the features you want.
  • This could be a one-time free, for a monthly/yearly subscription according to needs.
  • Finally, in the case of more complex tools that need to be run on a server, they can instead be hosted for a monthly subscription fee.
E.g.
  1. Google accounts are free, and which gives you an allowance for email and document editing/storage to a certain limit. If you want more space, you need to pay a yearly subscription.
  2. JIRA can be purchased for a 1-time $10 fee for up to 10 user accounts, with 1 year of updates. There is no recurring charges, but no updates will be applied without a licence update. This would need to be hosted on your own server. Alternatively, JIRA can be hosted by Atlassian themselves for $10/month.

Documentation
What tools should be used for documentation? Where should it be stored? How would it be accessed? What are best practices to follow?

Currently my own personal notes are written in OneNote, and Synced to OneDrive. It's free to use (with a Microsoft account) on Windows, OSX, Android, iOS, Linux (browser), and it's a very powerful note taking tool. For now it's fulfilling my needs because I can privately share, edit and organise the pages very easily, as well has a plethora of rich text formatting.

An alternative to OneNote would to use Google Docs and save the documents to Google Drive using a Google account. This is perhaps the next best thing, but it lacks some flexibility when it comes to pasting in content wherever on the page its needed, or having separate pages easily under one Section tab. This would is free as well, with browser and mobile device tools, with paid-for business support available too.

Another alternative is Evernote. I have attempted to use Evernote, but I found it unintuitive for sharing notes. Tagging is good, but sharing and collaborating seems less good. Sharing can be done through messaging/Work Chat to invite others to view/edit/invite a note. There is no organization, it has to be looked up through the Work Chat tab. Searching doesn't work on shared Work Chat notes, and they can't be tagged either. It's free, and there are paid accounts available too. Evernote also lets you sort by creation/date edited/title, not by any custom order.

A more "robust" system to use is Confluence. It's part of the Atlassian ecosphere. The main benefit it has, apart from being very stable and usable within the web browser, is that you have good control over user permissions, organizing spaces, and integration with other good Atlassian products (e.g. JIRA, more on that later). For small teams, pricing is $10/month hosted, for $10 one-off fee (to charity) self-hosted (12 months of updates, 10 users). And then it goes up from there.

There are lots of alternatives out there, free hosted, hosted: XWiki, etc.

Planning
JIRA Software from Atlassian is the #1 software tool used to manage software projects. That means it's maybe the best tool for to handle this, otherwise it wouldn't be able to make such a claim. It provides useful functionality to track programming projects, issues, tasks, milestones, sprints, TODOs, testing, deployment, etc. I.e., help to perform agile DevOps. This can be also with SCRUM boards, or Kanban boards too, and various project planning charts, diagrams, etc. It  can also be integrated really well into other Atlassian products, e.g. BitBucket. JIRA Core also is included which has "normal" core functionality, i.e. for non-software developers. Licence fees are the same as for Confluence for small teams: $10/month hosted, for $10 one-off fee (to charity) self-hosted (12 months of updates, 10 users).

Trello is a free board web application to add lists, cards, and information. It's very flexibly with lots of features to add information everything. The free version offers unlimited usage for the normal features, but it does not integrate into anything, e.g. GitHub issues. Such features are behind the paid service. It's very easy to use, and the only real downside is that lack of integration so resources cannot be referenced easily/directly without a lot of manual intervention or tracking.

There are dozens of other options out there too, e.g. RedMine, Wrike, Asana, TeamClerk, Nostromo, etc. 

No comments:

Post a Comment