Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore MCA641 CU-MCA-SEM-IV-Software_Project_Management_26-10-20 Modified-converted

MCA641 CU-MCA-SEM-IV-Software_Project_Management_26-10-20 Modified-converted

Published by Teamlease Edtech Ltd (Amita Chitroda), 2021-04-20 17:00:04

Description: MCA641 CU-MCA-SEM-IV-Software_Project_Management_26-10-20 Modified-converted

Search

Read the Text Version

VC system. Distributed systems, where multiple versions of the component repository exist at the same time. Git is a widely-used example of a distributed VC system. Key features of version control systems: • Version and release identification • Change history recording • Support for independent development • Project support • Storage management To support independent development without interference, version control systems use the concept of a project repository and a private workspace. The project repository maintains the 'master' version of all components. It is used to create baselines for system building. When modifying components, developers copy (check-out) these from the repository into their workspace and work on these copies. When they have finished their changes, the changed components are returned (checked-in) to the repository. Developers check out components or directories of components from the project repository into their private workspace and work on these copies in their private workspace. When their changes are complete, they check-in the components back to the repository. If several people are working on a component at the same time, each check it out from the repository. If a component has been checked out, the VC system warns other users wanting to check out that component that it has been checked out by someone else. A 'master' repository is created on a server that maintains the code produced by the development team. Instead of checking out the files that they need, a developer creates a clone of the project repository that is downloaded and installed on their computer. Developers work on the files required and maintain the new versions on their private repository on their own computer. When changes are done, they 'commit' these changes and update their private server repository. They may then 'push' these changes to the project repository. Benefits of distributed version control: • It provides a backup mechanism for the repository. If the repository is corrupted, work can continue and the project repository can be restored from local copies. • It allows for off-line working so that developers can commit changes if they do not have a network connection. • Project support is the default way of working. Developers can compile and test the entire system on their local machines and test the changes that they have made. Distributed version control is essential for open source development. Several people may be working simultaneously on the same system without any central coordination. As well as a private repository on their own computer, developers also maintain a public server repository to which they push new versions of components that they have changed. It is then up to the open-source system 'manager' to decide when to pull these changes into the definitive system. 99 CU IDOL SELF LEARNING MATERIAL (SLM)

Rather than a linear sequence of versions that reflect changes to the component over time, there may be several independent sequences resulting from branching. This is normal in system development, where different developers work independently on different versions of the source code and so change it in different ways. At some stage, it may be necessary to merge code line branches to create a new version of a component that includes all changes that have been made. If the changes made involve different parts of the code, the component versions may be merged automatically by combining the deltas that apply to the code. Fig 7.3: Sequences resulting from branching When version control systems were first developed, storage management was one of their most important functions. Disk space was expensive and it was important to minimize the disk space used by the different copies of components. Instead of keeping a complete copy of each version, the system stores a list of differences (deltas) between one version and another. By applying these to a master version (usually the most recent version), a target version can be recreated. As disk storage is now relatively cheap, Git uses an alternative, faster approach. Git does not use deltas but applies a standard compression algorithm to stored files and their associated meta-information. It does not store duplicate copies of files. Retrieving a file simply involves decompressing it, with no need to apply a chain of operations. Git also uses the notion of pack files where several smaller files are combined into an indexed single file. CONFIGURATION MANAGEMENT TOOLS There are two types of configuration management tools: • agent based tools • agentless tools Agent based tools require the installation of an agent on the system you want to manage. Agentless tools don’t require an agent or software on the system you want to manage. Puppet and Chef are two examples of agent based tools. Ansible is an agentless tool. 100 CU IDOL SELF LEARNING MATERIAL (SLM)

Puppet Puppet is a configuration management tool used for deploying, configuring, and managing servers. It uses a master-slave architecture. There is a Puppet master. On the clients we run a Puppet agent that pulls the configuration from the master. Puppet calls configuration files manifests. Manifests use Puppet‘s own configuration language called puppet DSL. Chef Chef is an automation platform that configures and manages your infrastructure. It uses a master-slave architecture, similar to Puppet. The Chef server manages nodes and stores the configurations for the nodes. Each node runs the chef clients and pulls configuration tasks from the Chef server. Chef calls configurations “cookbooks”. Users create, test, and maintain configurations or policies on workstations. We push these to the Chef server. Chef uses Ruby DSL for configuration files. Ansible Ansible is a configuration and orchestration tool, written in Python which uses YAML for configuration tasks. We call these tasks playbooks. Ansible is agentless and uses SSH to connect to nodes. It sends programs called Ansible modules, runs them, and removes them when finished. Ansible is a great way to get started with network automation. Playbooks are easy to read and write and since it’s agentless, you don’t have the hassle of installing a server and agents on your nodes. SUMMARY Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. There are a number of reasons why automated configuration management tools play a vital role in managing complex enterprise infrastructures. Here are some of the most popular reasons: • Consistency. If your infrastructure is being configured manually, how do you know your servers are being set up in a consistent manner? Further, how do you know these changes are being performed in a way that meets your compliance and security requirements? (For instance, are administrators logging changes in the appropriate systems?) Make life easier for your system administrators by automating repeated tasks with a configuration management tool. When repeated tasks are tedious, humans are alarmingly bad at performing them consistently. 101 CU IDOL SELF LEARNING MATERIAL (SLM)

