Software Project Management Tips and Tricks
-
Upload
dr-syed-hassan-amin -
Category
Leadership & Management
-
view
572 -
download
1
Transcript of Software Project Management Tips and Tricks
Software Project Management
Tips and Tricks By
Dr. Syed Hassan Amin
Objectives/Goals
Stay within Budget Finish On-Time Stay In-Scope Create Quality
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
Basic Management Skills
Plan Coordinate Communicate Delegate
Control Estimate Track Verify
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
Important Questions When Planning
Purpose Stakeholders Expected output Constraints Budget
Assumptions Work to be done Dependencies Resource Availability Risks
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.
Project Management>>Estimation
Estimation is always done with single resource assumption and without having any specific resource !
Differentiate between estimation, planning and scheduling
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
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.
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
Project Management>>Assumptions !Assumption is the mother of all screw-
upsTrust but verify
Project Management>> Risk Identification and Mitigation Anything that can go wrong, will go wrong PM needs to plan and prepare for various
risks
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.
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
Controlling Project Progress
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.
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.
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.
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.
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.
References
https://gcimmarrusti.wordpress.com/pm-quotes/ http://agilemanifesto.org/principles.html https://www.mindtools.com/pages/article/newPPM_71.htm