Organizational Aspects

Software project management always involves various organizational aspects, such as creating and staffing development teams, assigning roles to the team members, modalities of software development, leadership considerations,interpersonal communication at work, staff training and embracing new technologies, organization's culture, social and ethical issues. Organizational aspects of software development are crucial for all successful projects. They are neither about hardware nor about software - they are about ``peopleware", i.e. about using, coordinating, and managing human resources in an organization effectively. In the context of fast-paced and extremely fluid dynamics of software industry, the key to success or failure of
software project is the way it is organized and managed.

The principle of hierarchy implies a strict pyramid of leadership, roles, duties, and tasks in the organization, with strict adherence to the organization's internal rules. Drifting away from the predefined overall course of the organization is interpreted as a lack of loyality that may lead to the organization's instability, and is not tolerated. On the opposite end of the same dimensionis the principle of independence. It relies on the individuals' initiative and individuality in doing
their jobs, directing their work, and to an extent even in decision making. Organizations that adopt this principle are usually open to innovation and changes, new technologies, and creative autonomy of their members.

* Flexible rotation of key roles and tasks (e.g., system design, integration,testing, code inspection) in the project team.
* Maintaining a catalogue that specifies all key roles and responsibilities.
* The role of the project leader(s) is focused mostly on project management and system design, and much less on coding and testing.
* The project leader should have a small board of project advisors who set the project goals prepare status reports on intermediate stages of development, care about resource management, monitor the project dynamics and stability, and suggest how to better staff the project.
* Decision making should be based on consensus among the team members whenever possible failing to allow for that may cause lacking of the sense of contribution to the project ultimate goal among those team members whose voice is never heard.
* Project manager's awareness of the staffing profile corresponding to the development process being applied is very important; for example, in object-oriented development processes it is necessary to have a chief architect throughout the development project however, the number and efforts of system analysts and application engineers necessary to complete the tasks is rather small in the early phases, and increases significantly in the later phases of the project.
* Planning transition to another development process or another technology should include an appropriate training of the development team members,mentoring and guidance among the team members in embracing the new technology, careful selection of new programming languages and tools,and strategic decisions related to software reuse.
* Effective interpersonal communication is essential to a project’s success, hence facilitating communication between team members should be a top priority for the project manager; this may include careful pairing of staff members and assigning a mediating duty to some other members according to their experience and technical background.
* Every software project manager should pay adequate attention to a number of ethical issues that always affect the project's success, the development team, and the team's relations to the customers such issues include acting in the customer's and public interest, maintaining integrity
and independence in professional judgement, adhering constantly to the highest professional standards possible..........

3 comments:

Eric said...

I see what you a talking about. The method is close to agile project management, isn't it? The thing here is that giving more freedom to your team without giving out the control is hardly possible with traditional project management software. I felt it myself, when I was trying to do this. The reason is traditional tools don't support open collaboration. I've recently read several posts about this kind of situation. You might be interested to have a look at them too.

Unknown said...
This comment has been removed by the author.
Unknown said...

Project management software and Time tracking software is requirement of business to proper growth. by these software a business can increase its productivity.

Copy HTML and Paste in Your Page

Search Engine Submission and Optimization Service


FREE Search Engine Submission
Internet Marketing
BigDirectory.org -free url submission, online website directory