LOG230 - Cours #2

Plan

Le plan sert à contrôler et à vérifier nos connaissances sur le projet. Il permet de le montrer aux clients et de connaître les ressources matérielles et humaines.

Les problèmes humains sont les problèmes les plus difficiles contrairement aux problèmes techniques qui sont les plus faciles.

Planification et gestion de projet

Le suivi de projet sert à comprendre les problèmes et les besoins du client. On doit être capable de concevoir un système pour résoudre le problème. On doit connaître: temps nécessaire pour créer et finir le système et les coûts. Le plan est donc indispensable pour répondre à ces questions.

Project Deliverables

Documentations - Demonstrations of functions, prototype, subsystems, accuracy, reliability-fiabilité, performance, security.

Plan
Collection de phases, d'activités, d'interactions entre les activités (dépendances), d'estimé de la durée de chaque activité et du moment où le produit sera complété.
Activité
Élément du projet qui se déroule pendant un temps déterminé.
Élément avec une durée, une date de fin, une activité précédente dépendante.
Contient un [endpoint, milestones, jalon] qui à 99% est un livrable.
L'activité se déroule en série, en parallèles.
Cheminement Critique
Chemin le plus long dans un projet. Il faut évaluer chaque branche-chemin.
Liste des activités avec un "Slack Time" à 0.

Real Time: Temps nécessaires

Available Time: temps disponible avant d'aller sur le chemin critique.

Slack Time (float): Available Time - Real Time.

Slack Time: Lastest start time - earliest start Time

Il faut connaître: le nombre de personne, leur tâche, qui fait quoi.

  1. Connaître les ressources
    • La paie ($)
    • L'expérience (h,$)
    • Disponibilité
    • Sous-Traitance
  2. Expérience
    • Technique
    • Gestion des Ressources
    • Gestion des Clients
    • Gestion des Risques
    • Finances

Facteurs des ressources humaines

  1. Ability to perform the work
  2. Interest in the work
  3. Experience with similar [application, tool, languages, techniques, development, environment]
  4. Training (if not enough experience)
  5. Ability to communicate and to share responsability with others
  6. Management skills

Work Styles

  • Extroverts: tell their thoughts.
  • Introverts: we have to ask for suggestions (listen)
  • Intuitives: base decisions on feelings
  • Rationales: base decisions on facts, opinions

Lines of communications

n * (n - 1) / 2: Lines of communication when n is number of person.

A team size should be 12 or 13 persons max.

Problèmes potentiels

  • But réunion n'est pas clair
  • Participants sont non préparés
  • Les responsables sont absents ou en retard
  • Conversation hors sujet (loin du but)
  • Participations discutent / dominent ou ne participent pas
  • Décisions non prises en oeuvre

Qualité

  • Communication
  • Codage

Organisation du projet

Structure de l'équipe

  1. Historique de travail (background) des membres d'équipe
  2. Le nombre de personnes sur l'équipe (moins de 15)
  3. Les types de tâches, modèle de gestion clients/ress.

Chief Programmer team (one-to-one)

Chief Programmer, his assistant, Senior Programmer, Librarian, administrator, test team under Assitant. Junior Programmer under Senion Programmer.

Egoless Approach

  1. Holds everyone equally responsible
  2. Criticism is made of the product or the result, not the people
  3. All team members vote on a decision

Highly Structural

High Certainty, Repetition, Large

Loosely Structured (libre)

Uncertainty, new techniques or technology, small projects, creative [R & D]

Costs

Facilities and Environnment (10%), Staff: 50-80%, Tools: 10%, Training: 15%.

Estimation techniques

  1. Expert Judgement
  2. Algorithmic
    [(pessimistic + 4 optimistic + most likely uess)/6]
  3. Machine-Learning Method
    [Expert System Approach]. Learn from the post project. Product The Future Cost.
  4. Finding the model for your situation
  5. Neural Network approach
    Chaque noeud a sa méthode ou son algorithme way of analysing. (Database, données historique)
  6. Expert Judgement Delphi Technique
    1. Ask each individual predictions secretly. 2. Calculate average estimate. 3. Present the estimate to the group. 4. Allow them to raise.
  7. Case-based Reasoning (CBR)
    Construire un historique de cas. Utiliser le CBR Système. Comment décrire les cas?
    1. Nouveau problème comme cas
    2. Retrouver cas similaires
    3. Réutiliser les connaissances
    4. System. Suggérer nouvelle solution

Case-board Reasoning (CBR)

COCOMO, Boehm: COnstructive COst MOdel
COSMIC FFP [ets]. ISO.

PRED (x/10): précision, MMRE: erreurs...

Autres

Contrat: Plan de projet, Architecture, Gestion

Risque

  1. Évènement non désiré qui a des conséquences négatives
  2. Gérer les risques, comprendre et contrôler les risques
  3. Risque générique commun à tout logiciel
  4. RIsque spécifique: vulnérabilités particulières d'un projet donné.

Probability: occurence d'arriver. Exposure: (impact x probability)

Facteurs de risques

  1. Manque de personnel
  2. Échéanciers et budgets peu réalistes
  3. Développer les mauvaises fonctions
  4. Développer mauvaises UI (interface usager)
  5. Surfaire (gold plating), dépassement des coûts
  6. Changement continuel des exigences
  7. Déficience des tâches accomplies par les équipes extérieurs (sous-traitance)
  8. Déficience des composantes de v. extérieurs
  9. Performances en temps-réel déficientes
  10. Déficiences des capacités de l'équipe de développement

User / last definition

  1. Team: any collection of people responsible for producing a givent (desired) result.
  2. Stakeholder: anyone affected by that result or the way in which the result is achieved.
  3. Accounting: a report of what you have done, are doing, or plan to do.
  4. Consequences: with the goal of doing only what makes sens for team and stakeholders.