Automate tedious administration tasks with a configuration management tool so your staff can focus on other important things that humans do best. • Efficient change management. Whenever infrastructure is built manually without the aid of a configuration management tool, people tend to fear change. Over time, servers that are maintained by hand tend to become fragile environments that are hard to understand and in these situations, organizations tend to develop a lot of processes for managing changes, usually with the sole intent on minimizing change or even delaying it as long as possible. This tends to delay introducing new features your customers need. When servers can be reproduced easily in a repeatable fashion, fewer processes are needed to manage change. Small change batches can be performed on a regular basis, such as daily, or even several times a day. • Simplicity in rebuild. When servers are built manually, it’s typically not easy to rebuild them from scratch. What would happen if you suddenly lost your servers in a catastrophic event? How quickly could you restore service if disaster struck? Automated deployments using a configuration management tool help quickly restore service. Rather than bothering to upgrade or patch applications, which can be inherently fragile operations, system administrators can build a new, upgraded system in an automated fashion and throw the old one away, returning it to the server pool. When rebuilds are easy, system administrators gain confidence to make changes to infrastructure more rapidly. • Visibility. Configuration management tools include auditing and reporting capabilities. Monitoring the work performed by one system administrator doesn’t require a sophisticated tool. But trying to understand what is going on with a team of, say, 10 system administrators and 10 software developers deploying software changes many times per day? You need a configuration tool. When infrastructure changes are handled by automated systems, changes can be automatically logged in all relevant tracking systems to raise visibility on the meaningful work your teams are doing. KEYWORDS • Configuration Management (CM) is a technique of identifying, organizing, and controlling modification to software being built by a programming team. • Product Level configuration – Like product related artefacts e.g. product user manual. These have to be maintained by their subsequent project also. • Agile Software Development is a set of methods and practices where solutions evolve through collaboration between self-organizing, cross-functional teams. • A development phase is where the development team is responsible for managing the software configuration and new functionality is being added to the software. 102 CU IDOL SELF LEARNING MATERIAL (SLM)

• A system testing phase is where a version of the system is released internally for testing. LEARNING ACTIVITY 1. Explain the difference between Benefits of configuration and change management for servers. 2. Describe Relation between Release and Version Management? UNIT END QUESTIONS A. Descriptive Type Questions 1. Illustrate “The configuration management plan defines those items that are configurable, those items that are require formal change control, & the process for controlling changes to such items”. 2. Describe Configuration Management Activities in details with the help of proper illustration. 3. Elaborate the relation between Change Management and Configuration Management. 4. Discuss- To support independent development without interference, version control systems use the concept of a project repository and a private workspace. 5. Discuss Factors influencing system release planning. B. Multiple choice questions 1. Which of the following categories is part of the output of software process? a) computer programs b) documents that describe the computer programs c) data d) all of the mentioned 2. Which is a software configuration management concept that helps us to control change without seriously impeding justifiable change? a) Baselines b) Source code c) Data model d) None of the mentioned 103 CU IDOL SELF LEARNING MATERIAL (SLM)

3. What combines procedures and tools to manage different versions of configuration objects that are created during the software process? a) Change control b) Version control c) SCIs d) None of the mentioned 4. Software Configuration Management can be administered in several ways. These include a) A single software configuration management team for the whole organization b) A separate configuration management team for each project c) Software Configuration Management distributed among the project members d) All of the mentioned 5. Which of the following is the process of assembling program components, data, and libraries, and then compiling and linking these to create an executable system? a) System building b) Release management c) Change management d) Version management Answers: 1 -d; 2 - a; 3 -b; 4 - a; 5 -a REFERENCES ▪ Project Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK® Guide)–Sixth Edition Sixth Edition, Sixth edition, Project Management Institute ▪ Bob Hughes, Mike Cotterell and Rajib Mall, ‘Software Project Management’- Tata McGrawHill. ▪ Bennatan E. (1994).Software Project Management.London: McGraw-Hill. ▪ KelkarS.A. (2004). Software Project Management: A Concise Study. New Delhi: Prentice Hall India Pvt. Limited. ▪ Summerville I. (2013). Software Engineering. New Delhi: Pearson Education. ▪ Whitten J.L., Bentley J.L.D. (2007). System Analysis and Design Methods. Boston: McGraw-Hill. ▪ G. L. Rexing, \"Software project management: Moving beyond project plans,\" in AT&T Technical Journal, vol. 70, no. 2, pp. 40-48, March-April 1991. ▪ Marcelo Marinho , Suzana Sampaio , Telma Lima and Hermano de Moura, “A SYSTEMATIC REVIEW OF UNCERTAINTIES IN SOFTWARE PROJECT 104 CU IDOL SELF LEARNING MATERIAL (SLM)

MANAGEMENT”, in International Journal of Software Engineering & Applications (IJSEA), Vol.5, No.6, November 2014. 105 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 8- SOFTWARE TEAM MANAGEMENT 1 Structure Learning Objectives Introduction Characteristics of Performance management High performance Directive Collaborative styles Summary Keywords Learning Activity Unit End Questions References LEARNING OBJECTIVES After studying this unit, you should be able to • Explain the characteristics of Performance management. • Identify the high performance Directive. • Outline the Collaborative styles INTRODUCTION When people work together, you’re creating a better environment for creativity. That happens naturally when there is a lot of brainstorming and sharing ideas. With each team member contributing unique ideas, you can acquire more effective strategies for completing the project. Working as a team encourages risk-taking. When you shoulder the responsibility yourself, you may be inclined to take fewer risks because the personal and professional consequences of failure. In a team, you have support from other members in case things fall apart. CHARACTERISTICS OF PERFORMANCE MANAGEMENT Performance management is a pre-planned process of which the primary elements are agreement, measurement and feedback. The following are the characteristics of performance management − Measures outputs of delivered performance It is concerned with measuring outputs of delivered performance compared with expectations expressed as objectives. Its complete focus is on targets, standards and performance measures. 106 CU IDOL SELF LEARNING MATERIAL (SLM)

It is based on the agreement of role requirements, objectives and performance improvement and personal development plans. Concerned with inputs and values Performance management is also concerned with inputs and values. The inputs are the knowledge, skills and behaviors required to produce the expected results from the individuals. Continuous and flexible process Performance management is a continuous and flexible process that involves managers and those whom they manage acting as partners within a framework that sets out how they can best work together to achieve the required results. Based on the principle of management by contract and agreement It is based on the principle of management by contract and agreement rather than management by command. It relies on consensus and cooperation rather than control or coercion. Focuses on future performance planning and improvement Performance management also focuses on future performance planning and improvement rather than on retrospective performance appraisal. It functions as a continuous and evolutionary process, in which performance improves over the period of time; and provides the basis for regular and frequent dialogues between managers and individuals about performance and development needs. HIGH PERFORMANCE DIRECTIVE There are some differentiating and defining characteristics which separate a general team from a high-performing team: • Trust and accountability: High-performance teams are built on a culture of trust and accountability, where every member can openly express their ideas. • Resilient mindsets: Such teams know how to navigate around changes efficiently. • Clear and shared vision: The whole team share a common vision and work toward a common goal. • Smooth communication: A high-performing team ensure that information is communicated timely and clearly to every member • Higher engagement: Each member shows active participation while ensuring that everyone in the team is involved. • Unambiguous metrics: High-performance teams have clear metrics set for them. This helps them understand whether or not they are going in the right direction. • Early conflict resolution: A team delivering high performance does not let bad conflicts brew among them. They welcome disagreements and resolve conflicts as soon as they occur. 107 CU IDOL SELF LEARNING MATERIAL (SLM)

