Professional Grad.
     Project
      PiTechnologies
        AhmedYossef
About PiTechnologies
‣ Egyptian   startup company
‣ PiTechnologies   is specialized in
   ‣ Mobile   applications development
   ‣ Web   applications development
   ‣ Embedded    systems
   ‣ Wireless   communications
About Mashro3na
‣ It   is an initiative of PiTechnologies
‣ Mashro3na  aims to provide graduation projects
 technical and managerial support
‣ Mashro3na       aims to enhance:
       ‣ The   graduation projects
       ‣ The
           senior year student skills (technical,
        managerial, team working ..)
Agenda
‣ What    is GP ?
‣ Why     are you working on GP ?
‣ GP   Team
‣ Common      mistakes
‣ Meetings

‣ Tools

    ‣ SVN

    ‣ Project   Management
Region 1          Region 2



                                           200


                                           150


                                       100


                                       50
   2007
          2008
                     2009              0
                              2010




Survey ..What is GP ?
Main Categories


               Space ship ?


                 Product ?


               Smart Home ?


 GPS + MATLAB + Java + Linux + MC + ..
don’t forget web application and mobile end :)
Product                         Space ship

                                               Out of scope
       Low technical experience
                                              Lake of support
   Waste of time connecting others
                                              Ends as bike ..
It is not accepted as GP in most time




             Nothing new                    It is not a project
  You are traditional for interviewer   You make enological things




         Smart Home                          Assembler
Best Project


New Idea - Old Idea (added Value)


             Phases


      Applicable (Product)


 Independent - learn technologies
Why GP ?
Reasons
‣ Todo something you should know why you are
 doing it
   ‣ Learn   new technologies
   ‣ Apply   theoretical concepts
   ‣ Work    as for real
   ‣ Show    the world something
GP Team
Team work


‣1   +1=2       Accepted

‣1   +1=3       Expected

‣1   +1=0       Actually
1+1 = 3
‣ Different   tasks require different skills
‣ Different   players .. different minds .. new
 solutions
‣ More    motivation
‣ Work    review
‣ Focus   more on similar tasks
1+1 = 0
‣ Different tasks requiretasks .. meskills
        I will work on all different too
‣ Different   players .. different minds .. new
                i Think .. you work
 solutions
     More arguments .. More problems
‣ More motivation

‣ Work reviewmy errors .. i will discover yours
   You discover

‣ Focus more on similar tasks .. again
      I am working on all tasks
Solutions
‣ Changing       the previous attitudes
‣ It   is business not personal
       ‣I   don’t like your idea .. but i respect you
       ‣ You   are right your idea is better than mine
       ‣I   don’t like team decision .. i will execute it
       ‣Idiscuss only when it is good for my team
        not to prove my point of view
Common Mistakes
Team Homogeneity

‣ All   A+ team
‣ All   F- team
‣ All   developers team
‣ A+    and F- team
Team Homogeneity

‣ All A+ team
            Team should be miscellaneous
‣ All F- team      Different skills
                     Same goal
‣ All developers team

‣ A+    and F- team
Courses Mistake


‣ Dividethe project requirements to a group of
 courses
‣ Attending   courses till the last moment
Courses Mistake


             Define requirements to a group of
‣ Divide the project courses you need
  courses   Define self study you need
         Restrict courses time and dealines
‣ Attending courses till the last moment
Specs Mistakes


‣ Undefined
         specs .. Undefined project ..
Undefined results
‣ Definedspecs .. Undefined manners of
execution
Specs Mistakes

                IdeaUndefined project ..
‣ Undefined specs ..  is not enough
   You should have full specs of the system before
  Undefined results
                      starting
‣ Defined specs .. Undefined manners of
  execution
Time Mistakes

‣ Unplanned

‣ Wrong    plan
   ‣ Too   much time for learning
   ‣ Too   much time for working
   ‣ No   backup plan and no margins
Time Mistakes

‣ Unplanned
           Time should be well divided
