Software Project Management Tips and Tricks

22
Software Project Management Tips and Tricks By Dr. Syed Hassan Amin

Transcript of Software Project Management Tips and Tricks

Page 1: Software Project Management Tips and Tricks

Software Project Management

Tips and Tricks By

Dr. Syed Hassan Amin

Page 2: Software Project Management Tips and Tricks

Objectives/Goals

Stay within Budget Finish On-Time Stay In-Scope Create Quality

Page 3: Software Project Management Tips and Tricks

Basic Qualities of Project Managers

Command of basic facts Proactiveness Assertiveness Command and Control Inquisitive Nature(ask questions) Creativity Mental Agility Relevant professional knowledge Ability to Learn and Adapt

Emotional resilence Emotional Intelligence Empathy Developing Team Members Client Focus

Page 4: Software Project Management Tips and Tricks

Basic Management Skills

Plan Coordinate Communicate Delegate

Control Estimate Track Verify

Page 5: Software Project Management Tips and Tricks

P in Project Management>> Planning Being agile means, you will be working with

incomplete information a lot of times A project without a critical path is like a ship without

a rudder. Think Ahead, Plan Ahead Planning is always done with client deadlines in

mind Failure to plan, is planning for failure

Page 6: Software Project Management Tips and Tricks

Important Questions When Planning

Purpose Stakeholders Expected output Constraints Budget

Assumptions Work to be done Dependencies Resource Availability Risks

Page 7: Software Project Management Tips and Tricks

Project Management >>Constraints Given all the time and all the resources, anyone can do it !

Resources will always be limited, and there will always be deadlines

Art of project management is like juggling three balls – time, cost and quality.

Page 8: Software Project Management Tips and Tricks

Project Management>>Estimation

Estimation is always done with single resource assumption and without having any specific resource !

Differentiate between estimation, planning and scheduling

Page 9: Software Project Management Tips and Tricks

Project Management>>Scheduling In project management, a schedule is a listing of a project's

milestones, activities, and deliverables, usually with intended start and finish dates.

Those items are often estimated in terms of resource allocation, budget and duration, linked by dependencies and scheduled events.

Scheduling Tools Gantt Charts Milestones

Page 10: Software Project Management Tips and Tricks

Project Management>>Schedule Compression To shorten the total duration of a project by decreasing the time

allotted for certain activities. It's done so that you can meet time constraints, and still keep the

original scope of the project. You can use two methods here:

Crashing – This is where you assign more resources to an activity, thus decreasing the time it takes to complete it. This is based on the assumption that the time you save will offset the added resource costs.

Fast-Tracking – This involves rearranging activities to allow more parallel work. This means that things you would normally do one after another are now done at the same time. However, do bear in mind that this approach increases the risk that you'll miss things, or fail to address changes.

Page 11: Software Project Management Tips and Tricks

Project Management >> Track Resource Utilization Always measure efforts involved in managing

projects, and getting various tasks done ! Effective communication Don’t forget to track actual effort, including QA and

project management effort

Page 12: Software Project Management Tips and Tricks

Project Management>>Assumptions !Assumption is the mother of all screw-

upsTrust but verify

Page 13: Software Project Management Tips and Tricks

Project Management>> Risk Identification and Mitigation Anything that can go wrong, will go wrong PM needs to plan and prepare for various

risks

Page 14: Software Project Management Tips and Tricks

P in Project Management

Get the right people. Then no matter what all else you might

do wrong after that, the people will save you.

That’s what management is all about.

Page 15: Software Project Management Tips and Tricks

Project Management >>Controls You can’t keep it all in your head. Project control tools are an absolute necessity for the control of

large projects.  If it is not documented, it doesn’t exist … As long as information is retained in someone’s head, it is

vulnerable to loss.  Project Status Reports(Daily, Weekly) Project Budget Tracking(estimated versus actual) Estimate and Effort Tracking Change Control QA Status

Page 16: Software Project Management Tips and Tricks

Controlling Project Progress

Page 17: Software Project Management Tips and Tricks

Agile Principles>> Communication Business people and developers must work together

daily throughout the project. Build projects around motivated individuals. Give

them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Page 18: Software Project Management Tips and Tricks

Agile Principles>>Delivery

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Page 19: Software Project Management Tips and Tricks

Agile Principles>> Delivery Working software is the primary measure of

progress. Agile processes promote sustainable

development. The sponsors, developers, and users should be

able to maintain a constant pace indefinitely. Continuous attention to technical excellence

and good design enhances agility.

Page 20: Software Project Management Tips and Tricks

Agile Principles >> Simplicity Simplicity--the art of maximizing the amount of work not done--is

essential. XP-term ‘YAGNI’ (‘You Aren’t Gonna Need It’) defines

simplicity Simplicity facilitates creating product with minimum

functionality that is easy to use and has simple user interfaces and to achieve Minimum Viable Product (MVP)

Doing refactoring now keeps code and design simple and easy to change with less effort.

The leaner/agile solution would be to write the first implementation in the simple way just to get the product in front of people. 

Page 21: Software Project Management Tips and Tricks

Agile Principles >> Agile Teams The best architectures, requirements, and

designs emerge from self-organizing teams. At regular intervals, the team reflects on

how to become more effective, then tunes and adjusts its behavior accordingly.