Actual Important Info Flashcards
(81 cards)
Project Properties
Consists of some non-routine tasks (Can’t be done mechanically)
Involves novel approaches/techniques.
Needs a degree of planning
Work involve is phased
Milestones, deliverables and timescales set throughout
Work is commissioned (money and deliverables involved)
Amalgamates various specialities and cultural backgrounds (At least 2 different skill sets involved)
Work resources are pre-defined (Not unlimited resources)
Work involved is large scale and/or of high sophistication.
Resources can be used
efficiently or improperly which will impact the quality of the project Every project needs human and non-human resources.
Software Projects vs Other Projects
Progress not always visible (especially in non-tangible algorithms)
Abstraction is central (product of intelligence)
Software costs are more complex than traditional ones
Deals in subjectivity/opinions
Contends with conflicting or ill-formed requirements
Always expected to accommodate physical components of a system
Manageable components of the system
feasibility study, plan, project execution. If manager doesn’t put in enough effort then the project will take more effort.
Management Responsibilities
Planning
Scheduling
Monitoring
Directing
Controlling
Organizing
Staffing
Innovating
Representing
Project Planning
Scope
Project Estimates
Resource Management
Risk Analysis
Scheduling Issues
Staff Organization
Other Project Plans
Quality
Configuration Management
Staff Development
Exception
Maintenance
Quality Planning
Reference to Industry wide standards such as ISO9000 series.
Management Tasks and responsibilities
Transparency
Staff-Oriented
Communication Framework
Risk Management
Inbuilt Checking Structure
Documentation Issues
Development tools and methods
Testing Issues
Project Planning Techniques
Options Analysis (Goal Aspect): Weighing various goals against each other (maybe conflicting)
Risk Management (Problem Probability Aspect): Determining, Analyzing, Planning for, and controlling unwanted events.
Milestone Setting (Product Aspect): Determination and setting of meta-deliverables.
Scheduling (Activity/Timing Aspect): Setting conditions for task activation and termination.
Risk Dissection
Risk Identification: Define the risk
Probability of Risk: Subjective but can be based on experience
Severity: Should be clearly discernible and prognostic
Manageable and Mitigatable: To what extent is it controllable
Software Project Risk Types
The product (ex. Requirements): such as wrong use of modelling tools
The project (ex. Staff): Changes in management, staff, or hardware resources
The business (Ex. Technology Shifts)
The project and product (Fluctuation of requirements, results in project being longer).
Time and Cost Overrun Risks
When a software project overruns planned delivery time and budget, this can be traced back to one of the following reasons:
Estimation Inaccuracies
Planning assumptions
Unforeseen events
Typical Project Planning Misjudgements
Over-optimistic schedule: results from expecting more from resources
Stakeholder unavailability
Resource unavailability
Weak monitoring
Taking a ‘for obvious’ stance to expertise
Letting personal views affect objectivity
Staff Augmentation (especially on late projects)
Sources of Software Project Risks
Generic: Applicable and common to all types of software projects but might provide different levels of accuracy across projects of different types
Specific: Applicable to specific types of projects, but require closer involvement by project team members.
Main Risks to be considered
Nature of the application being built
Staff morale, skills, experience, motivation and availability
Project culture and methods/procedures
Hardware and Platform requirements
Implementation and changeover issues
Third party dependency
Real world requirement shift
Traditional SE risks
Personnel Shortfalls
Unrealistic schedules and budgets
Developing the wrong software functions
Developing the wrong UI
Gold Plating
Continuing stream of requirements
Shortfalls in externally furnished components and tasks
Real time performance shortfalls
Straining computer science capabilities
Risk Exposure
Risk Impact x Risk Probability
Risk Reduction leverage
measure of the balance between perceived benefits of reducing a risk and the cost of doing so, called risk reduction cost, is called the risk reduction leverage.
RRL = (RE before - RE after)/RRC
Risk Control and Mitigation Techniques
Hazard Prevention: Removal or rendering to insignificance the possibility of particular hazards arising
Likelihood reduction: Taking every precaution to ensure that the chance of a negative event happening is the least possible
Risk avoidance: Taking measures to ensure that the risk is not encountered in the first place
Risk transfer: The movement of a particular risk factor to other (non-project entities)
Contingency Planning: What to do when the unavoidable happens.
Three pillars of Taylorism
- Find best practice wherever it is: Determining procedures and techniques that yield desirable quality, allows one to identify, draw parallels and apply. Replicate processes which lead to good quality output.
- Breakdown task into its constituent elements: The basis of any analytic activity is better understanding. Analysis is used to explain what we are trying to build.
- Remove things that don’t add value to the process or product: keep only justifiable overheads. Streamline process to remove deadweight. Maybe resources need to be upgraded or changed.
The Taylorist Approach
Select: Delegate appropriate people to appropriate activities. Wrong selection can be long lasting and devastating
Instruct: Teach people the best methods of going about their activities and keep them happy so they can do their job well.
Motivate: Pay the hardest working people more. Motivation is subjective, understand what motivates each person in the team, time helps you to understand to motivate.
Theory X and Theory Y
X - people dont want to work
Y - people do want to work, want responsibility, dont need to be monitored
Determine the Organizational Culture (Accepted goals, procedures, tools etc.) by asking
What development procedures and standards are generally used.
What is understood by a successful project.
What levels of confidence exist (towards management/tools/methods/deadlines)
How are projects viewed generally by software engineers.
Determine the Individual Culture (Background, habits, desires, motivators, expectations) by asking
What is the person’s formal educational background (long term view on people)
What’s the person’s job (Short term view on people)
What’s the person’s age (younger people may be more creative or suit coding better)
What is their character/habits/expectations (everyone’s character is different, it is their input and output. Habits can be something like needing other’s opinions before finishing code. Everyone has personal expectations or wishes and how they would ideally like to work. If you don’t get this information you could fail to integrate the person by plugging them in wrongly, keep in mind when onboarding. Once you hire you are stuck with the person).