‣ Wrong plan should be divided into phases
       Project
  Delay means missing features not project failure
   ‣ Too much time tasklearning planned
       Each simple for should be
   Learn, Design, Implement, Test, Document
   ‣ Too much time for working
                 Keep margins
   ‣ No backup plan and no margins
Meetings
Teamwork and Meetings

‣ Meeting
        is the most important part of the
 teamwork
‣ As   during meeting:
   ‣ Work    is divided into tasks
   ‣ Tasks   are assigned
   ‣ Completed    tasks are delivered
Agenda

‣ Leadershould announce the agenda before the
 meeting
‣ Members   are free to add any topics before the
 meeting
‣ Leader should state the agenda as check list of
 tasks, decisions and deliverables
Apology


‣ If
   you will be delayed, you should report before
 the meeting starts.
‣ If
   you will not be able to come, you should
 delegate your vote and work to some one else.
During Meeting
‣ No   argument
‣ Limited   discussion
‣ IfA and B has different point of views, each one
 would separately explain his, then leader should
 terminate discussion to start voting.
‣ In
   dark situations, leader can make a decision, and
 you should accept it.
After the Meeting

‣ During the meeting, leader should have written
 notes about the discussions and the decisions.
‣ Leader   should send MoMs to the team
‣ Leadershould make the agenda and the time of
 the next meeting
Apology for deliverables

‣ Youshould report any errors or blocking
 breaks just when they appear.
‣ Always   report and make your leader updated
‣ Don’t   change your task without confirmation
Tools - Version Control
What is VC

‣ Version    control - Source control - Revision
 control
‣ It
   is a software enables you to keep history of
 changing in documents, code files, ..
‣ It   can be centralized or distributed
Why Version Control
‣ No   conflict
‣ No   project_last, project_final, project_finaaaal
‣A change in a single file within the project,
 generates a new version with number,
 timestamp, creator and comment
‣ Noneed to merge copies and move code on
 flash memory
Check Out


‣ It
   is an operation to request a copy of the
 project to work on
‣ You can check out the latest version or any
 older version you like
Check in

‣ Check   in - Commit -Submit
‣ It
  is an operation done after checking out and
 making some modifications
‣ Youcommit your changes to save them as a
 new version with timestamp and comment
Branching


‣ It
   is an operation to make a sub-project/parallel
 project
‣ Youmake this operation when you want to test
 a new feature.
Test Scenario
Current Version                      Current Version
                              Branch
          Check Out                              Check Out
                             Check out

  Test Code       Check In       Test Code    Real Code

          Check Out

  Real Code                              Real Code
Examples

‣ SVN

‣ CVS

‣ http://assembla.com/   (online)
‣ Git

‣ https://github.com/   (online)
Tools - Project Management
What is PM ?

‣ It   is the process of
       ‣ Diving   work into phases and tasks
       ‣ Identifying   execution percentage
       ‣ Finding   critical issues
       ‣ Finding   alternative solutions
Project

    Phase
             Task   Task   Task   Task

    Phase
             Task   Task   Task   Task

     Phase
             Task   Task   Task   Task
Phases

‣ You   should divide your project into phases
‣ Each phase represents a percentage of total
 project
‣ Phaseis a milestone, with defined date you
 should measure your progress
Task
‣ It   is the building block of the project
‣ Each    task should have the following
       ‣ Major   phase               Task the basic element in the
                                               project..
       ‣ Type                    If you could manage tasks .. you will
                                  manage your project .. otherwise !
       ‣ Dead   line
       ‣ Assigned   player(s)
       ‣ Reviewer      and/or supervisor
Task Types
    Planning                Learning            Execution


• To define tasks        • To know about
• Involves a lot of          something      • To get something
 estimation and lack                                done.
        of info
                        •   Undefined time
                                            •    Defined goal
• Usually involves      •    Should has a
                                            •   Estimated time
                              deadline
    learning tasks
Examples

‣ Codendi   (Web application)
‣ Redmine    (Web application)
‣ Planner

