Principles and practice & Project management.

Introduction

The goal for this week is to setup a personal website, learn about project management processes and tools. Also make a description of the final project.

About this site

HTML code has always looked like gibberish to me. So I turned to Code academy for practical application learning. I think their “build a web site” tutorial is very good and motivating. I grasped the concepts an went flying solo after that. I started out in Bluefish editor and I like the software how ever working on a small laptop screen with an HTML window, CSS window, preview window and reference window got really cramped so I went on to try out Brackets which I really liked.

About project management

Project management got a lot of moving parts that have to click, but apart form all the technical management the one that easily get forgotten is people skills or social IQ.

About Project management principles

Demand- vs supply-side time management

Define how much time you can spend on each task and then move on even if it is not perfect.

Serial vs parallel development

Work in parallel on different tasks (hardware circuits, software)...this remove dependencies

Spiral development

Iterate, create a minimal viable product(MVP) and then start iterating on that. Eg. Project for a dancing robot could be: spiral 1: moving finger spiral 2: Moving hand

Bottom-up vs top-down debugging

Build in modularity, this makes it easier when debugging.

12 step project management (lecture by Chris Croft)

  • Define projects (What is key? Cost,time or Quality?)
  • List all Tasks
  • Estimate Time & cost for each task
  • Add up time and cost (Start with a post-it note chart and find the longest task)
  • Shorten your plan (what can you speed up if you need to?)
  • Draw a Gantt chart
  • Calculate resource requirements over time-line
  • Asset risks and prepare action plan
  • Monitor progress (color your Gantt chart as you go)
  • Monitor cost
  • Re schedule (take this decision in mid project)
  • Review, learn and praise
  • See full lecture notes here.

    For Fab Academy I will try the following management work flow:

    I use GnattProject as an overview of all projects and time-line I made&a mindmap in XMind to have an overview of all the topics and softwares I need to get to know.

    For now I also use XMind to create a weekly overview including a task list and working hours. It might be that a normal calender would be better suited but Ill try this out for now

    I track all the tasks in Trello.com The good thing with Trello is that they also have an app so if a task com to mind I can easily write it down.


    Mercurial File Server.

    Mercurial is a version control tool, allowing multiple users to work on the same project. All users have a copy of the project on their local machines but as changes are made locally it is pushed to the file server for everyone to get. Whit version control you can go back and retrieve old or deleted files.

    The terminal command and workflow for updating and uploading files:

    1. hg pull
    2. hg update
    3. hg addremove
    4. hg commit -m 'commit message'
    5. hg push

    Things to be aware of for not breaking the archive:

    • Read what Mercurial is saying before you push! If there is a problem with merging head it will tell you so back to step one and rung through the list again.
    • Naming convention, Same name with different caps (hello.txt & Hello.txt) will be stored as two different files. When downloading on Mac or Windows this will create a conflict and it will break the archive.
    • Maximum file size/week, 1-2 Mb.

    Other useful commands

    • hg status
    • hg status let you check the current status,if you have an "!" mark in front of any file, that means the repository and your local archive are not synchronized, make sure to add that file back.

    • hg merge
    • Let you merge more than one branches back to one.

    • hg log -G
    • Shows a log of recent activities.

    Google+

    Follow me on Google +.

    Click me

    Twitter

    Twitter madness.

    Click me

    LinkedIn

    Connect with me on LinkedIn.

    Click me