• Constructive feedback: Constructive criticism is encouraged and used to improve their existing performance. How to create a high-performance engineering team? Bruce Tuckman proposed a forming-storming-norming-performing model of team development. According to Tuckman, each of these stages are essential for a team to grow, face challenges, tackle problems, find solutions, plan work, and deliver results. These stages involve: • Forming: Co-creation of clear team goals and a team charter that defines how they plan to work together • Storming: Establishment of team processes, swift resolution of conflicts, normalization of disagreements, and relationship building among team members • Norming: Empowerment of team members for taking ownership and responsibility for progress towards the goals • Performing: Acceleration of growth through continuous team engagement and development of individual members Which is the best leadership style for building and running high-performance engineering teams? There are three key leadership styles that are suitable for running high-performance engineering teams: • Servant Leadership: Servant leaders have a natural desire to serve, which makes them consciously choose their aspiration to lead and help others grow. Robert Greenleaf said, “This is my thesis: caring for persons, the more able and the less able serving each other, is the rock upon which a good society is built.” And, this is how high-performance engineering teams thrive. • Transformational Leadership: Having a strong belief in their followers, transformational leaders inspire, empower, and stimulate them to exceed their normal levels of performance. A strong and stable transformational leadership is essential to drive an organization through a change successfully. • Situation Leadership: Situation leaders adapt or evolve their leadership styles as their followers grow in their levels of development. This is about changing the way of leading based on whether the followers are at a stage where they need ‘high directive and low supportive’ behavior from their leaders or they can successfully complete what they are delegated through a “low directive and low supportive” behavior. COLLABORATION Collaboration is defined as “The action of working with someone to produce something”. Collaboration is first and foremost about people. A good starting point for collaboration is the working relationships. Where there are healthy working relationships, this is where the best 108 CU IDOL SELF LEARNING MATERIAL (SLM)

collaboration takes place. True collaboration, especially in a team context, is about ensuring give and take on all sides and being comfortable with this. There are also a number of important cultural factors to consider for effective collaboration, (for example, values, beliefs and assumptions) and around personal style (personalities and behavioural preferences). In particular, individual characteristics have a direct influence on the ability to collaborate. Those who are approachable, personable, good at forming relationships, open and good natured are typically, naturally collaborative. For others, improving collaborative behaviours may require some conscious effort or coaching. Some people prefer working in a collaborative way, for others, a collaborative style of working would not be their first choice. In order to foster a collaborative DSDM culture, it is important to recognise and accept that this style of working comes more easily to some than others and to provide support and encouragement for people and teams as they start adopt a different (DSDM) style of working. Collaboration is about understanding and working with differences of opinion and differing views. There is demonstrable value in fostering a collaborative team culture, both in terms of building better solutions, but also in terms of motivation and job satisfaction for individuals. Building effective collaboration Certain ingredients are needed to build effective collaborative teams. Some examples of these ingredients are: • Having mutual trust between team members • Having mutual respect between team members • Being open-minded as an individual • Being approachable as an individual • Being available when needed • Being open to change • Having a clear direction • Having a consistent and stable team membership • Having belief in yourself as an individual and belief in others • Communicating properly and effectively (e.g. using active listening, empathy etc.) • Being subject to effective (DSDM-style) leadership It is very rare to have the perfect team and the perfect environment already in place. So, in reality, some of these ingredients may already be in place, others may need work to improve or establish them. In order to capitalise on the value that collaborative working brings, it is sometimes necessary to address issues within the organization or within individuals that act as barriers to collaboration. 109 CU IDOL SELF LEARNING MATERIAL (SLM)

Some examples of these collaboration barriers are: • Organizational structures which group similar types of skill in silos, encouraging and supporting a “them and us” culture • Managers who have to resource their projects based around scarce resources • Organizational focus and reward based only on personal, individual goals • Unwillingness to concede something for “the greater good” which would impact a personal goal • A culture of personal competition Collaboration can sometimes find itself in direct conflict to competition. In some organizations and cultures, recognition and reward, e.g. appraisals and salaries, are based on competition and being better than others, rather than around team achievement. As a result, this encourages individual success (competition) rather than team success (collaboration). These barriers need to be addressed to foster an environment where collaboration can thrive. Collaborative people Collaboration is all about problem-solving, bringing together people with expertise in very different areas in order to find a solution to the problem. Effective collaboration works best where individuals possess T-shaped skills: on the one hand, possessing a deep knowledge of their own discipline (the vertical part of the T), on the other hand, understanding how their discipline interacts with others (the horizontal part of the T). Figure: 8.1 T shaped skills Having this breadth of experience is useful in dealing with both opportunities and problems. People with this broader skillset can apply different perspectives to their thinking to help the 110 CU IDOL SELF LEARNING MATERIAL (SLM)

