Risks when changing software

Some questions to answer to:

  1. What changes do i have to make?
  2. How will i know that i’ve done them correctly?
  3. How will i know that i haven’t broken anything?

You can’t minimize software problems by avoiding them. Avoiding changes will make people get rusty at it. Another consequence is fear.

The alternative of avoiding changes is to try harder.

Changing software

Requirements change. Designs that cannot tolerate changing requirements are bad designs.

There are four primary reasons to change software:

  • Adding a feature
  • Fixing a bug
  • Improving the design
  • Optimizing resource usage

There is a very big difference between adding a new feature and changing old behaviour. When adding behaviour we must NOT change or remove behaviour the users already depend on.

Improving the design without changing its behaviour is called refactoring.

Optimization is like refactoring but it has a different goal. Some resource used by the program, time or memory, is changed.

When working on a system we can change three different things:

  • structure
  • functionality
  • resource usage

The Legacy Code Change Algorithm

  1. Identify change points – the places where you need to make the changes
  2. Find test points
  3. Break dependencies – Depenencies are the bigges impediment to testing. Break them to get tests in place.
  4. Write tests
  5. Make changes and refactor

Project closure

Closure is the final phase of the project life cycle.

Closure requires the consolidation of communications with team and stakeholders.

Closure requires feedback and to capture the learning experiences gained.

Some key questions in this phase:

  • Were the original objectives of the project delivered?
  • What do I have to measure?
  • How do I get and offer feedback?

Wrap-up:

  • obtaining project acceptance
  • finalising and terminating resources
  • de-establishing the team
  • capturing remaining costs and closing project related accounts
  • compiling a final project reports

Evaluating project success:

  • assessing, verifying and documenting project results
  • measure the performance of the project team

Capture lessons learned

Reward the effort, the team and the contributors

 

Project team and communication

There are 4 key questions to keep in mind when doing project delivery:

  1. Am I delivering to the plan specifications and requirements?
  2. Am I able to secure supply of the necessary resources?
  3. Will I be able to manage and control the project scope?
  4. How will I be able to control quality?

The answer depends on the ability to communicate whit other parties. Build and maintain open and honest relationship with project team.

Stakeholder are the people and the organisations affected by the project. Understand their role so you can determine their expectations and needs. Internal stakeholders (project manager, project team, project management team) and external stakeholders (end users, customers, suppliers, contractors).

Teamwork is a critical factor in project success.

  • Assign role to the project team members by recruiting the right skill set.
  • Assign responsibilities. Each member should be clear about his role within the project.
  • Encourage and support project team members.

Effective communication

Three channels of communication:

  1. upward – the project manager communicates with senior managers. Topics: issues, risk, expectations of the project
  2. lateral – the project manager communicates with clients, suppliers, contractors and vendors. Topics: resource needs, progress update, budgets, schedule issues.
  3. directly – directly to the project team. Topics: highlights pending tasks, confirm delivery dates, schedule general team meetings.

Leadership skills can be developed over time.

Most important thing is to create trust and a common purpose among the project team members.

Determining project risk

Risk represents uncertainty and all the projects are exposed to some degree of risk.

The process of identifying, assessing  and responding to risk is called risk management. It will require ongoing communication with the team and engagement with the stakeholders and continuous monitoring and review.

The risk varies as a result of:

  • the extent and duration of the project
  • the period time between planning and execution
  • level of experience on similar projects
  • maturity of the technology used.

Risk can be multifaceted: technical, financial, commercial, reputational (intangible), etc.

6 steps to plan a major risk in the project:

  1. Understand the context of the project and confirm the objectives
  2. Risk identification
  3. Risk assessment – prioritise the risks by severity (a combination of likelihood and impact)
  4. Risk responses – develop risk response strategies
    1. Accepted
    2. Transfered
    3. Reduced
    4. Avoided
  5. Monitor and review – ongoing process
  6. Communicate

PESTLE.

Organizing and delivering a pitch

Organize a presentation in a simple, direct way (The THREE TELLS).

  1. TELL WHAT you are going to say – Introduction
    • grab your audience attention 
    • the goal is that the audience to know what the product is and what they are going to learn about it
  2. TELL MORE – Body
    • the time for details
  3. TELL it AGAIN – Conclusion
    • repeat the main points

The audience is the most important part of the presentation.

