Many people think project life cycles circulate around SDLC/SCRUM/XP/RUP/etc… But there are certain steps in a project that occur prior to where any of the project development methodologies begins. For every project there are two roles: the customer and the producer. Even in internal projects within organization, a customer and producer role exists…
This article use two companies:
<note important>Any resemblance to live and dead entities is purely coincidental.</note>
This article is originally written by Kapil Siddhartha and I have updated that article here with my own spin and thoughts…
A retail company, Shreya Retail Ltd., decides to build a software system for selling its products online. It brings out an RFP a.k.a. Request for Proposal. Several interested S/W companies responds to this RFP. This RFP lists the features of the required system. It also lists the various constraints which must be in the implemented system like environment which may have complied with the existing environment. It may also indicate any preferences like Java based or .NET based system or preference for an ERP product. RFP also indicates the existing environment in which the new system has to be fitted in.
One of the software companies, Hanu software, responding to this RFP will be responding with a written document called proposal. In this proposal, Hanu software indicates its capability to handle such an assignment, gives an indicative technical solution and cost calculated by software estimation techniques from effort required to build the required system. The proposal also lists the assumptions and constraints taken to arrive at the cost. The RFP will also have the time-frame in which the system will be delivered.
Once all the RFPs are submitted, Shreya Retail will evaluate all proposals to find out the cost-effective proposal of all. Based on the first evaluation, Shreya Retail may shortlist 3-4 of them for detailed discussion. Shreya Retail may satisfy themselves with capabilities, certifications to encertain the capability of the companies and quality of the product that will be built. It may also negotiate on the costs, terms and conditions. Shreya Retail may also ask s/w companies for a visit to their sites, meeting with existing delivery team to make sure the companies are capable and have a good execution team, not just an aggressive sales team.
After all negotiations, Shreya Retail decides to shortlist Hanu software as their vendor. The negotiation and proposal are formalized in the form of a contract. This contract is the bible of all terms and conditions, cost and time-frame and milestones of delivery and associated payment of money. There may also be associated documents like Statement of Work (SOW).
Once the contract is signed, the project is ready to start.
Hanu software assigns a project manager (PM) to the project. PM is whole and sole in-charge of the project. He manages all the activities of the project and is the single point responsible for success or failure of the project. He is given the estimates, contract and time-frame which are committed to Shreya Retail. The PM starts planning for the project. He evaluates the estimates, terms and conditions and time-frame and if she/he has any reservations, lists them as risk.
He starts creating SPMP Software Project Management Plan. SPMP is a live document in which PM documents how she/he will carry out all the management activities of the project. It is the bible of the project. This document lists all important people and their contacts. The document will also show how the progress of the project will be reported to the client and higher management, at what frequency, reporting template is also decided. The frequency of the meeting and normal attendees is also mentioned in the report. The document also lists input required from the client and their expected dates. It also lists the activities to be carried out in case of any emergency or anything going wrong, escalations, etc. The document also plans the version management, risk management and other important aspects of the project. In short, SPMP is a planning document which indicates how the project will be carried out and also informs other people of the activities in the management. Any people requiring a change can contact for clarification.
PM kicks off the project. In this kick-off, PM calls all the departmental heads which he will be interacting with and asking for support. Based on his estimates and plans, he puts forward the resource plan to the resource head, hardware requirement from the IT administration team, he also plans the quality milestone and activity with the QA head. PM may also be asking the QA head the company quality matrices against which he will be tracking his own project. He may also predict the milestones, bug numbers and review time, etc. based on the earlier metrics. Once the plan is ready and interactions with the various departments and inputs from various departments are committed, PM is good to go.
PM is allocated his team by the resource department. Based on his experience and team members capability, he creates a project hierarchy and plans his project internal structure. He divides the responsibility of the projects to his team. PM then has an internal project kick-off, where he introduces his team members and their roles and also describes the expectation from various people. Team also highlights their requirements and other constraints based on their earlier experience.
Now starts the projects team's SDLC (software development lifecycle). Requirement Gathering, Architecture, Design, Development/Unit Testing, Integration testing, Functional testing, User Acceptance Testing (UAT). After successful completion of UAT, Shreya Retail accepts the system. The system enters into warranty phase as per the contract's terms and conditions. In warranty phase, all the bugs are fixed by Hanu Software for free. After the warranty phase, the system moves into the Support and Maintenance mode.