team form a cohesive approach. An understanding of how an individual’s discipline interacts with others is vital to help individual team members build a collaborative team. SUMMARY ▪ The importance of team collaboration can’t be stressed enough. It’s an integral part of the project and brings enormous benefits. ▪ Team collaboration accelerates product development and allows you to get the product to market faster, since employees address difficulties together. ▪ Team collaboration drives creative thinking and effective brainstorming. It allows you to look at problems from multiple angles and points of view. ▪ Collaborative teams hold regular meetings, so they have a shared and clear vision of the direction they’re going. ▪ Every party involved knows the full scope of the project and what they’re accountable for. This allows each team member to perform efficiently and saves time, money, and effort. ▪ The most crucial components of effective team collaboration: a close-knit team, open communication, diversity, a positive attitude and smart leadership. KEYWORDS • Skill set - refers to a particular range of individual's skills, experiences and abilities necessary to acquire and perform a job. • Perspective - A particular attitude towards or way of regarding something; a point of view. • Collaboration- is defined as “The action of working with someone to produce something”. • Leadership style - is a leader's method of providing direction, implementing plans, and motivating people. • Team development -is the act of supporting and training a group of individuals placed together to work as a cohesive unit to accomplish an intended outcome. LEARNING ACTIVITY 1. Explain Collaborative Skills. 2. State methods to improve performance of Teams involved in Software development. 111 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT END QUESTIONS A. Descriptive Type Questions 1. Discuss Performance Management in details. Highlight its importance in Software Project Management Teams. 2. State different leadership styles. Which is the best leadership style for building and running high-performance engineering teams? 3. How to create a high-performance engineering team? 4. State defining characteristics of High Performing Team? 5. Why Collaboration is defined as, “The action of working with someone to produce something”? Explain. B. Multiple choice questions 1. Co-creation of clear team goals and a team charter that defines how they plan to work together a) Forming b) Norming c) Storming d) Performing 2. Such teams know how to navigate around changes efficiently a) Unambiguous metrics b) Resilient mindsets: c) Smooth communication d) Clear and shared vision 3. Which ingredients are needed to build effective collaborative teams? a) Having mutual trust between team members b) Having mutual respect between team members c) Being open-minded as an individual d) All of the above 4.Acceleration of growth through continuous team engagement and development of individual members a) Forming b) Norming c) Storming d) Performing 112 CU IDOL SELF LEARNING MATERIAL (SLM)

5. What relies on consensus and cooperation rather than control or coercion? a) Concerned with inputs and values b) Continuous and flexible process c) Principle of management by contract and agreement d) future performance planning and improvement Answers: 1 -a; 2 - b; 3 -d; 4 - d; 5 -c REFERENCES ▪ Project Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK® Guide)–Sixth Edition Sixth Edition, Sixth edition, Project Management Institute ▪ Bob Hughes, Mike Cotterell and Rajib Mall, ‘Software Project Management’- Tata McGrawHill. ▪ Bennatan E. (1994).Software Project Management.London: McGraw-Hill. ▪ Anna P. Murray, The Complete Software Project Manager: Mastering Technology from Planning to Launch and Beyond , Wiley ▪ Fairley Richard (2017). Software Engineering Concepts. New Delhi: McGraw-Hill. ▪ KelkarS.A. (2004). Software Project Management: A Concise Study. New Delhi: Prentice Hall India Pvt. Limited. ▪ Summerville I. (2013). Software Engineering. New Delhi: Pearson Education. ▪ Whitten J.L., Bentley J.L.D. (2007). System Analysis and Design Methods. Boston: McGraw-Hill. ▪ G. L. Rexing, \"Software project management: Moving beyond project plans,\" in AT&T Technical Journal, vol. 70, no. 2, pp. 40-48, March-April 1991. ▪ Marcelo Marinho , Suzana Sampaio , Telma Lima and Hermano de Moura, “A SYSTEMATIC REVIEW OF UNCERTAINTIES IN SOFTWARE PROJECT MANAGEMENT”, in International Journal of Software Engineering & Applications (IJSEA), Vol.5, No.6, November 2014. 113 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 9- SOFTWARE TEAM MANAGEMENT 2 Structure Learning Objectives Introduction Team Structure Team Communication Managing customer expectations Group Behavior Types of Groups Group Roles Well-Functioning Groups Summary Keywords Learning Activity Unit End Questions References LEARNING OBJECTIVES After studying this unit, you should be able to • Explain the Team Structure & Team Communication. • Describe the Group Behaviours. • Outline the Customer expectations management. INTRODUCTION Teamwork brings together complementary strengths. You may be good at planning and another team member might be talented in coordinating and creative thinking. Working on a project as a team helps you feel more accountable. It’s the informal peer pressure; the feeling that you don’t want to let your colleagues down. When you are working with people you respect, you don’t want to disappoint them. This goes for all your project stakeholders, not just people on the direct project team. When you have the right people on the team, you can fly. Deadlines that seem insurmountable are suddenly achievable with the right people, and the right attitudes. When you work together, you can take advantage of those time savings to do things right, and to invest time in activities that also help grow your career, like professional development. 114 CU IDOL SELF LEARNING MATERIAL (SLM)

TEAM STRUCTURE Fig 9.1: Example of Team Structure Now let’s look more closely into each of software development team roles: • Product owner, in the case of an outsourced project, this is the client with a vision of how the end-product should look, who are the end-users and what it should do. • Project manager is a person responsible for managing and leading the whole team. Their role is to efficiently optimize the work of the team, ensure the product is meeting the requirements and identify the goals for the team. • Software architect is a highly-skilled software developer that has to think through all the aspects of the project and is responsible for making high level design choices, as well as select technical standards (for instance, determines the technology stack to use). • Developers or software engineers are team members that apply their knowledge of engineering and programming languages in software development. • Experience designers ensure that the product is easy and pleasant to use. They conduct user interviews, market research, and design a product with end-users in mind. • QA or tester is responsible for the Quality Assurance and makes sure the product is ready to use. • Business Analyst’s role is to uncover the ways to improve the product. They interact with stakeholders to understand their problems and needs, and later document and analyze them to find a solution. TEAM COMMUNICATION Effective communication does not happen automatically, especially now there are many channels of communication to choose from. One of the key risks is that star ting to rely too 115 CU IDOL SELF LEARNING MATERIAL (SLM)

