Effectively Troubleshoot 9 Types of OutOfMemoryError
Project Management Best Practices
1. Current Topics In Computer
Technology
Project Management Best Practices
Rohana K Amarakoon
B.Sc (SUSL), MBCS (UK), MBA (AUS-Reading)
2. Content
1. What is project?
2. History of Project Management?
3. How PM relates to other disciplines?
4. Why Projects Fail?
5. Why we need Project Management?
2PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
3. Content
6. Project Management Concepts / Knowledge areas
7. Project Management
8. SDLC Methods In Project Management
9. Advantages/Disadvantages of Project Management
10. Expected Outcome
3PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
4. 1. What Is Project
• Temporary
• Unique
• Has a start
• Has an end.
• Scope (Work & Quality)
• Stakeholders
• Resources (People & materials)
• Budget
4PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
5. 1. What Is Project
5PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
6. 1. What Is Project
6PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
7. 2. History of Project Management
• Where did it start?
1. The Great Pyramid of Giza (2560 B.C)
2. The Great wall of China (770 – 221 B.C)
7PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
8. 3. How PM related to other disciplines
• Every company will sell Goods & Services
• Goods
Design, Development, Testing (QA), Launching, Marketing
• Services
Service and Maintenance
Custom services (Internal / External)
(Design, Development, Testing (QA), Launching / Deployment)
• CSR Projects
8PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
9. 3. How PM related to other disciplines
9PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
10. 4. Why Projects Fail
• Market and strategy failures
• Organizational and planning failures
• Leadership and governance failures
• Underestimation and analysis failures
• Quality failures
• Risk failures
• Skills, knowledge and competency failures
• Engagement, teamwork and communications failures
10PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
11. 4. Why Projects Fail
11PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
12. 4. Why Projects Fail
• Market and strategy failures
When a project builds a product or solves a problem you better make sure you are
building the right product or solving the right problem.
Where a project sets out to build something that no one needs or wants the entire
project can be an expensive failure.
Example: The Sinclair C5
12PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
13. 4. Why Projects Fail
• Organizational and planning failures
Projects often involve a lot of detail and require the efforts of a lot of people to be
coordinated. In such a situation work needs to be properly organized if effective
progress is to be made.
Where the level of organization is insufficient the project team can quickly loose
control. Conversely, where the controls put in place are more than are needed (or
inappropriate for the type of project being run) the project can be weighed down
by unnecessary inefficiencies.
Example: FBI Virtual case file
13PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
14. 4. Why Projects Fail
• Leadership and governance failures
Projects needed to be “owned” by someone and they need people who have the
leadership skills to make things happen.
Where there is ineffective leadership, or where the governance processes
management use to track and control the project are insufficient, management can
loose control.
Example:US Census Bureau Field Data Collection Automation project
14PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
15. 4. Why Projects Fail
• Underestimation and analysis failures
Projects can be complex undertakings. However that complexity is often not
immediately apparent when a project first begins. Instead, the team needs to
carefully analyze the project and discover the complexities involved.
Those complexities need to be understood before commitments to schedule and
budget are confirmed. If commitments are given before the full complexity has
been appreciated a project can easily end up making unrealistic commitments that
ultimately create a pressurized environment in which the project can only fail.
Example: Denver baggage system
15PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
16. 4. Why Projects Fail
• Quality failures
At the end of the day the deliverables produced by the project need to work. Sadly
quality is often the dimension that gets too little attention.
Where quality corners are cut or insufficient testing is completed, serious flaws can
escape the project and cause havoc once the deliverables have been deployed.
Example: Her Majesty’s Revenue and Customs UK
16PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
17. 4. Why Projects Fail
• Risk failures
Predicting the future is a risky activity and because projects are all about creating
the future, projects inherently involve risk.
Where a project is blind to those risks they are likely to run into serious difficulties
that they failed to anticipate. Those difficulties are sometimes serious enough to
derail not just the project, but even the organization as a whole.
Example: Fox-Meyer Drug
17PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
18. 4. Why Projects Fail
• Skills, knowledge and competency failures
If there is one ingredient that most effectively increases the chance of project
success, it is expertise.
Where a project lacks the knowledge and skills needed to do the work properly,
quality levels and productivity are lower and the risk of serious errors or omissions
rises fast.
Examples: The Vasa
18PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
19. 4. Why Projects Fail
• Engagement, teamwork and communications failures
Projects are done by people and most projects are done for people. Where a
project fails to understand who their stakeholders are, or fails to engage and
communicate with them effectively, the project is working in a vacuum.
Similarly if the team themselves are not collaborating effectively individuals can
end up working in silos that prevent communications flowing effectively.
Example: Qantas Jetsmart
19PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
20. 5. Why we need Project Management
We all follow Project Management processes in our projects. Mostly, they are
tailored to meet the requirements of the project.
Some projects need tighter control and more stringent processes that might have
been mandated in the contract, while some need processes sufficient to self
manage and execute the project to meet the deadlines and quality standards.
Whatever be the reasons, if we don’t follow certain processes, it will definitely
jeopardize the project.
20PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
21. 5. Why we need Project Management
1) To meet the deadlines:
This is first and foremost. Many times, there are delays in deploying the project at
the client’s place only because there is no process defined for uploading the
software or patches in the customer’s environment.
Important steps like build packaging, testing the smooth installation are left out if
these are not mentioned in a standard to do checklist.
This can cause the team to run around for last minute activities that may result in
more problems identified at the last minute. This inadvertently delays the final
delivery of the project or product to the customer.
21PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
22. 5. Why we need Project Management
2) To maintain the right quality:
This one also tops the list and is again related to point 1.
The difference is when certain processes or tasks are missed out and the team goes
ahead to install the software/ product at the customer’s site. This ends up with high
number of defects being raised at the customer end.
Some of them can be precarious such as an interactive website not opening at all
for the end user, or incorrect amount of cash being dispensed by the ATM machine.
22PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
23. 5. Why we need Project Management
3) To ensure productivity:
If processes are not maintained and followed, it can result in tasks or activities
being identified in an adhoc manner with managers expecting team to stay late and
complete work that could have been otherwise planned well in advance.
23PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
24. 5. Why we need Project Management
4) To prevent re-work:
Many a times, due to lack of process, the communication between team members
and managers narrows down. Lots of assumptions are made.
Tasks are completed with a different set of objectives in mind. E.g., Software
developer ending up writing a code that result in performance issues in a mission
critical product.
This can cause the customer to wait for a long time for say, a financial transaction
to happen and can cause a lot of dissatisfaction to the customer. The team then
ends up fixing the problem in the next build or release cycle causing more re-work.
24PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
25. 5. Why we need Project Management
5) To avoid blame gaming:
All the above points lead to one major effect….Playing the blame game.
Each team puts the blame to the previous team, or puts the blame of bad quality to
production team. And this goes on in a vicious circle.
Add political angle to it, and the project goes for a six.
While all this could have been easily avoided by simply following right processes.
25PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
26. 6. Project Management Concepts /
Knowledge areas
26PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
27. 6. Project Management Concepts /
Knowledge areas
27PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Triple Constraints of Project Management
28. 6. Project Management Concepts /
Knowledge areas
28PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
29. 6. Project Management Concepts /
Knowledge areas
29PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
30. 7. Project Management
30PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
31. 7. Project Management
31PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Software project management is the art and science of planning and leading
software projects.
It is a sub-discipline of project management in which software projects are
planned, implemented, monitored and controlled.
32. 7. Project Management
32PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
33. 7. Project Management
33PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
34. 8. SDLC Methods In Project Management
34PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Water Fall
• The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model. It is very simple to understand and use. In a waterfall model, each
phase must be completed before the next phase can begin and there is no overlapping in the
phases.
• Waterfall model is the earliest SDLC approach that was used for software development .
• The waterfall Model illustrates the software development process in a linear sequential flow;
hence it is also referred to as a linear-sequential life cycle model. This means that any phase in
the development process begins only if the previous phase is complete. In waterfall model phases
do not overlap.
35. 8. SDLC Methods In Project Management
35PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Water Fall
36. 8. SDLC Methods In Project Management
36PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Agile
• Agile software development is a group of software development methods in
which requirements and solutions evolve through collaboration between self-
organizing, cross-functional teams.
• Agility gives you..
I. Focus on quality
II. Focus on working solutions
III. Agilists are generalizing specialists
IV. Promotes adaptive planning
37. 8. SDLC Methods In Project Management
37PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Agile
XPScrum
FDD
Kanban
Agile
38. 8. SDLC Methods In Project Management
38PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Agile : Scrum
39. 8. SDLC Methods In Project Management
39PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Agile : Extreme Programming
40. 8. SDLC Methods In Project Management
40PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Agile : Kanban
41. 8. SDLC Methods In Project Management
41PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Iterative
• In Iterative model, iterative process starts with a simple implementation of a
small set of the software requirements and iteratively enhances the evolving
versions until the complete system is implemented and ready to be deployed.
• An iterative life cycle model does not attempt to start with a full specification of
requirements. Instead, development begins by specifying and implementing just
part of the software, which is then reviewed in order to identify further
requirements. This process is then repeated, producing a new version of the
software at the end of each iteration of the model.
42. 8. SDLC Methods In Project Management
42PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Iterative
43. 8. SDLC Methods In Project Management
43PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Iterative
44. 8. SDLC Methods In Project Management
44PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Rapid Application Development
• Rapid application development (RAD) is a software development methodology that uses
minimal planning in favor of rapid prototyping. A prototype is a working model that is
functionally equivalent to a component of the product.
• In RAD model the functional modules are developed in parallel as prototypes and are
integrated to make the complete product for faster product delivery.
• Since there is no detailed preplanning, it makes it easier to incorporate the changes
within the development process. RAD projects follow iterative and incremental model
and have small teams comprising of developers, domain experts, customer
representatives and other IT resources working progressively on their component or
prototype.
• The most important aspect for this model to be successful is to make sure that the
prototypes developed are reusable.
45. 8. SDLC Methods In Project Management
45PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Rapid
Application
Development
46. 8. SDLC Methods In Project Management
46PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
V Model
• The V - model is SDLC model where execution of processes happens in a
sequential manner in V-shape. It is also known as Verification and Validation
model.
• V - Model is an extension of the waterfall model and is based on association of a
testing phase for each corresponding development stage. This means that for
every single phase in the development cycle there is a directly associated testing
phase. This is a highly disciplined model and next phase starts only after
completion of the previous phase.
47. 8. SDLC Methods In Project Management
47PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
V Model
48. 9. Advantages/Disadvantages of Project
Management
48PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Advantages
The benefits of project management serve everyone involved in the PM process: the
manager who oversees the project, the client who anxiously awaits for the completed
project and the production team which gets the project up and running.
Project Management Project management is not rocket science, yet it often gets dressed
up that way. At its foundation lies a bedrock of basic organizational skills, which - come to
think of it - might as well be rocket science the way some managers grapple with the
concept.
In reality, project management is just a set of tools - a roadmap if you will, that enables
managers to guide a project from point A to point B and do so in a way that demonstrates
efficiency, cost-savings and plain ‘ol ingenuity.
49. 9. Advantages/Disadvantages of Project
Management
49PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Advantages
1. Better Efficiency in Delivering Services
2. Improved / Increased / Enhanced Customer Satisfaction
3. Enhanced Effectiveness in Delivering Services
4. Improved Growth and Development Within your Team
5. Greater Standing and Competitive Edge
6. Opportunities to Expand your Services
7. Better Flexibility
8. Increased Risk Assessment
9. Increase in Quality
10. Increase in Quantity
50. 9. Advantages/Disadvantages of Project
Management
50PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Advantages
51. 9. Advantages/Disadvantages of Project
Management
51PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Disadvantages
• The project management has negative factors so as the positive factors
mentioned above. When using project management tools some people used to
get uncomfortable as it seems difficult to use. In accordance with that,
organization has to spend time on training the staff to make them familiar with
the project management.
• Although, the small projects could receive unnecessary attention that waste too
much time on them. Also, the project management needed lot of data to create
an output. Moreover, the project management is an expensive tool that cost high
amount than others.
52. 9. Advantages/Disadvantages of Project
Management
52PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Disadvantages
1. The hiring of project managers and training a project management team can be
difficult for small companies and companies that are facing financial difficulties.
2. Communication overhead can be too much for a company to handle. All
information is generally funneled through the project manager instead of
information flowing directly between functional managers and the team
members.
3. Time overhead also is considered since there is no longer direct contact
between managers and team members. Delays are inevitable and then the
project manager is pushing the team to make up the time lost.
53. 9. Advantages/Disadvantages of Project
Management
53PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Disadvantages
4. Obsession is becoming a problem among project managers and makes for a
stressful environment for all involved. Project managers can actually hinder a
project by becoming to rigid or precise in their project plans. The team members no
longer have a certain amount of flexibility.
5. Non-creativity can fall into two categories for project management: technical and
managerial. Technical non-creativity is when the project manager sets strict
deadlines on resources and forces the team members to work within strict
parameters. This hinders the creativity of the team members. Managerial non-
creativity is when the manager becomes lead by the processes of management
instead of being flexible. This causes their managerial skills to weaken and they
become stagnant in their position.
54. 9. Advantages/Disadvantages of Project
Management
54PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
55. Expected Outcomes
• Understand about the why we need to manage projects
• Understand about the nature and challenges for the project management
• Get to know about what are the project management best practices and
advantages of using it.
• Study about how we could adhere to the project management best practices to
make projects success
55PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
56. Thank You!
56PST 32220 - Current Topics In Computer Technology (Lecturer : Mr. Rohana K Amarakoon)
Notes de l'éditeur
Where did PM start?
When was the first computer invented? 1940-1956
Who is the farther of computers? Charles Babage
Third Generation (1964-1971) Integrated Circuits , Fourth Generation (1971-Present) Microprocessors
Pyramids - It took approximately 20 years to complete
Great Wall –
Hunting in the pre-historic era (Teamwork) when did team work start? 1st cell division
How many project managers amoung you? Who is the manager in your family? In a couple?
The need to listen to music?
What device would you go and take? Ipod?
Why an ipod? It is specifically built for music listening!
Walkman vs Ipod
Kodak
Kodak reels vs Digital images
Both companies failed due to not predicting the future and mitigating the risks.
Success story
Google aquiering Youtube!
Could google service only being a web search engine? No!
Sign in with google
most important reasons you should manage your projects:
Sets expectations on what you and your team are going to be delivering
Helps you define what activities your team will be performing to get to your goals
Helps you to efficiently resource your company
Helps you to more effectively manage costs
Helps to you respond to change more effectively
Helps to you share progress updates with your boss and clients
Every software developed is different and requires a suitable SDLC approach to be followed based on the internal and external factors. Some situations where the use of Waterfall model is most appropriate are:
Requirements are very well documented, clear and fixed.
Product definition is stable.
Technology is understood and is not dynamic.
There are no ambiguous requirements.
Ample resources with required expertise are available to support the product.
The project is short.
* This is an iteration process that focuses on project plan, process control, feedbacks, etc.
* The scrum master plans and decides the success of the project deliverables, taking inputs from the product owner and development team.
Like other SDLC models, Iterative and incremental development has some specific applications in the software industry. This model is most often used in the following scenarios:
Requirements of the complete system are clearly defined and understood.
Major requirements must be defined; however, some functionalities or requested enhancements may evolve with time.
There is a time to the market constraint.
A new technology is being used and is being learnt by the development team while working on the project.
Resources with needed skill set are not available and are planned to be used on contract basis for specific iterations.
There are some high risk features and goals which may change in the future.
V- Model design
Under V-Model, the corresponding testing phase of the development phase is planned in parallel. So there are Verification phases on one side of the .V. and Validation phases on the other side. Coding phase joins the two sides of the V-Model.
The below figure illustrates the different phases in V-Model of SDLC.