Software development is an extremely dynamic and fluid business, and it is difficult to plan everything at the beginning of a project. Therefore, efficient management of software projects must be based on some explicit, strategic goals and organization's interests.
• Balancing the need for structure and process control in software development with the need for flexibility, informality, and more effective communication processes.
• Establishing software measurement programs and and enfocing accountability for completion of software development milestones.
• Making management objectives and product vision clear to the development team members (this is very importnt in practice, because far too often developers are in total ignorance of the broader strategy of a company, and the tactical decisions made by management to advance this
strategy seem to them arbitrary and even hostile).
• Identifying the most critical issues of the project and stressing the need to allocate most development resources, time, and efforts to such issues.
• Organizing more visible and formal management processes for reviewing and approving potential product enhancements.
• Emphasizing management approaches that facilitate flexibility and
creativity within clearly defined boundaries.
• Keeping-up with technological developments by enforcing life-long learning, training, courses, and seminars.
• Developing more globally focused, culturally sensitive management capabilities.
• Involving end-users in the development process in order to constantly provide advice on using the product in the real world, thus eliminating the customer-developer gap.
• Emphasizing progress review mechanisms across the development effort.
• Applying mechanisms of recognizing, rewarding, and leveraging extraordinary efforts and/or hyperproductivity, as an avenue to promote and retain key technological leaders.
• Adapting the software development process to the characteristics of the product being developed.
• Increasing parallelism in product development by reducing linear, sequential activities, encouraging relevant communication and social interactions among the team members, and changing the work modes when necessary.
• Insisting on creating multiple design views, such as structural, functional, object-oriented, event-based, and data-flow; although sometimes redundant, multiple design views help cover design from multiple perspectives and make it more complete and more efficient.
• Enforcing the feedback mechanism in the development process, in order to
detect inconsistencies in design as early as possible and reduce the costs
of fixing them...............
Management Strategies and Techniques
Posted by Ayub at 5:38 PM
1 comments:
bloghop here..have a nice day!
Post a Comment