heavily on technology for communication stops people from communicating effectively. Most people have experienced situations where heavy use of email star to replacing person- to-person conversation, resulting in the loss of much of the real meaning: • Emailing the person at the next desk! This may give the perception of not disturbing them but misunderstandings and lack of clarification often cause problems later on o Some organizations address this with guidelines for email etiquette • Being inundated with high volumes of emails, many of which are copied to a large number of people (just in case). This can result in important issues being missed Communicating effectively actually requires some careful thought on how to take full advantage of the communication options available. It is important to identify which style of communication will give the best results in the particular circumstances and to select the most appropriate style for the situation. It is worth lightly considering such aspects as the different communities, the type and frequency of communication, the best medium and which roles are best suited to communicate with them. For example, a solution may be delivering a significant change to a user community and such a message is usually best delivered face to face (if possible) by the Business Visionary, or possibly the Business Ambassador. Well-known techniques such as stakeholder analysis and stakeholder management are also very useful to support decisions about communication. For example, identifying key stakeholders (in terms of power/influence and interest) who warrant face-to-face communication, often on a one-to-one basis. There will also be a number of people with little power or influence, who simply need to be “kept in the loop”. For these people, simple email communication may genuinely be the most effective choice. The important thing is that such decisions are informed choices, and that effective communication is a two-way process. Even a very light and informal assessment of the most appropriate method, frequency and process for different communications helps to focus communication. It is also important to be clear which decisions need to be recorded, to ensure everyone is clear which decisions have been made, and also to ensure key decisions are communicated. Communication choices 1) Face-to-Face: Face-to-face communication will usually be the most effective way of communicating, either with individuals or with a small-to-medium sized group (as a workshop or a meeting). As well as enabling the rationale behind decisions to be fully understood, face-to-face communication allows immediate clarification of misunderstandings. • Allows communication using all the senses, but particularly words, tone of voice and body language. 2) Conferencing - Video Conference (VC) and its variations: If those involved cannot physically get together, then a video conference is often the next most effective channel. For 116 CU IDOL SELF LEARNING MATERIAL (SLM)

preference, each local group should gather in the same room, sharing one link in to the group conversation. • VC - Allows communication using words, tone of voice and body language (although body language communication may be limited by the field of vision of the video link e.g. May be facial expression only as well as the performance of the link which, where poor, may lead to ‘blocky’ images or a lag between sound and vision) • Teleconference – Allows communication using words and tone of voice, but excludes body language Fig 9.2: Distributed Team communication at its most effective Fig 9.3: Distributed Team communication at its least effective 117 CU IDOL SELF LEARNING MATERIAL (SLM)

For preference, distributed teams should run their Daily Stand-ups around their Team Board with some kind of video link to the remote team members. However, if these options are not possible then individuals can use headsets and video cameras on their PCs, although this is less effective than communicating as local groups. However, where there is a large group in one location and several smaller groups or individuals all in separate locations, it may be more effective (and fairer) for everyone to dial in or VC so that everybody is working with similar constraints as regards to making themselves heard. Alternatively, consider a more facilitated session where somebody in the central location is responsible for ensuring the remote participants can participate effectively. Whichever version of conference is chosen (video or telephone), everyone should aim to make each session as dynamic, vibrant and fun as possible, as if all team members were together. This can be done with a little thought, and it will greatly increase the real atmosphere of the DSDM style of working. 3) Chat facilities: For quick interchange of short pieces of information, this can be very effective. The sender can usually see whether the recipient is actually online and so they can expect a fast response. Most chat facilities have an automatic record feature, allowing the conversation to be saved. • Allows communication using words • Excludes tone of voice and body language 4) Email: Often treated (wrongly!) as the default communication channel. Email can be very effective for confirming what has been previously agreed (where the earlier discussion has used a communication channel higher up on this list). Email is also an effective channel for broadcasting information to a large group where getting people together is not justifiable, provided email best practice is followed. • Allows communication using words • Excludes tone of voice and body language To be most effective, emails should remove as much of the unnecessary “padding” as is possible whilst still ensuring the message is clear and stands out. Care should be given to elements such as the email title (so that the recipient can quickly assess how relevant the content is to them) and the list of To: and Copy: recipients. 5) Collaborative workspaces: These can be very effective for communicating informally within a team. It allows communication using words, models, pictures. Some workspace examples are project websites, intranets/extranets, Googledocs, Dropbox, Huddle; there are many others. 6) Documents: These are still important in DSDM, for capturing and managing more formal 118 CU IDOL SELF LEARNING MATERIAL (SLM)

information and artefacts which need to be shared and managed, for example a risk log. However, where information is volatile or needs clarification, a document would normally be the last choice for effective collaborative communication. MANAGING CUSTOMER EXPECTATIONS Employing these five powerful strategies for managing customer service expectations: \"Companies can maintain happy clients long-term by managing their expectations from start to finish.\" 1. Openly discuss solutions Businesses that have highly knowledgeable customer support teams should be well-versed in the solutions to every potential problem and be able to speak to those possibilities quickly. One important way businesses can manage customer service expectations is by openly discussing possible solutions to a problem with the client. By listing off possible resolutions, support teams empower their clients to understand the complexity of a particular problem and engage directly with its solution. Additionally, by painting a clear picture of possible results, service teams ensure customers don't have unrealistic expectations of how simple or difficult the resolution will be. 2. Provide clear timelines Glitches, errors, and bugs in B2B software can be irritating and costly to customers. However, clients will become angrier if they look forward to their problem being solved in a week, and instead wait a week and a half. Businesses can manage customer service expectations by clearly stating how long any particular task will take from the moment the client gets on a customer support call until the resolution is in progress. Teams should ensure customers are well-informed of not only how long a phone call will take, but how much time and work is required to get them a solution as quickly as possible. 3. Be transparent and honest Transparency is absolutely crucial to managing B2B customer service expectations effectively and will affect clients' ability to trust a company. Businesses can ensure clients remain confident in their providers and have a positive experience by remaining honest in every possible situation. This means if a customer service representative doesn't have the right answer to a problem, he or she should be open about consulting with other members of the team. Regardless of the situation, support teams should avoid keeping secrets at all costs. 4. Remain optimistic, but realistic While optimism is an important part of a positive customer experience, representatives must also remain realistic about solutions. By understanding company policies, the complexities of certain problems and the workload of their team members, support experts can gauge how a particular ticket will be solved and the time investment that is required. While it can be nerve- wracking to tell a client a problem will take longer than expected to resolve, it is more important to be realistic than set expectations that can't be met. 119 CU IDOL SELF LEARNING MATERIAL (SLM)

