Brew City Rentals (BCR) is a small video rental store located on the eastside of Milwaukee, and offers a wide selection of videos and DVDs to its local, walk in customers. After a movie is done with its run through the theaters, movie makers will make the movie available for the BCR for leasing to its customers. Once the movie is available in the shop, the BCR customers can either buy or rent the videos. But most of the sales are based on manual and paper catalogues and sales are recorded on an excel spread sheet.
What the BCR really lacks in the business process is a Video Rental Information Management System (VRIMS) that supports the business transformation from the current set up to a future state where business transactions are fully accountable, complex inventory updates are completed faster, better reporting capabilities are established so that the management gets full insight of the profitability metrics of the company.
The BCR team heard about the Agile and the Waterfall project management methodologies but did not know which is the best methodology for their organization. Hence the Management team called an outside Project Management(PM) expert to evaluate the current situation and make specific recommendations to the leadership on which project management methodology they should choose given the BCR specific business practice.
This report is an evaluation of the BCR specific business requirements conducted by an outside PM and the specific recommendations of what project management methodology BCR should consider for their in-house software development projects.
2. Project Definition
Due to the recent customer growth and lack of full oversight of the rental management activities, Brew City Rentals wants to build a Video Rental Management Information System that can help the management, accounting team and business support team to better manage business transactions, profitability reporting and business expansion efforts.
The outcomes of this project will be the web interface that customers can use to sign up, search, order movies, make payment and track shipments. Further as part of the outcome, VRIMS will provide the management the capability to track inventory, manage customers and sales, account the sales activities, and report features for the system users.
The project will start its life cycle management on February 1, 2018, and will finish on September 30, 2018. The specific outcome or product presented to the stakeholders is the fully operational VRMIS.
3. Factors Evaluated When Considering a Methodology
The BCR management has informed that they have specific requirements when choosing a project management methodology. After evaluating the internal business culture it is clear that the project team needs some guidance in completing the project successfully. Those aspects considered are listed out below.
• Active participation from all Stake holders
• Willingness to adopt change
• Open communication plan
• Adequate staffing when needed
• Buy-in from the management
These features are unique to BCR software development program and this report identifies and recommends a project management methodology that can accommodate most or all of these specific the BCR requirements described above.
The sections below contain the major features of Agile and Waterfall project management methodologies followed by the advantages and disadvantages of each in the context of the BCR projects and finally a recommendation of which methodology works best for the BCR after the careful evaluation.
4. The Agile Project Management Methodology
“Agile can be defined as a project governance approach that focuses on rapid life cycle development of a product through multiple short iterations” (“NH Learning Solutions. (n.d.)”). It features frequent stand up meetings, code demos and check-ins with consumers of the product or users to get instant feedback to be used in the next iteration. Team members are provided with project specifications of what the output should be and encourage them to create a product. From those specifications the developers create steps to complete the product and follow those instructions and steps until there is a final product that the project team takes to the customers. “What sets Agile apart from other methodologies is the process, that the customer can get timely feedback and can look into the product to see how progress is achieved and making sure it is going in the right direction” (“NH Learning Solutions. (n.d.)”).
Agile project management methodology is popular as companies struggle to keep up with the ever-changing requirements in their projects and the constant changing of business requirements that exist with software customers. Changes in the process of design or project planning are not mandatory at the beginning of any Agile projects as it can the introduced as the project moves forward.
5. The Waterfall Project Management Methodology
Traditional project management or “Waterfall” is a very linear approach; one phase falls under the next, and the previous iteration of the tasks opens a door to the next and the next and so on until a project is completed.
The Waterfall projects appear to be huge in team size and time consuming for its project iteration steps. The project team does many design and architectural discussions to come up with the business requirements and if the project proposals and budget are approved, move to building phase of the product. The customers usually do not get to use the project until is completely built and tested or the project is completed. if any changes need to be made once the user tests and evaluates the final product, it is impossible and the team has to start from the beginning.
6. Advantages of the Agile Methodology
“Agile is considered a widely accepted iterative team-based approach to software projects. This approach stresses faster delivery of an application in complete functional components” (“Waterfall vs. Agile,” 2017). The building blocks of the projects are initiatives, features, user stories, sprints and tasks. Rather than creating tasks and schedules, the project duration is limited and monitored into phases called sprints. Features are major modules of development with user stories and tasks under them as building blocks. Sprints usually have a defined timeline of two weeks or slightly more, with a recurring list of deliverables planned at the start of the project or sprint. If all planned work for the sprint cannot be completed, work is re-prioritized and the information is used for documentation and for future sprint planning.
During each sprint, the work product is reviewed and evaluated by the users along with the project team through daily meetings and end-of-sprint code review. Agile has tough deadlines and rigorous reporting features that enable the team members to be highly accountable for their work and work product. Agile relies on high level of user involvement throughout the project, but especially during the periodic reviews.
Software developers, testing teams and users have early and periodic opportunities to see the work being carried out and the opportunity to review their decisions or can request project plan change throughout the development life cycle of the project.
The business users have a strong sense of ownership by closely associating with the project team throughout the project. If the time to market a specific product is a greater concern than releasing a full feature set at initial launch of a product, Agile methodology can quickly produce a basic version of nearly working software which can be built upon in frequent iterations over few weeks.
The Agile development stages are often user-focused, as a result of more and frequent direction from the end users of the product.
7. Disadvantages of the Agile Methodology
Because Agile focuses on time-boxed delivery and frequent reprioritization, it is possible that some items set for delivery will not be completed within the allotted timeframe (“Waterfall vs. Agile,” 2017). More sprints may be needed adding to the project expenses. Additionally, user participation usually demands expansion of the scope or more add-ons to the current project throughout the project phases. These requests can add to the overall time and cost of the implementation.
Increased customer involvement, while great for the project, may present problems for some users who may not have the time or interest for active participation. Users are busy with their daily tasks and may not get time to dedicate for the project work. Agile works best when project team are completely dedicated to the project related assignments.
Agile seek close working relationship with the team members and project team will function best if team members are located in the same office, which is not always possible. However, there are a variety of ways to handle this issue, such as webcams, collaboration tools, etc.
The nature of Agile is iterative development through small and consistent steps and this could lead to continuous refactoring if the full scope of the system is not considered in the initial planning and the system can suffer from reduction in overall quality without refactoring. This issue appears mostly in larger-scale implementations, or with systems that incorporate high level of third party integration.
8. Advantages of the Waterfall Methodology
The Waterfall model is simple to implement and the amount of resources required are minimal. In Waterfall output is generated after each stage and, therefore has high visibility. The client and project manager gets a feel that there is considerable progress made by the project team.
Project management, both at internal level and client’s level, is easy because of visible outputs after each phase. Deadlines can be set for the completion of each phase and evaluation can be done from time to time to check if project is going as per the milestones. Waterfall methodology is significantly better than the haphazard approach to develop software Waterfall methodology is preferred in projects where quality is more important as compared to schedule or cost.
9. Disadvantages of the Waterfall Methodology
In large organizations projects may not always follow a sequential flow, and iterations of Waterfall steps may be handled indirectly and it can cause confusion as the project proceeds to different steps. Explicit user requirements are hard to obtain at the onset of any projects and only become clear as the development starts and a prototype is built. If Business Requirement Definition (BRD) is not well defined and requirements can’t be frozen, still the design can start and the requirements can slowly evolve to become clear. If any changes are made in system requirements, then formal procedure is followed to put those changes in a baseline document. Waterfall methods usually freeze software and hardware and as technology changes at a rapid pace, such freezing is not advisable especially in long-term projects. Waterfall methods become hard If user community is not IT-literate as getting specifications from users are found to be cumbersome in large organizations.
In Waterfall projects, a slight change in the specifications during an iteration can cause big issues for subsequent steps as all phases are dependent on each other. If the project team needs to go back to one or few steps to correct design faults, going back a phase can cause a bottleneck for the project milestones.
10. Advantages of the Agile in the context of the BCR
For the BCR with rapid project delivery time frame, intense testing and code reviews, it may be best to choose Agile Methodology as it is a time boxed, multiple iterative approach to software build and delivery that creates software incrementally from the start of the project, instead of trying to deliver it all at once towards the end.
10.1. Change is embraced
If the BCR choosing to with Agile, shorter planning cycles are introduced and that makes it easy to accommodate and accept changes at any time during the VRIMS project. There is always an opportunity to refine and reprioritize the backlog, allowing teams to introduce changes to the project in a matter of weeks.
10.2. End-goal can be unknown
Agile is very beneficial for projects where the end-goal is not clearly defined and so is the case with the BCR projects. As the project progresses, the goal will become clear and development team can easily adapt to the evolving requirements.
10.3. Faster and high-quality delivery
Breaking down the project into small iterations allow the BCR team to focus on high-quality development, testing and collaboration. Conducting testing during each iteration means that bugs are identified and fixed quicker than they are brought by the users at the end and thus high-quality software can be delivered faster with consistent successive iterations.
10.4. Strong team interaction
Agile highlights the importance of frequent communication and face-to-face interaction. So the BCR team is able to work together and project participants are able to take responsibility and own parts of the BCR project.
10.5. The BCR User’s opinion is considered
The BCR user have many opportunities to see the product being built, share their input, and have a real impact on the end product. They can gain a sense of ownership by working closely with the project team.
10.6. Continuous Improvement
Agile projects encourage feedback from users and team members throughout the project, so lessons learned are used to improve future iterations.
11. Advantages of Waterfall in the context of the BCR Project
In the BCR project, developers and users agree on what will be delivered early in the development phase. This makes the BCR project planning and designing stage transparent and known to all team members about the project outcome. Progress can be easily achieved as the full scope of the work is known in advance. It is possible for various BCR project team members to be involved in the project or to continue with other work depending on the active phases of the project. For example BCR business analysts can learn about major project milestones and document what needs to be done while the BCR developers are working on other tasks of the project. the BCR Testers can prepare test scripts from requirements documentation while coding is underway by a different work stream.
Unless for approvals, status update meetings and reviews etc., the BCR user presence is not strictly required after the requirements phase. Because design is completed early in the development lifecycle the Agile approach benefits the BCR project where multiple software components must be designed and integrated with external BCR systems such as billing and other home grown systems.
Finally, the BCR VRIMS software can be designed completely based upon solid understanding of all software deliverables agreed upon as part of the project. The BCR features that support Agile better than Waterfall
This section of the report evaluates what specific aspects of the BCR that better supports the Agile methodology for the BCR than the Waterfall methodology.
12.1. Clear Specification of objectives and requirements
the BCR leadership knows exactly what they are looking to achieve at the end of the project and what is the success criteria of the project will be. the BCR Leadership agrees that it can be difficult to predict what the project outcomes are based on their past experience in the software projects. When the requirements are difficult to define, or likely to change significantly, the BCR project team needs an approach which is relatively experimental and flexible; an approach which allows the BCR to rapidly demonstrate and prototype ideas to the customer and incorporate the changing requirements.
12.2. Transparent and well-defined solution
The BCR may find itself in a situation where the desired outcome of the project is clear, but the methods for achieving that outcome is not so clear at the beginning of the project. When the team is faced with difficult and risky choices around technology, design andimplementation, the software development methodology needs to be flexible enough to cater for tough situations and iterate through various stages of prototyping, developments, testing and deployments.
12.3. Access to the end users by the project team
The BCR users, domain experts and product owners are available to provide feedback and help test deliverables at short notice and they will be attending all project meetings to provide constant feed back as each project stage is iterated.
12.4. Team size for the project
In the BCR-VRIMS, the small tight-knit teams work closely with the project team and end users are flexible and better geared to quickly incorporate changes. The small work stream will support all the work break down structures of the project in its execution phase and contribute to the overall success of the project.
12.5. Project team located in one single office
When the team is geographically spread out it can be difficult to quickly coordinate new work assignments and adapt to changing priorities. the BCR team sits togetherin one location and shares the same room, and is better placed to work in rapidly moving project phases with changing priorities.
12.6. Prior Experience with PM methodologies
The BCR team and stakeholders are not already accustomed to working with any specific PM methodologies. So it will take some time to change the BCR team’s business practices with the new PM methodology that is being evaluated.
12.7. The Project’s Success Criteria
The BCR success criterion is well defined and clear even though the project goals and outcomes are not so clear at the beginning due to unknown user expectations. Users have defined the preliminary acceptance criteria and once the project meets or exceeds those criteria, the project will succeed. However, the quality of the project outcome can be evaluated during each sprint so that the project team knows how the end product is slowly shaping up.
12.8. Acceptance of a partially failed project at the end
The BCR project team will not accept a partially built software with many bugs at the end when customers looking forward to using it for day to day business transactions. There is no additional budget allocated for more enhancements or for another team to further complete the bug fixes.
12. Making a Choice between Agile and Waterfall-The most effective Choice and the Recommendation
Based on thorough evaluation of the pros and cons, benefits and challenges, specific BCR back grounds, evaluation through the traditional and modern best practices in the industry, this report recommends the Agile Project Management Methodology for VRIMS project and to follow Agile practices for the duration of the project.
13. Supporting the recommendation by connecting specific BCR project elements
There are many features specific to the BCR, identified during the evaluation of the project requirements and management goals. Some of them are more suggestive of the Agile methodology than of the Waterfall methodology and so this report recommends what is best for the BCR in its project aspirations.
• BCR Management is time sensitive and expecting outcomes at each step
• Failure is not an option since the BCR is in the verge of going out of business
• Users want to be heavily involved so that they can avoid failure in the future
• Testing should be done as it builds to avoid massive testing at the end
• Users need to see prototypes and POC’s before they sign off the end product
• Change management constraints are heavy and lengthy
• Sales Team will not accept a partially-working system
• No opportunity to wait for re-work or major enhancements
• Overall organization capacity and resource planning
• Requirement of creating high performing teams
In summary some the BCR specific features that are suggestive of choosing the Agile are listed above and demands for the Agile methodology to be successful in completing the project goals and to achieve high performance in the marketplace.