Thursday, October 3, 2013

Intro to Software Project Management


Difference between project and program:


Project
Program
Objectives
Outputs – tangible; relatively easy to describe, define and measure; tending towards objective.
Outcomes – often intangible; difficult to quantify; benefits often based on changes to organizational culture and behaviours; introducing new capabilities into the organization; tending towards subjective.
Scope
Strictly limited; tightly defined; not likely to be subject to material change during the life of the project.
Not tightly defined or bounded; likely to change during the life cycle of the program.
Duration
Relatively short term; typically three to six months.
Relatively long term typically eighteen months to three years.
Risk profile
Project risk is relatively easy to identify and manage. The project failure would result in relatively limited impact on the organization relative to program risk.
Program risk is more complex and potentially the impact on the organization if a risk materializes will be greater relative to project risk. Programme failure could result in material financial, reputational or operational loss.
Nature of the problem
Clearly defined.
Ill-defined; often disagreement between key stakeholders on the nature and definition of the problem.
Nature of the solution
A relatively limited number of potential solutions. 
A significant number of potential solutions with often with disagreement between stakeholders as to the preferred solution. 
Stakeholders
A relatively limited number of stakeholders. 
A significant number of diverse stakeholders; probable disagreement between them as to the definition of the problem & the preferred solution. 
Relationship to environment
Environment within which the project takes place is understood and relatively stable.
Environment is dynamic; and programme objectives need to be managed in the context of the changing environment within which the organization operates. 
Resources
Resources to deliver the project can be reasonably estimated in advance. 
Resources are constrained and limited; there is competition for resources between projects.




Characteristic of software project:

  1. Commitment. The business stakeholders and the technologists are committed to the project  not just at the outset but throughout. This takes intense collaboration. There is also an executive sponsor or champion — someone with the authority to make things happen. (If there is a client-consultant relationship, this is doubly important.)
  2. People. The right team is assembled. There is an appropriate mix of senior, mid-level and junior people. The skill sets are also mixed and complimentary. Everyone understand their role and how it fits into the project. Most importantly, there is a core group of exceptional people who are capable of leading the project both administratively and technically.
  3. Goals. The project has clear goals that everyone understands and accepts. This includes the critical dates that the team has to hit. The scope of the project is narrow enough for everyone to comprehend and embrace yet wide enough to deliver value to the business. The constraints placed on the project are reasonable and realistic.
  4. Communication. Frequent and open communication is encouraged. Everyone is willing to share information and thus everyone knows what’s going on. Whenever the team reaches a milestone or achieves a major successful outcome, everyone celebrates.
  5. Focus. The team is focused on getting the project done. They are not distracted by cultural, hierarchical and bureaucratic barriers. They use informal contacts and relationships to make things happen.
  6. Learning. Everyone has the opportunity to learn and grow during the course of the project. They are encouraged to test and experiment. When mistakes are made, they are leveraged as learning opportunities.
  7. Change. The team deals with change effectively. That means they don’t try to block change but they don’t throw the doors wide open and allow anything to change any time. They find a middle ground and accept change as an opportunity to learn and improve the final result.
  8. Environment. The team has the right environment for getting the job done. This covers everything from office space to desks and chairs to software development tools.




Software Project
Other Project

based  on logical work


based on physical work

Project is invisible, customers of software project can't see the outcome in middle of project
Visible
we can't measure complexity of software project until we actually work on it
 Complexity can be measured
Flexible. Customer only wants final result, so rest of things are in control of programmer, he can modify software at any stage.
Less flexible, everything is in front of customer he is aware about progress he can view what work is being done by project manager and team so it is not in the hands of project team to make changes at any stage of project development.
Tangible; can easily say 90% of software completed.
Intangible; hard to say 90% of project completed.



Life cycle of software project:

1.      Concept Exploration
2.      System Exploration
3.      Requirements
4.      Design
5.      Implementation
6.      Installation
7.      Operation and Support
8.      Maintenance
9.      Retirement





No comments:

Post a Comment