How to prepare a job interview

  1. First impressions – Body language – make sure the first impressions are positive by being aware of:
    • posture
    • facial expressions
    • hand gestures
    • tone of voice
  2. Some past tense verbs for the interview
    • prepared, solved, managed, programmed, scheduled
    • worked, helped, increased, coached
    • acted, instructed, expanded, exceeded

Copying or mirroring the body language of people we’re talking to brings us closer to them.

3 types of questions:

  • ability
  • willingness
  • how well you will fit in

Give a direct answer and refer to the actual job.

Tell a story to catch their attention and share a personal experience about you.

A negative can become a positive!

Project management – Initiation

Consider the following questions:

  1. What is a project? What the project requires ?
  2. What is the problem i’m looking to solve?
  3. What do I need? Consider the resources.
  4. What are my options? Multiple way to approach a project. Consider different options.

Good initiation is extremely important for project planning.

Set SpecificMeasurableAlignedRealisticTime bound tags.

Scope is clear and elements of time, costs and quality are understood.

Assure you are given the necessary authority within your organisation.

Assumptions: need to consider them in planning. With no proof of certainty, thus they may or may not eventuate.They affect every day phase of the project management cycle.

Dependencies are relationship between specific tasks.

Constraints: Restrictions or limitations that will affect the performance of a project.

Use creative thinking techniques to generate multiple solutions.

Basics on project management

Project management transcends all industries. A project can be big or small.

To deliver a project successfully, it’s important to start by clearly identifying what the project is, and what its outcomes will be.

Generally, there are four main characteristics of a project, regardless of its size and complexity.

  1. A definite start and end date.
    • a project manager has to complete the project within the specified amount of time
  2. Goal or outcome
    • something is completed or achieved by the end of the project life cycle.
  3. Benefit of value
    • what will the recipient gain from the completed project?
  4. Allocation of resources
    • all projects will, in one way or another, allocate and use resources to achieve their goals or outcomes.

The project management life cycle is a distinct linear process which has four phases:

  1. Initiation – the starting point, sets up the fondation of the project. Project objectives, success criteria, high-level plan.Identify risks, stakeholders and team.
  2. Planning – the primary function – process of developing plans to ensure the achievement of the project objectives. Scope, scheduling and costing.
  3. Execution – completing specific deliverables. Being an effective leader for the team and engage the stakeholders in the execution of the project.
  4. Closure – the final phase. the outcomes are achieved and the benefits of the completed project are experienced by the stakeholders. Obtain feedback from them and from the team.

So: plan, scope, schedule, cost and manage your project from beginning to end. Effectively communicate, manage people and employ leadership skills to successfully deliver.

 

Basics on negotiation

Successful Negotiation: Essential Strategies and Skills – Professor George Siedel.

  1. Prepare: Plan Your Negotiation Strategy
    1. Should i negotiate? Think of the costs and benefits before a negotiation. Avoid the costs which are pulling you in away from other opportunities. Consider your feeling about negotiation and as well as the potentials risks and rewards.
    2. Is a position based or interest based negotiation?
      • Ask firs why do you want what you are requesting? What’s the reason for your position?
      • Always search for underlying interests but also be ready for positional bargaining even after finding mutual interests.
    3. A dispute resolution or deal making negotiation?
      • deal making – forward looking, interest-based, problem solving
      • dispute resolution – backward looking, position-based, adversarial
      • 6 processes to resolve a dispute:
        • Avoidance
        • Negotiation – (also used for deal-making)
        • Mediation – bringing in a third party to mediate the dispute, is a negotiation assisted by a third party
        • Arbitration – bringing in a third party who has the right to decide the dispute
        • Litigation – similar to arbitration,
        • Power
      • ADR – Alternative Dispute Resolution – Negotiation, Mediation, Arbitration
      • Third Party Process – Litigation, Arbitration, Mediation
      • Power Right Interests – Power, Litigation, Arbitration, Mediation, Negotiation
      • If you are involved in a dispute:
        • Power to force the other side to do what you want
        • Rights – let a third party to decide who is right
        • Avoidance – withdraw from a dispute.
        • Interests – try to negotiate an agreement based on your needs
      • Traditionally, in deal-making the focus is on Negotiation. However, lately arbitration and mediation are used for deal making as well.
  2. Negotiate: Use Key Tactics for Success
  3. Close: Create a Contract
  4. Perform and Evaluate: The End Game