5. Follow up regularly Finally, support teams can manage customer service expectations by following up after each stage of the resolution process. As Customer Experience Insight pointed out, most customers are not bothered by companies touching base with them. On the contrary, clients expect businesses to follow up with them to round out their customer experience. After a customer service agent communicates the potential solutions to a problem and offers realistic timelines, he or she should follow up with the client through email to reiterate what was decided. Additionally, customer support teams should always check in with clients as the resolution progresses, and once a ticket has been closed. GROUP BEHAVIOR The general structure of a development team looks and includes the following roles: Group Behaviour: A group can be defined as two or more interacting and interdependent individuals who come together to achieve particular objectives. A group behavior can be stated as a course of action a group takes as a family. For example − Strike. Types of Groups There are two types of groups individuals form. They are formal groups and informal groups. Let us know about these groups. Formal Groups These are the type of work groups created by the organization and have designated work assignments and rooted tasks. The behavior of such groups is directed toward achieving organizational goals. Formal groups can be further classified into two sub-groups − • Command Group − It is a group consisting of individuals who report directly to the manager. • Interest Group − It is a group formed by individuals working together to achieve a specific objective. Informal Groups These groups are formed with friendships and common interests. These can be further classified into two sub-groups − • Task group − Those working together to finish a job or task is known as a task group. • Friendship group − Those brought together because of their shared interests or common characteristics is known as friendship group. For example − A group of workers working on a project and reporting to the same manager is considered as command group, while a group of friends chilling out together is considered as an interest group or say members of a club. Group Roles 120 CU IDOL SELF LEARNING MATERIAL (SLM)

The concept of roles is applicable to all employees within an organization as well as to their life outside the organization. A role is a set of expected behavior patterns attributed to the one who occupies the position demanded by the social unit. Individuals play multiple roles at the same time. Employees attempt to understand what kind of behavior is expected from them. An individual when presented by divergent role expectations experiences role conflict. Group roles are divided into three types − Task-oriented Roles Roles allotted to individuals according to their work and eligibility is known as task-oriented roles. Task-oriented roles can broadly divide individuals into six categories initiator, informer, clarifier, summarizer, reality tester and information seekers or providers respectively. • Initiator − The one who proposes, suggests, defines. • Informer − The one who offers facts, expresses feelings, gives opinions. • Clarifier − The one who interprets, defines, clarifies everything. • Summarizer − The one who links, restates, concludes, summarizes. • Reality Tester − The one who provides critical analysis. • Information seekers or providers − The one who gives information and data. These roles present the work performed by different individual according to their marked designation. Relationship-oriented Roles Roles that group individuals according to their efforts made to maintain healthy relationship in the group and achieve the goals are known as relationship-oriented roles. There are five categories of individuals in this category − harmonizer, gate keeper, consensus tester, encourager, and compromiser. • Harmonizer − The one who limits tension and reconciles disagreements. • Gate Keeper − The one who ensures participation by all. • Consensus Tester − The one who analyzes the decision-making process. • Encourager − The one who is warm, responsive, active, shows acceptance. • Compromiser − The one who admits error and limits conflict. These roles depict the various roles an individual plays to maintain healthy self as well as group relationships. Individual Roles Roles that classify a person according to the measure of individual effort put in the project aimed is known as individual roles. Five types of individuals fall into these roles − aggressor, blocker, dominator, cavalier, and avoidance. • Aggressor − The one who devalues others, attacks ideas. 121 CU IDOL SELF LEARNING MATERIAL (SLM)

• Blocker − The one who disagrees and rebels beyond reason. • Dominator − The one who insists superiority to manipulate. • Cavalier − The one who takes part in a group non-productively. • Avoidance − The one who shows special interest to avoid task. These are the various roles a person plays in an organization. Well-Functioning Groups We know what a group is, why it is important to form a group, and what the group-oriented roles are. Now we need to know how to mark a group as a well-functioning group, what features are necessary for a group to mark it as an efficient one. A group is considered effective when it has the following characteristics − • Atmosphere is relaxed, comfortable, and friendly. • Task to be executed are well understood and accepted. • Members listen well and actively participate in given assignments. • Assignments are made clear and are accepted. • Group is acquainted of its operation and function. • People express their feelings and ideas openly. • Consensus decision-making process is followed. • Conflict & disagreement center regarding ideas or method. SUMMARY ▪ Project team members are the persons who actively work on one or more phases of the project. They may be in-house staff or offshore development team, working on the project on a full-time or part-time basis. Team member roles and responsibilities can vary depending on the project. ▪ A good project team organization involves a proper setting of team responsibilities and duties while considering specific goals and objectives for the project. ▪ Team structure is important for Clear Reporting Relationships, Rapid Growth and Expansion, Efficient Task Completion and Better Communication. ▪ Communications management is the key to project control; the essential element of project management. Without the benefit of a good communications management system, the processes involved in the development of a project from conception to completion can be seriously constrained. ▪ Communications management provides the vital project integrity required to provide an information lifeline among all members of the project team. This data must flow downward, upward and laterally within the organization ▪ A group can be defined as two or more interacting and interdependent individuals who come together to achieve particular objectives. A group behavior can be stated as a course of action a group takes as a family 122 CU IDOL SELF LEARNING MATERIAL (SLM)

KEYWORDS • Developers or software engineers are team members that apply their knowledge of engineering and programming languages in software development. • Undated: not provided or marked with a date. • Group Behaviour: A group can be defined as two or more interacting and interdependent individuals who come together to achieve particular objectives. • Gauge: estimate or determine the amount, level, or volume of. • VC: “A virtual conference is an activity, organised in a way that participants can meet and discuss themes of common interest through the use of communication tools at a central location on the Internet. LEARNING ACTIVITY 1. State Pros and Cons of Distributed Team Communication. 2. How to improve Collaborative Work Space? UNIT END QUESTIONS A. Descriptive Type Questions 1. Explain Team Structure. 2. Why the following statement is true - Communicating effectively actually requires some careful thought on how to take full advantage of the communication options available? If/if not gives reason. 3. Discuss - \"Companies can maintain happy clients long-term by managing their expectations from start to finish.\" 4. A role is a set of expected behavior patterns attributed to the one who occupies the position demanded by the social unit. Explain it with the help of Group Behavior Context. 5. What is Collaboration and how to build effective collaboration in teams? B. Multiple Choice Questions 1. Who is a highly-skilled software developer that has to think through all the aspects of the project and is responsible for making high level design choices, as well as select technical standards? a) Developer b) Software architect 123 CU IDOL SELF LEARNING MATERIAL (SLM)

