In order to keep up with its competitors such as Royal Bank of Canada or CIBC, The Canadian Bank of Agriculture (CBA) has decided to develop a mobile app for online banking. CBA has missed the first-to-market opportunity, but aims to enter the market share with a sleek, highly compatible offering that would be compatible with both smartphones and tablets from Apple, BlackBerry, and Android devices. CBA is now accepting bids from external companies for complete software development, both frontend and backend software interfacing with CBA’s existing online banking system. While detailed requirements must be proposed by the bidder and negotiated with the customer, one firm requirement is that no changes should be made to CBA’s existing online banking system, which is a web-based application built in Apache Tomcat. Compatibility with Apache Tomcat is therefore a must.
Your contracting company has a size of 25 individuals in the Ottawa region, 4 working directly in your group. You believe it won’t be too long before you will be able to compete with the leading software companies and so want to start right away. You are serious about winning the bid and doing it right. If successful, this will be an important step towards gaining the credibility of many other prospective customers. For all these you know the value of proper project management. Also be warned that the established companies have better profile than yours.
That is all the more reason to be meticulous in your proposal to elicit the client’s trust. You have to convince them that it will not be a typical chaos and last minute hero’s project. Proposals consisting of a complete and detailed project plan and elementary prototype are due as specified in the Deliverables table below.
Your prototype must be successful in order to move on to the next stage of the competition. The company requires a complete project plan in order to do the evaluation to determine whether or not your company will be one of the competitors for the final project.
Your team is being sent on-site to the company to establish a project plan, to build a first-draft prototype, and to compete against other teams. The winning team will be expected to act as a management team and will be allowed to bring only that very team into the company. Since the company has excellent HR and equipment resources, the winning team may not bring additional personnel or production equipment into the company. In short, the following lists the conditions for your work:
The company will not allow you to bring programmers or analysts into the company to work on this project. You will be limited to bringing only your project management team to manage the project and must work with the personnel and equipment resources supplied by the company.
The company’s programmers are highly dynamic and intelligent individuals. They exhibit the height of programming expertise.
The company prides itself on building cutting edge, quality software. While this is not necessarily true, there are enough resources that, if properly managed, can make this a reality for this project.
In the past, the company has attempted to do this project on their own, and has failed. Hence they are looking to buy a solution and build upon it.
You will be able to interview whatever customers, employees, and managers you need to establish a base to accurately develop the project plan.
You will have access to the 26 software development professionals at the company:
One development manager;
Three analysts who have extensive experience in developing applications; One programmer/analyst who has extensive experience with this specific type of application;
11 programmers with five or more years of experience in developing applications; 10 programmers with less than five years of experience; the company is extremely interested in these people receiving on-the-job training so they must be used; of the ten, only two have been with the company for more than a year.
Your consulting company generates millions of dollars a year in revenue from the sale of objectoriented software solutions; namely, components for other software giants to build upon and sell. Your corporate software initiative team sponsored the development of the software team to SEI CMM Level 2. They aspire to reach higher levels, but presently, you are at level 2. For the SEG 4105 course, you are required to PLAN this project and also IMPLEMENT the prototype. The implementation details and preliminary requirements are included in a separate document on the project’s website. Note that only the basic requirements are listed there.
However, for a working system that will also be acceptable to the users, you need a detailed idea of their preferences. Prepare a strategy of how you are going to understand what the users really want. In your plan, explain your strategy and the requirements you actually came up with. Also make sure you and your customer agree on the environment the system is going to run on. If any members of your team are unfamiliar with this type of product, it is imperative that you ground your knowledge in how this type of software and hardware works in the real world – more specifically, research it!
QUALITY is what your employer (i.e. your SEG 4105 Project Instructor) is expecting, not quantity. Your customer for this project is the TA, available with prior email appointment. Do not
send long emails, as details are either lost or take a long time to be clarified in such conversations. Meet face to face instead.
Project Details and Timelines
1) Form groups of four members (this has been done already). You will each act as PM in turn, but first nominate an initial project manager. The PM must email your employer your group details (member names, contact information, etc). 2) Read the case described above carefully. Details may be superfluous or missing, you must determine what is essential for your submission. Deliverables include: a. Project Charter
i. All assumptions are to be documented
b. Project Plan for the project, with as high a level of quality as possible i. All assumptions are to be documented
ii. Appropriate parts of the plan should be built in MS Project iii. The format for the PP is unspecified and open to interpretation; however, we recommend considering the template at the end of this document, and the following associated documents:
Requirements Control Plan
IT Architecture and Design (UML preferred)
Schedule Control Plan
Cost Control Plan
Configuration Management Plan, including Change Control
i. Be creative, this is open to interpretation
ii. Prototype must run on the Windows XP platform
iii. Be reasonable about the level of effort
iv. Include clearly commented code
2) The project plan will be seen as a bid for the project, your project group is acting in competition for the bid, but you do not know against whom.
3) Effort. Team members will spend equal amounts of effort on the project. Each team member should have at least one opportunity to act as project manager; the detailed time allocation for this is to be negotiated within the group members themselves. The role switches between members uniformly, and documenting process is very important so the project manager can do his/her job effectively. The person with ID # 1 will be the first project manager, and it is important to get the project started properly, choose wisely. Only the project manager communicates with the customer.
4) Time period. Please carefully note the deadlines given in the table below. Plan and spread the work so that you have sufficient time to finish the deliverables on time.
There is considerable amount of work for each deliverable, so start early and do not wait until the last few days!
Project Checkpoint 1 report
Project Checkpoint 2 report
Project Plan Submitted
September 20, email to TA
October 4, by email to the TA
November 1, email to TA
November 18, in tutorial session
November 25, in class presentation
November 27, in class demo
December 6, email to TA
December 6, email to TA
Marked using analytical method to determine: how complete, concise, and realistic the plan is.
Work Breakdown Structure
Estimating cost, effort, schedule
How well do you assess process?
Presentation and Prototype
Project Presentation: discussing how the project was carried out, which approaches were used, challenges faced and how they were overcome, and lessons learned for a next project.
Customer Demonstration: Evaluating alternatives, presenting the prototype effectively to the customer, coding quality. Also marked based on market value and feasibility, coding efficiency.
Where to Start
The first and most important aspect of this project to acknowledge that a project plan is a sizable project in of itself – without proper attention to process, this project cannot be completed in the time period specified with
an acceptable level of quality. Hence, you will develop an appreciation for project management through managing this project, and completing an actual project plan. Key project management skills are required and useful.
The IEEE, PMI, And SEI have done an enormous amount of work to provide software project managers with starting points for documenting their projects. The project manager’s goal has to be to turn out the best possible product within the budget and time provided. The templates available through these various sources are not immutable in form or content, so modify them to fit your projects and organizations.
Sample SPMP outline
i. Version control
1.1 Project Overview
1.2 Project Deliverables
1.3 Evolution of the SPMP
1.4 Reference Materials
1.5 Definitions and Acronyms
2 Project Organization
2.1 Process Model
2.2 Organizational Structure
2.3 Organizational Interfaces
2.4 Project Responsibilities
3 Managerial Process
3.1 Management Objectives and Priorities
3.2 Assumptions, Dependencies and Constraints
3.3 Risk Management
3.4 Monitoring and Controlling Mechanisms
3.5 Staffing Approach
4 Technical Process
4.1 Methods, Tools, and Techniques
4.2 Software Documentation
4.2.1 Software Requirements Specification (SRS)
4.2.2 Software Design Description (SDD)
4.2.3 Software Test Plan
4.3 Configuration Management Plan
4.4 User Documentation
4.5 Project Support Functions
5 Work Packages, Schedule, and Budget
5.1 Work Packages
5.3 Resource Requirements
5.4 Budget and Resource Allocation
6 Additional Components