‣ QDPM      (Web application)
Contacts
    Website:        www.pitechnologies.net

    Fan Page:   facebook.com/pitechnologies.page

    Twitter:           @pitechnologiess

    My mail:      ayossef@pitechnologies.net


Thanks and best of luck .. AhmedYossef

Professional Graduation Project

  • 1.
    Professional Grad. Project PiTechnologies AhmedYossef
  • 2.
    About PiTechnologies ‣ Egyptian startup company ‣ PiTechnologies is specialized in ‣ Mobile applications development ‣ Web applications development ‣ Embedded systems ‣ Wireless communications
  • 3.
    About Mashro3na ‣ It is an initiative of PiTechnologies ‣ Mashro3na aims to provide graduation projects technical and managerial support ‣ Mashro3na aims to enhance: ‣ The graduation projects ‣ The senior year student skills (technical, managerial, team working ..)
  • 4.
    Agenda ‣ What is GP ? ‣ Why are you working on GP ? ‣ GP Team ‣ Common mistakes ‣ Meetings ‣ Tools ‣ SVN ‣ Project Management
  • 5.
    Region 1 Region 2 200 150 100 50 2007 2008 2009 0 2010 Survey ..What is GP ?
  • 6.
    Main Categories Space ship ? Product ? Smart Home ? GPS + MATLAB + Java + Linux + MC + .. don’t forget web application and mobile end :)
  • 7.
    Product Space ship Out of scope Low technical experience Lake of support Waste of time connecting others Ends as bike .. It is not accepted as GP in most time Nothing new It is not a project You are traditional for interviewer You make enological things Smart Home Assembler
  • 8.
    Best Project New Idea- Old Idea (added Value) Phases Applicable (Product) Independent - learn technologies
  • 9.
  • 10.
    Reasons ‣ Todo somethingyou should know why you are doing it ‣ Learn new technologies ‣ Apply theoretical concepts ‣ Work as for real ‣ Show the world something
  • 11.
  • 12.
    Team work ‣1 +1=2 Accepted ‣1 +1=3 Expected ‣1 +1=0 Actually
  • 13.
    1+1 = 3 ‣Different tasks require different skills ‣ Different players .. different minds .. new solutions ‣ More motivation ‣ Work review ‣ Focus more on similar tasks
  • 14.
    1+1 = 0 ‣Different tasks requiretasks .. meskills I will work on all different too ‣ Different players .. different minds .. new i Think .. you work solutions More arguments .. More problems ‣ More motivation ‣ Work reviewmy errors .. i will discover yours You discover ‣ Focus more on similar tasks .. again I am working on all tasks
  • 15.
    Solutions ‣ Changing the previous attitudes ‣ It is business not personal ‣I don’t like your idea .. but i respect you ‣ You are right your idea is better than mine ‣I don’t like team decision .. i will execute it ‣Idiscuss only when it is good for my team not to prove my point of view
  • 16.
  • 17.
    Team Homogeneity ‣ All A+ team ‣ All F- team ‣ All developers team ‣ A+ and F- team
  • 18.
    Team Homogeneity ‣ AllA+ team Team should be miscellaneous ‣ All F- team Different skills Same goal ‣ All developers team ‣ A+ and F- team
  • 19.
    Courses Mistake ‣ Dividetheproject requirements to a group of courses ‣ Attending courses till the last moment
  • 20.
    Courses Mistake Define requirements to a group of ‣ Divide the project courses you need courses Define self study you need Restrict courses time and dealines ‣ Attending courses till the last moment
  • 21.
    Specs Mistakes ‣ Undefined specs .. Undefined project .. Undefined results ‣ Definedspecs .. Undefined manners of execution
  • 22.
    Specs Mistakes IdeaUndefined project .. ‣ Undefined specs .. is not enough You should have full specs of the system before Undefined results starting ‣ Defined specs .. Undefined manners of execution
  • 23.
    Time Mistakes ‣ Unplanned ‣Wrong plan ‣ Too much time for learning ‣ Too much time for working ‣ No backup plan and no margins
  • 24.
    Time Mistakes ‣ Unplanned Time should be well divided ‣ Wrong plan should be divided into phases Project Delay means missing features not project failure ‣ Too much time tasklearning planned Each simple for should be Learn, Design, Implement, Test, Document ‣ Too much time for working Keep margins ‣ No backup plan and no margins
  • 25.
  • 26.
    Teamwork and Meetings ‣Meeting is the most important part of the teamwork ‣ As during meeting: ‣ Work is divided into tasks ‣ Tasks are assigned ‣ Completed tasks are delivered
  • 27.
    Agenda ‣ Leadershould announcethe agenda before the meeting ‣ Members are free to add any topics before the meeting ‣ Leader should state the agenda as check list of tasks, decisions and deliverables
  • 28.
    Apology ‣ If you will be delayed, you should report before the meeting starts. ‣ If you will not be able to come, you should delegate your vote and work to some one else.
  • 29.
    During Meeting ‣ No argument ‣ Limited discussion ‣ IfA and B has different point of views, each one would separately explain his, then leader should terminate discussion to start voting. ‣ In dark situations, leader can make a decision, and you should accept it.
  • 30.
    After the Meeting ‣During the meeting, leader should have written notes about the discussions and the decisions. ‣ Leader should send MoMs to the team ‣ Leadershould make the agenda and the time of the next meeting
  • 31.
    Apology for deliverables ‣Youshould report any errors or blocking breaks just when they appear. ‣ Always report and make your leader updated ‣ Don’t change your task without confirmation
  • 32.
  • 33.
    What is VC ‣Version control - Source control - Revision control ‣ It is a software enables you to keep history of changing in documents, code files, .. ‣ It can be centralized or distributed
  • 34.
    Why Version Control ‣No conflict ‣ No project_last, project_final, project_finaaaal ‣A change in a single file within the project, generates a new version with number, timestamp, creator and comment ‣ Noneed to merge copies and move code on flash memory
  • 35.
    Check Out ‣ It is an operation to request a copy of the project to work on ‣ You can check out the latest version or any older version you like
  • 36.
    Check in ‣ Check in - Commit -Submit ‣ It is an operation done after checking out and making some modifications ‣ Youcommit your changes to save them as a new version with timestamp and comment
  • 37.
    Branching ‣ It is an operation to make a sub-project/parallel project ‣ Youmake this operation when you want to test a new feature.
  • 38.
    Test Scenario Current Version Current Version Branch Check Out Check Out Check out Test Code Check In Test Code Real Code Check Out Real Code Real Code
  • 39.
    Examples ‣ SVN ‣ CVS ‣http://assembla.com/ (online) ‣ Git ‣ https://github.com/ (online)
  • 40.
    Tools - ProjectManagement
  • 41.
    What is PM? ‣ It is the process of ‣ Diving work into phases and tasks ‣ Identifying execution percentage ‣ Finding critical issues ‣ Finding alternative solutions
  • 42.
    Project Phase Task Task Task Task Phase Task Task Task Task Phase Task Task Task Task
  • 43.
    Phases ‣ You should divide your project into phases ‣ Each phase represents a percentage of total project ‣ Phaseis a milestone, with defined date you should measure your progress
  • 44.
    Task ‣ It is the building block of the project ‣ Each task should have the following ‣ Major phase Task the basic element in the project.. ‣ Type If you could manage tasks .. you will manage your project .. otherwise ! ‣ Dead line ‣ Assigned player(s) ‣ Reviewer and/or supervisor
  • 45.
    Task Types Planning Learning Execution • To define tasks • To know about • Involves a lot of something • To get something estimation and lack done. of info • Undefined time • Defined goal • Usually involves • Should has a • Estimated time deadline learning tasks
  • 46.
    Examples ‣ Codendi (Web application) ‣ Redmine (Web application) ‣ Planner ‣ QDPM (Web application)
  • 47.
    Contacts Website: www.pitechnologies.net Fan Page: facebook.com/pitechnologies.page Twitter: @pitechnologiess My mail: ayossef@pitechnologies.net Thanks and best of luck .. AhmedYossef