c) End User d) Designers 2. Whose role is to uncover the ways to improve the product? a) Business Analyst’s b) Project Manager c) QA d) Product Owner 3.What is absolutely crucial to managing B2B customer service expectations effectively and will affect clients' ability to trust a company. a) Availability of service men b) Documentation c) Transparency d) Providing 24 x 7 service 4. What can be very effective for communicating informally within a team. a) VC b) E-mail c) Chat facilities d) Collaborative workspaces 5.It is a group consisting of individuals who report directly to the manager. a) Command Group b) Task Group c) Friendship Group d) Interest Group Answers: 1 -b; 2 - b; 3 -c; 4 - d; 5 -a REFERNCES ▪ Project Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK® Guide)–Sixth Edition Sixth Edition, Sixth edition, Project Management Institute ▪ Bob Hughes, Mike Cotterell and Rajib Mall, ‘Software Project Management’- Tata McGrawHill. ▪ Bennatan E. (1994).Software Project Management.London: McGraw-Hill. ▪ J. Chris White Robert M. Sholtes The Dynamic Progress Method: Using Advanced Simulation to Improve Project Planning and Management , CRC Press 124 CU IDOL SELF LEARNING MATERIAL (SLM)

▪ Phillip Bruce , Sam M. Pederson The Software Development Project: Planning and Management, Wiley ▪ Hazel Raoult, 8 tactics to improve collaboration while working remotely, https://pmtips.net/article/ 125 CU IDOL SELF LEARNING MATERIAL (SLM)

126 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT 10: ROLE OF USER IN PROJECTS Structure Learning Objectives Introduction User role in project management User role in various stages of S/W Development User role in System implementation Summary Keywords Learning Activity Unit End Questions References LEARNING OBJECTIVES After studying this unit, you should be able to • Describe the user role in project management. • Explain the user role in various stages of S/W Development. • Identify the user role in System implementation. INTRODUCTION A key first step when buying business software is determining what goals you wish to accomplish. Focusing on these goals helps you to find software that is the best fit for you and your business. When considering your goals, it is important that you include your end users in the process. The people who will eventually use the software you select will have the most pertinent input regarding the features it should include. Software Development requires a large number of technical resources as well as stakeholders. Those are software developers on the technical side, and potential users on the market side. The success factor of software heavily depends on whether the software solution is able to fulfill the expectations of the addressed users. USER ROLE IN PROJECT MANAGEMENT 1. End users have hands-on knowledge of the problems that need to be solved by the new software. Their expertise and proximity to the problems make them qualified to give suggestions for how to best fix those problems. 2. End users have experience with the previous software application. This experience translates into valuable knowledge regarding what works and what does not. If the previous solution had a feature that did order processing really well, but could not print 127 CU IDOL SELF LEARNING MATERIAL (SLM)

needed shipping labels, the best way to find this out is by talking to the people who know it: the end users. 3. End users can advise on which features are most needed. End users have intimate knowledge of the problems that need to be solved. They can provide you with valuable input about what functions the new software should be able to perform. Need to know whether resource scheduling or deadline tracking is more important? Ask these people. 4. It will encourage end user adoption. Including end users (especially influential ones) in the buying decision and having them at demos and live presentations will make them aware of helpful features and receptive to fully using the software. Additionally, soliciting their ideas will make end users feel like their opinions matter and give them more of a stake in ensuring the software succeeds. USER ROLE IN VARIOUS STAGES OF S/W (SOFTWARE) DEVELOPMENT Fig 10.1: Stages of SDLC Requirements gathering and analysis This stage focuses on developing, collecting, and analyzing all the business requirements of the software product. Most of the time, this is based on carrying out meetings where project managers, as well as other stakeholders and possibly end-users, determine the system requirements. They do that by answering questions such as: • Who is going to be the end-user of the software? • How will they use it? 128 CU IDOL SELF LEARNING MATERIAL (SLM)

• What will be the input and output of the system? • What problem will it solve? All of these are general questions that allow the company to crystallize their ideas and perform the initial risk analysis. Once all the requirements have been gathered, it’s time to carry out the requirements analysis. This is where teams check requirements for validity and the possibility of implementing them in the system to be developed. It’s the foundation of a Requirements Specification Document which serves as a guideline for the next phases in the software development lifecycle. But that’s not everything that happens during this stage. Once the requirements analysis is complete, the testing team should start planning test scenarios. Design In this stage, the team is ready to prepare a software design based on the Requirements Specification Document that allows determining the hardware system requirements and the overall system architecture. What is the objective of this stage? Design specifications are the key product of this phase. They serve as a guideline for the next stage in the software development lifecycle, implementation, or coding. What about the testing team? The design phase is also the time when testers come up with a testing strategy where they specify what will be tested and how. Once the design specification document is ready, it’s time for all the stakeholders to review with and offer their feedback and suggestions. Deployment Once the testing phase is over and successful, it’s time to deliver the product to customers by deploying it. Deployment basically means that your system is made available to end-users. It’s smart to rely on an initial deployment phase before rolling out your solution to the public. As soon as that happens, the first users start testing your application. If they discover any changes required changes or bugs, they can report back to the team. And once everything is fixed, it’s time for final deployment. Maintenance Don’t expect the development process to be over once the product is shipped to customers. This is when the maintenance phase begins. You can be sure that some new problems emerge when end-users start using the system. These will have to be solved by the development team. Taking care of a developed product is important because no plan can turn out perfectly when it meets reality. Also, expect the conditions in the real world to change. Your software might require updates or advancements to match evolving company demands. 129 CU IDOL SELF LEARNING MATERIAL (SLM)

