10 traps to avoid in Software Development

download 10 traps to avoid in Software Development

of 2

Transcript of 10 traps to avoid in Software Development

  • 7/30/2019 10 traps to avoid in Software Development

    1/2

    BABAK DANYAL (29)Software Process Improvement: Ten Traps to Avoid

    Software Process is now becomes the criteria for survival in software industry. Improvement in software process is away to improve the quality, productivity, and predictability of their software.

    Ten common traps described here will help you achieving software process improvement program .Learning will helpyou achieving your goals except having little probability of being not helpful if you are dealing with unreasonable

    people.Objectives of Software Process Improvement

    Four primary objectives of process improvement in sight:

    To understand the current state of software engineering and management practice in an organization.

    To select improvement areas where changes can yield the greatest long-term benefits.

    To focus on adding value to the business, not on achieving someones notion of Process Utopia.

    To prosper by combining effective processes with skilled, motivated, and creative people.Trap #1: Lack of Management Commitment

    Symptoms: Lack of management layers at all levels. Senior managers are not willing to make short-term sacrifices tofree up the resources required for the long-term investment. Larger organizations must establish alignment betweensenior management and mid-managers.Senior management get pushback from middle managers and they needs to tell the importance about this process andchoosing the right people to work with. Look Out for the correct word as commitments. Assigning of task to the leastcapable people and this will foil your effort.

    Solutions: Implement coordination process among managers at all levels. Executives must be educated about thecosts, benefits, and risks so they will have a common vision and understanding. Commitments need to be alignedalong the organizational hierarchy, So that no one can sabotage each others effort. Allocate resources efficiently andprovide check and balance criteria on results and process. Management commitments affect the morale and dedicationof people who are part of the process. When management objectives change with the wind and the staffs devoted tofacilitating process improvement is downsized, these decisions may stop the organization to step forward and it willlook for people to enable changeTrap #2: Unrealistic Management Expectations

    Symptoms: Goals, target dates, and results must be realistic. Managers, particularly those with little softwareexperience may not understand the real meaning of commitments in process regarding long term effort and time like infive-level Capability Maturity Model. For example a manager may hope to solve current staff shortages by driving theorganization to reach CMM Level 2, which typically leads to higher software productivity and quality. But it can taketwo years or more to reach Level 2, this is not an effective solution to near-term staffing problems.Management needs to understand that the behavioural changes and organizational infrastructure affects the processimprovement and cannot be purchased. Catchy slogans like Level 5 by 95 or Six Sigma by 96 are not constructive.

    Do not degrade your department by saying you can achieve level 2 in the middle of 1997 if they do it by the end of1997.Solutions: Educate your managers about the pros and cons of the program. Collect and combine data from thesoftware literature on results that have been achieved by other companies with effective improvement programs andthe investments those companies made over a specified time period to develop realistic expectations and set reasonablegoals.Trap #3: Time-Stingy Project Leaders

    Symptoms: When a senior manager or project leader takes process improvement program as a burden and even ifteam members are permitted to work on improvement tasks, these tasks often get low priority. Project leaders mayrespond to the pressure of delivering the current product by curtailing the effort that should go into upgrading theorganization's process capability.Solutions: You need to have consistent, one way to achieve consistency is through an interlocking managementcommitment process as a corporate or organizational policy.Senior management must set the evaluation criteria on the effectiveness and success on these activities. Consider thefirst-level manager most critical factor in the success of any process improvement effort; help him to make processimprovement a visible priority. Break the project into mini-project and write action plans for each of them and focus onrequired data only this enhances the effectiveness. Solve every process problem in your group at once instead oftackling one by one by priority level. Assign best people working on technical projects.Trap #4: Stalling on Action Plan Implementation

    Symptoms: Management does not give such importance to the action plans, so the team members gets the messagethat there implementation is not important.Solutions: Management must be evaluated after a specific time about the progress made in each area in result no onewants to get embarrassed in front of evaluation panel. Management also should not concentrate and move further onthe basis of some action plans they must take each action plan concurrently, gather facts and get to some decision.Trap #5: Achieving a CMM Level Becomes the Primary Goal

  • 7/30/2019 10 traps to avoid in Software Development

    2/2

    Symptoms: Organizations adopt the CMM framework for process improvement rather than as one mechanism to helpachieve the organizations real business goals. They waste energy on achieving N-rating level instead of solving otherproblem areas like productivity, quality and other issues.Solutions: First complete corporate business and technical objectives then aim at CMM level. Do not mesh the processimprovement activities with any other improvement initiatives such as ISO 9001 registration. Set your goal to developimproved software processes and more capable development engineers. Use a combination of measurements to trackprogress toward the goals.Trap #6: Inadequate Training is provided

    Symptoms: Inadequate knowledge can lead to false starts, well-intentioned but misdirected efforts, and a lack ofapparent progress. This can undermine the improvement effort.Solutions:Train organization members through commercial sources or develop your own. Train them step by step anddont stick to one metric move to other domains of process improvement programs also.Trap #7: Expecting Defined Procedures to Make People Interchangeable

    Symptoms: Managers who have an incomplete understanding of the CMM may expect that having repeatableprocesses available (CMM Level 2) means that every project can achieve the same results with any set of randomlyassembled team members. They may think that the existence of a defined process in the organization makes allsoftware engineers equally effective. They might even believe that working on software process improvement meansthat they can neglect technical training to enhance the skills of their individual software engineers.Solutions: Give people a defined process this will enable people at the lower end of the capability scale to achieveconsistently better results. However, never underestimate the importance of attracting, nurturing, and rewarding thebest software engineers and managers you can find. Aim at success and bring common commitment among teammembers.

    Trap #8: Failing to Scale Formal Processes to Project Size

    Symptoms: A small organization can lose the spirit while implementing CMM (any model) by introducing excessivedocumentation and formality that can actually impede project work. As team members finds easiness in tasks so thiscould get process improvement program derailed.Solutions: Satisfy all the goals covering each process area it will take you to the top level of CMM. Process definitionsmust be understandable. Keep practical balance between documenting procedures with enough formality to enablerepeatable project successes.Your process improvement action teams should provide a set of scalable processes that can be applied to the varioussizes and types of projects your group undertakes.Trap #9: Process Improvement Becomes a Game

    Symptoms: Yet another way that software process improvement can falter is when the participants pay only lip serviceto the real objective of improving their processes. It creates the illusion of change while actually sticking with businessas usual for the most part.Solutions: Focus on meeting organizational and company objectives, do not simply try to conform to the expectationsof an established framework like the CMM and others. You must also satisfy the metrics realistically. As a manager,your group members need to understand that you are serious about continually striving to improve the way they buildsoftware; the old methods are gone for good.Trap #10: Process Assessments are Ineffective

    Symptoms: Software development staff is not properly involved in the assessment of process capability programleading to lack of commitment, buy-in, and ownership of the assessment findings by the project team.Solutions: Set informal discussion meetings with team members when possible. This discussion can identify problemareas that were not covered by an assessment questionnaire.Use your SEPG to actively facilitate the change efforts of your project teams and Identify process liaisons or championsin the project teams to help drive effective changes into the project team behaviours and technical practices. Theproject team must understand that the SEPG is doing software process improvement with the members of the projectteam, not for them or to them.Requirements for Effective Software Process Improvement

    Successful software process improvement requires smart team and managers, who can work together effectively.Consistent management leadership and expectations help grow a culture that shares a focus on quality, with honest

    appraisal of problem areas, clear improvement goals, and the use of metrics to track progress. Time must be providedfor the team members to identify, pilot, and implement improved processes, with every team member becominginvolved in the improvement effort over time. Watch for the minefields lurking below your organization surface andmake plans to deal with them right away.