Вы находитесь на странице: 1из 15

Secrets of Software Development and Project Management: Success or Fail

Deepak Murthy

Contents

General Concepts Why Software Development Fails Tips for Successful Development Why Software Management Fails Tips for Successful Management Why Software Projects Fails Tips for Successful Projects

General Concepts
Five primary functions software managers perform to get their job done effectively

Planning Organizing Staffing Directing Controlling Integrating

3 Ps of Software management

The 3 Ps of software management:


Processes

Products
People

3 Ps of Software management

Maturing the process

Principle 1: recognize that good processes add value Principle 2: use your processes to share your lessons learned

Focusing on product issues

Principle 3: stress continuous process improvement Principle 4: recognize that performance is always the issue

3 Ps of Software management

Focusing on product issues


Principle 5: realize that quality makes the difference Principle 6: emphasize that the customer is always right Principle 7: avoid gold plating and feature creep Principle 8: eliminate unnecessary paperwork

Principle 9: reward your top performers Principle 10: commit to personal growth Principle 11: recognize what motivates performance Principle 12: build bridges through open communications Principle 13: the equality principle

Why Software Development Fails


Scope creep Poor/non-functional architectural design Unrealistic Expectations Lack of communication and collaboration Resource dependencies and restrictions

Lack of visibility of who owns what and whether the development is on target
Failure due to integration (third party software or vendors) and Inadequate testing environment

Failure due to financial system as it could not incorporate the developmental changes
Failure due to change management Failure due to attrition

Tips for Successful Development

Define clear requirements, product team needs to provide the right documentation. Architectural design (UI design,..) gets signed off by all stake holders Define clear expectations

Everyone working in same time zone helps to speedup the development faster, If working in different time zones then have effective communication so that information is up to date and all teams need to collaborate effectively and synchronize accordingly
Resources should be aware of the technologies that is going to be used for the project. Training has to be provided for new technologies to be used.

To have clear goals and milestones for the teams and for each individual. Tracking the project with tracking software's keeps the project on target

Third party softwares/vendors should be integrated at the beginning of the project development. Adequate simulated testing environments should be available for testing.
New developmental changes needs to be incorporated in financial systems at the beginning of the development. Having minimal/no change management during the project development cycle. If change is inevitable then having the systems to be tested on smaller subsystems before implementing on current project. Technical information is shared among all developers and all the technical work is clearly documented so that new resources or additional resources dont make any mistakes.

Why Software Management Fails


Volatile requirements Poor Planning

Unrealistic schedules
Inadequate controls Undercapitalization We're different syndrome Lack of focus on quality Lack of firm commitment from executives Resistance too change

Lack of Integration

Tips for Successful Management

Clearly, better requirements-management are fundamental to making improvements By increasing more attention on planning, and the planning document should be a living document, iterating and evolving over time Improved management process are not enough firms need to bring in specialized management tools and calibrate them to their experience We can't properly control what we haven't properly planned. Introducing modern metrics and measures in place to supplement enhanced controls will improve our capabilities and create an atmosphere of trust with senior management. We need to put effort today into developing the infrastructure needed to generate products tomorrow.

Its better to focus on explaining why software is no different than other technical disciplines. pay more attention to this "No one prospers when defective products are released to market" customers and users demand that we do a better job when it comes to quality. Having commitment from executives. Inspire teams for change when needed by example Planning, estimation and disaster recovery plans or risk analysis plans

Why Software Projects Fails


Project managers don't understand users needs

The project's scope is ill defined


Project changes are managed poorly. The chosen technology changes Business needs change Deadlines are unrealistic Users are resistant Sponsorship is lost

The Project lacks people with appropriate skills


Managers ignore best practices and lessons learned.

Tips for Successful Projects

Start on the right foot

Maintain momentum
Track Progress Make smart decisions Institutionalize post-mortem analysis

Questions

Вам также может понравиться