What are the common problems during the software development process? Forgetting about the needs of end-users – one of the key challenges in the process of building software appears during the early stage of requirements gathering. Since this phase involves many parties, it’s easy for the Requirements Specification Document to go astray – especially when the team follows the waterfall model of building software. • How to avoid it? Use models that encourage end-user participation in the process. Models like Scrum mitigate this risk because they involve the end-users increasingly with each iteration, ensuring that the solution has a solid product-market fit. Changes and late requests – sometimes, project stakeholders suddenly decide to request the feature because of a change in their vision. Other times, they simply realize that a specific feature could be useful too late. A simple request like that could have huge implications on the development team. • How to avoid it? By gathering all the requirements and analyzing them in the early stages. It’s also smart to make the stakeholders understand the potential implications of such late requests. Not enough time for testing – the team usually wants to ensure that the software works in accordance with the initial vision. However, testing for security and bugs is just as important. Unfortunately, due to budget constraints or bad management, some teams end up getting very little time for testing, which is often underestimated. • How to avoid it? Allocate testers enough time to test the product thoroughly. Otherwise, you have no chance of catching bugs or security issues before releasing your software to the end-users. USER ROLE IN SYSTEM IMPLEMENTATION Implementation is a process of ensuring that the information system is operational. It involves − • Constructing a new system from scratch • Constructing a new system from the existing one. Implementation allows the users to take over its operation for use and evaluation. It involves training the users to handle the system and plan for a smooth conversion User Training • End-user training is an important part of the computer-based information system development, which must be provided to employees to enable them to do their own problem solving. • User training involves how to operate the equipment, troubleshooting the system problem, determining whether a problem that arose is caused by the equipment or software. • Most user training deals with the operation of the system itself. The training courses must be designed to help the user with fast mobilization for the organization. 130 CU IDOL SELF LEARNING MATERIAL (SLM)

Training Methods: Instructor-led training It involves both trainers and trainees, who have to meet at the same time, but not necessarily at the same place. The training session could be one-on-one or collaborative. It is of two types − Virtual Classroom In this training, trainers must meet the trainees at the same time, but are not required to be at the same place. The primary tools used here are: video conferencing, text based Internet relay chat tools, or virtual reality packages, etc. Normal Classroom The trainers must meet the trainees at the same time and at the same place. They primary tools used here are blackboard, overhead projectors, LCD projector, etc. Self-Paced Training It involves both trainers and trainees, who do not need to meet at the same place or at the same time. The trainees learn the skills themselves by accessing the courses at their own convenience. It is of two types – Multimedia Training In this training, courses are presented in multimedia format and stored on CD-ROM. It minimizes the cost in developing an in-house training course without assistance from external programmers. Web-based Training In this training, courses are often presented in hyper media format and developed to support internet and intranet. It provides just–in-time training for end users and allow organization to tailor training requirements. SUMMARY ▪ End users have experience with the previous software application. This experience translates into valuable knowledge regarding what works and what doesn’t. If the previous solution had a feature that did order processing really well, but couldn’t print needed shipping labels, the best way to find this out is by talking to the people who know it: the end users. ▪ Depending on the project and related organizational needs, end-users roles can run the gamut from customer, to sponsor, to active participant, to liaison and even project executive. The possibilities depend on how your IT organization is structured, use of technology, and IT/end-user relationship. While related project roles will vary in specifics, there is one constant - assigned roles and responsibilities must be clearly defined and openly approved. To get everyone on the same page, these elements are most efficiently expressed and allocated according to four (4) key variables - scope, ownership, input and authority. 131 CU IDOL SELF LEARNING MATERIAL (SLM)

▪ Gain Productivity: Few corporate (like Whirlpool, Ford, Nike, Apple, Coca-Cola, IBM, Disney, P&G, Starbucks etc.), which focus on design thinking/ user experience, are having consolidated average growth 228% higher than S&P index. ▪ Decrease user Errors: A 30 days project of SAP Screen Personas achieved to reduce the number of screens from 7 to 3 and the number of clicks from 45 to 26. At the end of project, the end users told us, wow, great, thank you IT organization. The project has resolved 7 out of 10 of their common error and issues. This leads to reduction of 70% IT incidents in the specific business process. ▪ Save Training Cost: Average 3,000 new or additional people join our partner organization every 18 months. They invest 2 days to get trained and primarily how to work with the system. Imagine if one can reduce this to 1 day or even a half day. You can easily calculate how much money can be saved. ▪ Decrease Change Requests: Unilever gets average dozens, sometimes hundreds of change requests when they release a new solution to the business. They applied Design Thinking methodology, user-centered design in a certain project during the implementation project. At the end, they only had average 7 change requests. KEYWORDS • Proximity: nearness in space, time, or relationship. • Expertise: expert skill or knowledge in a particular field. • Application software (app for short) is a program or group of programs designed for end users. • Features: a distinctive attribute or aspect of something. • Adoption: the action or fact of choosing to take up, follow, or use something. LEARNING ACTIVITY 1. How to improve the user experience in software development cycle. 2. Write down measures to improve the relation of users with software implementation team. UNIT END QUESTIONS A. Descriptive Type Questions 1. How we can define ‘End User’ in Software Project Management? 2. State User role in project management. 3. Discuss the integration and participation of User in various stage of software development. 132 CU IDOL SELF LEARNING MATERIAL (SLM)

4. What are the common problems during the software development process? 5. Why it is important to involves the training of the users to handle the system and plan for a smooth conversion? B. Multiple choice questions 1. Which of the following is not a user interface design process? a) User, task, and environment analysis and modeling b) Interface design c) Knowledgeable, frequent users d) Interface validation 2. When users are involved in complex tasks, the demand on can be significant. a) short-term memory b) shortcuts c) objects that appear on the screen d) all of the mentioned 3. A software might allow a user to interact via a) keyboard commands b) mouse movement c) voice recognition commands d) all of the mentioned 4. What establishes the profile of end-users of the system? a) design model b) user’s model c) mental image d) system image 5. Which of the following is not a design principle that allow the user to maintain control? a) Provide for flexible interaction b) Allow user interaction to be interrupt-able and undo-able c) Show technical internals from the casual user d) Design for direct interaction with objects that appear on the screen Answers: 1 -c; 2 - a; 3 -c; 4 - b; 5 -c 133 CU IDOL SELF LEARNING MATERIAL (SLM)

10. 9 REFERENCES ▪ Project Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK® Guide)–Sixth Edition Sixth Edition, Sixth edition, Project Management Institute ▪ Bob Hughes, Mike Cotterell and Rajib Mall, ‘Software Project Management’- Tata McGrawHill. ▪ Bennatan E. (1994).Software Project Management.London: McGraw-Hill. ▪ Anna P. Murray, The Complete Software Project Manager: Mastering Technology from Planning to Launch and Beyond , Wiley ▪ Terry T. Kidd , Handbook of Research on Technology Project Management, Planning, and Operations (Advances in IT Personnel and Project Management), Information Science Reference ▪ Brad Egeland, the connection between the project and the end user, https://pmtips.net/article 134 CU IDOL SELF LEARNING MATERIAL (SLM)


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook