Archive for the ‘Project Management’ Category

Difference between RUP and XP Software Development Process

Friday, August 8th, 2008

RUP is a process framework developed by IBM Rational. It‘s an iterative development methodology based upon six industry-proven best practices (see RUP appendix). Over time, a RUP-based project goes through four phases: Inception, Elaboration, Construction, and Transition. Each phase contains one or more iterations. In each iteration, you expend effort in various amounts to each of several disciplines (or work flows) such as Requirements, Analysis and Design, Testing, and so forth. The key driver for RUP is risk mitigation. RUP has been refined by use in thousands of projects with thousands of IBM Rational customers and partners.

XP is a lightweight code-centric process for small projects.  It is the brainchild of Kent Beck and came to the software industry’s attention on the C3 payroll project at Chrysler Corporation around 1997. Like the RUP, it is based upon iterations that embody several practices such as Small Releases, Simple Design, Testing, and Continuous Integration. XP promotes several techniques that are effective for the appropriate projects and circumstances; however, there are hidden assumptions, activities, and roles.

RUP and XP come from different philosophies. RUP is a framework of process components, methods, and techniques that you can apply to any specific software project; we expect the user to specialize RUP. XP, on the other hand, is a more constrained process that needs additions to make it fit a complete development project. These differences explain the perception in the overall software development community: the big system people see RUP as the answer to their problems; the small system community sees XP as the solution to their problems.

When you combine the breadth of RUP with some of the XP techniques, you achieve the right amount of process that appeals to all members of a project and addresses all major project risks. For a small project team working in a relatively high-trust environment where the user is an integral part of the team XP can work very well. As the team becomes more distributed and the code base grows, or the architecture is not well defined, you need something else. You need more than XP for projects that have a “contractual” style of user interaction. RUP is a framework from which you can extend XP with a more robust set of techniques when they are required.

Symptoms of software Development Problems

Thursday, July 17th, 2008

1 User or business needs not met
2 Requirement churn
3 Modules dont integrate
4 Hard to maintain
5 Build and release issues
6 Late discovery of flaws
7 Poor quality or end user experience
8 Poor performance under load
9 No coordination team effort

Types of Risks

Friday, June 20th, 2008

Risks are the threats to the success of a software product. The most prevalent, identifiable and addressable risks in a software development or maintenance project are Technical, managerial, operational, environment, and testing risks .

Technical risk

To identify this risk we should answer the following questions

  • Do we really know what the problem is?
  • Is the problem solvable?

If a company does not know what the real problem is or whether it is beyond the scope of current technology, the project is doomed before it starts.

Managerial risk

The following managerial risks are faced throughout the life of the project:

  • Schedule risk;
  • Financial risk;
  • Personnel risk;
  • Quality risk;
  • CM risk.

Operational risk

The following are three important operational risks:

  • Inadequate user education or training;
  • Misuse, intentional or unintentional, of the product;
  • Inadequate maintenance of the product.

Environment risk

This can include

  • The environment in which the application is hosted.
  • Various damages to data centres. (Fire, tornado environmental calamities etc)

Testing risk

This can be identified from.

  • What to test?
  • How to test?
  • When to stop testing?

 

Effective project management

Friday, June 13th, 2008

Effective project management as per PMBOK requires that the project management team understand and use knowledge and skills from the following areas:

  • The Project Management Body of Knowledge
  • Application area knowledge, standards, and regulations
  • Understanding the project environment
  • General management knowledge and skills
  • Interpersonal skills.

Looking at the above areas if one has very good Interpersonal skills (Effective communication, Influencing the organization, Leadership, Motivation, Negotiation and conflict management, Problem solving etc) than it should not be difficult for him to master the other areas.