Top Special Offer! Check discount
Get 13% off your first order - useTopStart13discount code now!
Characteristics
In Agile project management, the goal of the project manager is to ensure effectiveness of the task outcomes considering flexibility, team performance, and delivery of the desired outcomes. It is majorly used during software development in which various cross-functional teams participate in working simultaneously in the areas of planning, requirements analysis, design, and development of codes, testing, and acceptance of the final project (Fernandez and Fernandez 2008, p. 10). The commonly used approaches in agile project management are scrum, extreme programming, and lean principle as a means of reducing wastes. These tools are beneficial to organizations in promoting adherence to the agile manifesto and emphasize on communication and product flexibility. Other characteristics of agile project management are:
Scrum: This is the most common technique of describing a simplified agile software development. The focus of scrum is the need for the software development team to follow and comply with the procedures for robust change in the frequently emerging requirements for change. The major benefits associated with scrum are increased visibility of the objectives of a project and methods of achieving them (Germain and Robillard 2005, p. 17). Due to this agile feature of a project, there is even more focus on promoting the completion of software development on time. According to Cadle and Yeates (2004, p. 177), scrum is dependent on self-organizing and there is no reliance on an overall team leader in making a decision of the person who performs a particular task or the method of resolving a problem. An example of a situation where scrum is implemented is when a project design team develops vision, build software, and test the developed software in relation to the function for which it was designed (Walczak and Kuchta (2013).
Figure 1. Stages of Implementation of Agile project management methodology.
Source: Walczak and Kuchta (2013)
Quality: During the software development cycle, testing constitutes an important element by enabling inspection of the product in various stages during its development. This enables the project stakeholders to understand the quality issues that emerge in the course of its development.
Visibility: Agile project management puts more emphasis on active involvement of ‘user/client’ in order to enable visibility of the major progress in the project by key stakeholders. By having visibility of the progress of the project, they are assured that the major functions required in the software are incorporated (Leybourne 2009, p.519).
Timely Identification and Solving Challenges: When additional features or requirements are added to the project during its development, the project team is able to identify the emerging issues in a timely manner and respond appropriately to change requirements. The clear understanding of agile development is beneficial in ensuring that any specific decision can be taken as soon as possible, while it is still possible to make changes to achieve a better outcome.
Flexibility/Agility: Agile project management requires that the project team and stakeholders must be willing to accept change. These changes must be accepted when new requirements emerge within the timeline of the whole project. In order to achieve agility, stakeholders must be actively involved in understanding the concept of agility and making the required trade-off decisions in favor of the new scope.
Involvement of User representative and Integration of Preferences: When the user or a representative is available during the software development, visibility of the product progress is achieved and being flexible to change creates a business environment that promotes customer satisfaction. There can be a strong working relationship when this aspect of agile project management is put into consideration.
Making the project Enjoyable: Agile project management requires that the project team and users/clients must be cooperative and collaborative in order to make the project management enjoyable. Rather than creating big specification, the stakeholders can meet in workshops and identify the requirements which are then implemented in the project in a timely fashion. Instead of using lengthy reports, cooperation among project team members enables identification of what is right in the development of software thus being empowered to determine the course of action. Collaboration and cooperation results into the creation of a motivated and high performing project team (Office of Government Commerce 2009, p. 304).
Transparency: Workers and users are given the opportunity for participation in various activities of a project, from identification of features to planning the inputs and reviews of tasks of software development, thus creating the opportunity to promote transparency in the costs incurred in various stages. The ability of the client to see the progress of work is important in achieving an added advantage of transparency.
Foreseeable Project Cost and Plan: Since the project tasks are allocated fixed durations of time, the corresponding costs are predictable and restricted to the amount of work to be undertaken by the software development team within a fixed time period (Špundak 2014, p. 941). When cost estimates for each Sprint are incorporated, the project owner is able to identify the likely cost of each feature, resulting into an improvement in decision making procedure in relation to the priorities that need to be put into consideration and the recommended iterations.
o Advantages of Agile Project Management
The advantages of agile project management are:
Increased focus on Customers’ Needs: During agile projects, customers are involved on all activities taking place rather than the beginning and the end of the project. The involvement of customers acts as a mitigation of one of the most common problems during software development; the likelihood of the outcome being different from what customers expected at the beginning of the project (Olsson 2006, p. 67). A part from identification of misunderstandings in the initial stage of the project, interaction provides the customer with the ability to develop vision of the product to be produced. Agile project management framework provides the project team with visibility of the desired product, improves adaptability, increases value to a business, and ensures risks are reduced (Leybourne 2009).
Figure2. Summary of Benefits of Agile development compared with traditional project management methodology
Source: Leybourne (2009)
Greater Agility: The work environment in which agile project management takes place is characterized by changes in customer requirements, environmental changes, organizational changes, and changes in developers. In Agile method of project management, the focus is on promoting an interactive lifecycle that enables change to be implemented. The needs of customers are used as a framework for determining the tasks to be performed and the outcomes that can be effective in addressing those needs. Changes are also made in business environment to empower the project team to use resources and skills towards addressing customer’s needs (Saynisch 2010, p. 22).Due to the iterative and incremental nature of agile project management, these sorts of changes are achieved in an organized manner compared with traditional projects. Since customer participation is considered in agile project management, most projects that use this methodology do not deviate from the desired objectives of creating products that satisfy customers’ needs.
Customer Expectations are Realistic: Most customers do not have understanding of the desired outcome of a software development project. This can result into many problems and arguments and the customer demands specific preferences to be put into consideration in the development of software. There is a continuous cooperation between the software developer and customer to ensure high-level requirements are defined (Shenhar and Dvir 2007, p. 26). The customer is present at the rough times of the project to ask questions regarding the functions of various components of the software. The customer also provides details of the requirements as the technical team work on the software. The client provides feedback that is used to assess various ends of iterations of a project. There is collaboration between the customer and the developers of the software in adapting to various changes as they are encountered in the software development cycle.
Improved Motivation of the project Team: Agile project management is preferred because it promotes positive relationship among the development team and ensures customer satisfaction is promoted. An agile team are self-motivated and perform tasks with the focus on promoting collaboration until a project is completed. The agile team performs independent project planning and work according to a plan that addresses the changes that occur in the course of a software development. The customer is a member of this team and ensures the project team ends up with what is required. Since the agile teams are self-directed, they are able to figure out what is likely to take place, issues and complications that are likely to emerge, and negotiate compromises among them (Williams 2005, p. 498). Self-directedness in a team is a requirement that ensures effective use of time, resources, and skills to accomplish a software design project. When there is the need for a corrective action, there is no confusion regarding the person who should perform a particular task in the course of a software design project. Software development project requires that the management must empower the project team with the authority to operate independently by respecting their perspectives regarding the sequence of tasks to be performed in the design of software.
Improved Team Productivity: Increased motivation in a team results into improved productivity due to reasons that do not only include higher employee satisfaction at work. Due to a high number of milestones that need to be achieved at the ends of various iterations, agile team tend to avoid slack off by focusing on achieving deadlines that are relatively near. Furthermore, agile developers use the ‘pay down’ approach of working which promotes productivity. In case of the existence of technical questions that are not resolved, the agile team will confront these things in time and ensure uncertainty is eliminated in situations where deadlines may be missed (Boehm and Turner 2005, p. 32). In case of the occurrence of design errors that are not corrected, agile team will develop a code of ensuring incremental software development, rather than creating codes to them and postponing error detection. An agile team ensures a code is tested in the process of writing and do not consider it to be done until all tests are performed successfully. They are less reliant on testers or anyone else to detect the defects in software development which is subject to ineffective testing at the end of the project.
Processes are Adequately Refined: In agile project management, the project team develops a number of lessons learned in various stages of software development. Since it is a natural part of the process, they ensure it is not skipped or preempted. Since it is a regular experience, agile team is able to obtain greater value from the specific lessons learned rather than those provided by an organization regarding the lessons learned during a project (Scanlon-Thomas 2011, p. 19). During transition from one iteration to another, agile team try to identify areas where success was achieved and areas that were problematic for the iteration and methods applicable to reach a solution. The solution that is applied in a particular iteration situation provides a basis for resolving a similar problem in the future.
How to Ensure Quality in Agile Project Management
Cross-Functional Teams: When the software team is composed of specialists in various stages of design, they are able to solve any challenge that emerges in the course of software development. The cross-functional team can be composed of User Experience Designers, Business Analysts, System Developers, and Testers (Walczak and Kuchta 2013, p. 194). This cross-functional team enables the elimination of bottlenecks and increased exchange of information through consultation.
Definition of Done
(DoD): This is a technique of gauging whether a requirement has been addressed to satisfaction during the design of the software. For instance, it can include whether the code was peer reviewed, having an automated test that is confirmed to be functional, consistency in writing codes, and whether the program has been reviewed by the customer (Špundak 2014, p. 940). Failure to obey DoD in favor of long term growth usually results into a trail of technical debt that is likely to affect the project.
Automating Testing: testing is a major procedure in ensuring the quality of a written code because it enables writing unit tests that identifies problems in a code in early stages of program development as well as automating the test in accordance with the preference if the user (Litchmore 2016, p. 246). In some instances of agile software testing, they may be considered as forms of documentation.
Integration of Best practices: In continuous integration of best practices, developer working copies are merged to enable resolution of integration issues. It uses automated unit tests and automated build servers to promote the quality of a software development project. Developers can make use of modern code repositories that come with methods of promoting continuous integration of best practices.
Test-Driven Development: In this process, it is recommended that a process developer must begin by writing a section of the program that is prone to failure when similar programs are written. This is followed by a continuation of development of the current program until it passes the automated stage. This practice ensures simplicity of design and can be achieved by writing enough code to enable the code pass a test.
Pair Programming: In pair programming, the focus is on improving the quality of the program at the coding stage in which two people are involved in writing the program code. One person is the ‘pilot’ who types the program while another person is the ‘navigator’ who offers advice to the person who writes (Fernandez and Fernandez 2008, 16). The use of pair programming is effective in reducing defects, increasing the quality of the design, and enables project developers to learn from one another. According to Eriksson and Penker (2000, p. 8), pair programming is beneficial in terms of its role in promoting cooperativeness and support among the programmers.
The Use of Management Theories in PRNCE2 Principles
Projects IN Controlled Environment, version 2 (PRINCE2) principles are widely used during management of most projects. It states that a project can be effectively managed by integrating the elements, namely: principles, themes, processes, and tailoring (Fernandez and Fernandez 2008, p. 12). The PRINCE2 principle constitutes a foundation on which everything else in a project is based. PRINCE2 principles can be effectively implemented during a project by integrating management theories as illustrated below:
Continued Business Justification
This is the process where the project developers identify that reason why a particular software development is being undertaken. They identify the benefits that the project will bring to the project owner. The project developers continually revise the business case while the project is undergoing. If it is identified that the project is no longer viable at any particular point, the project is closed. Continuous business justification requires that a project should be continuously assesses to be justifiable in terms of its ability to promote effective resource utilization (Germain and Robillard 2005, p. 22). The management theory that can be used to achieve continuous business justification is Contingency Management which states that there is no specific way of solving problems but the solution to each problem is addressed based on the nature of the challenges encountered. A project manager has the duty to take an appropriate action based on the assessment of the current situation. In the case of software development project, the project developer must assess each situation that arises and determine their capabilities and skills that are mostly relevant to achieve a positive outcome of the current project (Hanisch and Wald 2012, p. 5). However, the selected approach for project management should achieve the goals of reduced costs, increased benefits, and few risks. In order to apply contingency theory of management in an effective manner, there is the need to develop the right culture, apply the available technology to achieve the target performance, understand the governance policies affecting the business, and understand the demographic characteristics of users of the final product (Clarke 2010).
Figure 3. Framework of Contingency management Theory
Source: Clarke (2010)
Learning from Experiences
As humans, we are liable to making mistakes during previous projects. As project managers, we are required to document the experiences and mistakes committed during the previous projects and using them as lessons (Leybourne 2009, p. 525). This principle requires that the project team must learn in various steps and tasks undertaken in the present project and continuously making changes in the strategy of execution of tasks to achieve an improvement. The management theory that can be applied in this situation is transformational leadership which requires that leaders should create an environment of continuous learning and improvement from the current challenges encountered. A transformational leader provides coaching, guidance, and training to the followers to use new approaches in solving the emerging difficulties in a task (Clarke 2010, p. 16). When this theory is combined with the principle of learning from experiences, the project manager can use the past experiences in managing the projects to provide guidance to the project team so that they learn new approaches of performing tasks in various stages of the software development project. In order to overcome the challenge of making mistakes of the past, it is recommended that project managers should seek the services of experts who are able to make impartial decisions during a project Eriksson and Penker (2000,p. 7). There should be a repository project management office (RPO) that documents lessons learned and ensures they are used to resolve difficulties in future projects.
Defining Roles and responsibilities
This principle requires that the project manager must ensure only people who have skills of performing particular tasks are assigned to perform them during a software development project. In most situations, cross functional teams is mandatory. In software development project, the cross-functional team may be composed of software development team, designers, analysts, and software testing team (Office of Government Commerce 2009, p. 18). The people who are assigned specific roles must understand their responsibilities during the project. In most PRINCE2 project, three stakeholders are involved; the business financier, the users, and the suppliers. The sponsor is responsible for allocating funds for purchase of inputs into the project and monitoring the use of finances to ensure they are spent well. The users are those who benefit when the projects are completed while suppliers are those who provide expertise required to achieve the deliverables. There is the need to represent each stakeholder adequately in order to ensure chances of success of the project are maximized (Germain and Robillard 2005, p. 22). The management theory that applies in this case is Classical Management Theory which states that management is achieved by creating an administrative framework composed of clearly defined roles and responsibilities that are directed towards the achievement of the overall goals and incorporating the participation of others. The emphasis of Classical Management theory is division of work among staff depending on their skills and qualifications, thus preventing the involvement of one person in performing many tasks (Kerzner and Kerzner 2017, p. 10). It recommends that respect should exist between team members and that there should be a one man superior. In agile project management, the project manager can act as the unity of command by providing guidance to other project teams on the strategy to be followed by the entire project team. Classical management theory requires that the superior person is responsible for formulating the plan of tasks to be accomplished by the whole project team. It also recommends that work should be carried out in the right place and in the appropriate order.
Managing by Stages
The project should be managed in stages by breaking it down into workable tasks. The objective is to ensure a high-level vision is created for the accomplishment of the long-term objectives of the project by successfully completing the short-term processes which are more detailed. The management of the stage plan ensures the project teams have control over the project upon completing them and decisions are made to establish whether other tasks to be performed will be achievable (Olsson 2006, p. 68). The management theory that applies to this principle is Scientific Management theory. In this theory, data and measurements are used in processes evaluation and identification of information that is relevant for the achievement of the desired outcomes. The data collected is used as the basis of developing standardized procedure for performing tasks (Hanisch and Wald 2012, p. 22). An approach promotes the performance of mechanized operations. In software development project, Scientific Management Theory can be relevant in ensuring particular standardized procedures are followed during initial stages of the project and tasks are performed according to specific guidelines.
Management by Exception
In this principle, the focus is to promote tolerances in the achievement of project objectives such as; time, cost, scope, quality, and management of risks. It also involves defining the limits of project members to exercise their authorities in making certain decisions that are beyond tolerance limits (Saynisch 2010, p. 30). Tasks such as; management, delivery, and directing must be performed according to specific tolerance limits. The management theory that is relevant in this case is the contingency theory because it emphasizes that different approach should be used to solve the current difficulties encountered in management depending on the nature of the challenge (Hanisch and Wald 2012, p. 7). It is relevant in promoting management by exception because it empowers the project team to determine different solutions for achieving the project outcomes when constraints exist in cost, quality, risks, and benefits. The success of the software development process is dependent on the ability of the designers to withstand the constraints of scope, quality, and time while providing the desired product that is beneficial to the final user.
Focus on the Product
The concept of focusing on the product involves being interested in achieving the end-result rather than the work being carried out in the project. For instance, when developing software, the developer must ensure the functions to be achieved are achievable. With that under consideration, the management tasks should be performed with the goal of achieving the desired product and not work (Leybourne 2009, p. 520). According to Cadle and Yeates, Deds (2004, p. 235), the act of focusing on the product promotes innovativeness among the project team to device solutions to the current operational challenges they encounter. The features of the product should be adequately identified and understood by the project developers. The quality attributes and format composition should be aimed at achieving a clear quality feature. When there is greater focus on value, the project manager is able determine the workflow that enables the achievement of the goal (Fernandez and Fernandez 2008 p.530). The management theory that can be applied in this situation is Vroom’s Expectancy theory; it states that management should be undertaken in consideration of the expected outcome of a particular activity which in turns creates a motivation for the workforce to deliver the desired result.
Tailoring to the Project Environment
A major characteristic of PRINCE2 project management principle is that it does not follow a particular rigid framework, but is dependent on an understanding of the specific environment in which a project is undertaken (Williams 2005 p. 498). While the current project may have similar characteristics as the past projects, it must be approached in a different way that takes into consideration the current environment that affects the requirements and approach for performing specific tasks (Fernandez and Fernandez 2008, 13). The management theory that applies in this situation is Contingency management theory which requires that management should not involve the use of a ‘one-size fits all’ but developing a management approach depending on the unique complexities of the current problems. According to Eriksson and Penker (2000, p. 10), each project comes with its own set of challenges that the project manager must be willing and ready to follow as recommended.
The Product Breakdown Structure Based on the scenario and One work Package
Product Breakdown Structure
The following table provides the product breakdown structure for the Internet Based Library management System (ILMS) to be used at the institution.
Accessibility Section: The accessibility section provides the means of signing up and getting a personal profile which enables the user of the information system to get a personalized control of access to books. During the entry of the users’ profile, information that will be included are; names of the user, the admission number in case of students, employee number in case if staffs, and National Identification (ID) card number in case of the public (Hanisch and Wald 2012, p.23). There will be sections for entry of course of study and areas of specialization as well as the year of admission. The security of accessibility will be achieved by creating a username and password as well as other personal information which are available in university records. Information systems portal will be accessible via email or mobile app among students, staffs, and the public who have iPhone devices.
Users Section: The users section of the information systems app will be composed of sections that enable users of different categories to access the portal. For instance, postgraduate students will be able to use the portal in a different way compared with undergraduate students, university staff, and the general public. Each user will be directed to a different interface that is designed to meet their specific needs. The users section will be designed in a manner that promotes their understanding of the portal and directs them to sections of the library where the books recommended for their use are located (Špundak 2014, p. 940).
Aesthetics Section: This section will contain the features that promote readability of the portal and accessibility of links that direct the users to the right section. Aesthetics will be achieved by designing the portal with text information that can be easily read and provide the users with idea of what needs to be done to borrow a book of the desired title. The portal will contain the logo of the university as a proof that it is a property of the institution and not authorized for use in other places. A website containing aesthetic features is preferred by users because they are attracted to images, graphics, and other services that can be easily seen Cadle and Yeates (2004, p. 333)The aesthetics will promote the willingness of users to develop positive attitude towards the app regarding its usability in searching for books and borrowing from the library.
Services Section: This section of the ILMS will provide a summary of the services that users can get from its use in addition to the search for books. For instance, it will contain sections for the list of books that have been borrowed so far, their date of return, and data of renewal. Users will be able to seek reservations for books that are not available at the moment by accessing the reservation section so that when another user returns the book, they are given the first priority to access them (Walczak and Kuchta 2013, p. 64).
Figure 4. Product Breakdown Structure for Internet Based Library management System (ILMS)
o Work Package for the Design Stage of the Internet-Based Library Management System
During the design stage for the ILMS, the work package will be composed of the following Components:
Figure 5. Work Package for the design Stage of the ILMS
Purchase Request: This is a list of inputs or materials that will be used in the design of the ILMS. In the current project, the purchase request will be composed of the software and the hardware to be acquired by the client in order to enable the development of the library service portal. For instance, programming packages that the designers are competent in using will be acquired and the recommended hardware and supporting devices will be identified (Clarke 2010, p. 19).
Requirements Information: This section will entail the people and expertise to be included in the design of the ILMS. In this situation, the requirements information will be in the forms of the computer programmers who are able to write codes that lead to the design of the library service portal. The total number of workforce to be involved in the design of the service portal is expected to be five people.
Surveillance Plan: This is a plan of the managerial roles to be done to ensure the project is undertaken within the time schedule and the resources are adequately managed. A project manager is important in ensuring a team perform tasks according to the required procedures and also motivate them to achieve the desired outcomes (Eriksson and Penker 2000, p. 6). The surveillance of the current project will be achieved by selecting a project manager who will be in charge of the software designers. The project manager will direct the designers on the sequence of tasks to be performed and accountable for the use of other resources and inputs into the design (Olsson 2006, p. 67). The design manager will record the progress achieved and the obstacles encountered while seeking the rights solution to achieve the end results.
Cost Estimates: The cost estimates during the design of the ILMS are expected to be composed of the cost of the purchase of the design software such as machine learning languages, the cost of research and development, cost of testing and implementation, and the cost of payments for design team. The table below shows the cost estimates for the entire design stage for the library service portal.
Item No.
Item Description
Cost in $
1
Purchase of programming language
100
2
Research and development
80
3
Hardware Systems
200
4
Testing and implementation
150
5
Payments for design team
500
TOTAL COSTS
1030
Table 1. Estimates of Costs to be incurred during the design of the ILMS
Evaluation factors: The factors that will be used to evaluate whether the design of the ILMS has been a success is whether the actual portal has been developed with all the features required. The success of the design will be evaluated in terms of the ability of the design team to use the available financial resources and workforce to achieve the desired outcomes. The ability of the new portal to be tested successfully will be another metric for evaluation.
Concurrence and Approval Documentation: In order to design the library service portal,
Hire one of our experts to create a completely original paper even in 3 hours!