Cost Schedule Function
Arriving at reliable cost estimates and realistic timelines for large-scale software development projects is a challenge—but we have the tools to make it possible.
Osprey has a proven repeatable process for estimating the costs of software development projects which we call Cost Schedule Function™ (CSF). The Osprey CSF provides our clients with a clear, detailed picture of what will be delivered, when it will be delivered, and how much it will cost.
The CSF for a potential project is prepared by Osprey’s team of highly experienced business analysts and software architects.
We work with our client’s stakeholders and subject matter experts to develop an in-depth understanding of their business needs and goals for the project.
We design a software solution that meets those needs, and describe the technical requirements for this solution.
We break the proposed new system down into the constituent components that will be needed to make the solution work (such as classes of business objects, user interface elements, server processes, integration points with other systems) and estimate the costs of developing each of them.
Based on the development effort for each component, we estimate all the costs that are inherent in the software development life cycle: costs for UML analysis, for system design, for development, for testing, for deployment. This enables us to estimate the cost of the total effort.
We always include an uncertainty buffer to cover unanticipated costs that may emerge.
We add in costs the project will incur for hardware expenses and for other software that may have to be layered in to the system we are building.
We devise a technical strategy for building out the new system piece-by-piece, based on the client’s needs in terms of timeline and budget. We define a schedule of deliverables: “chunks” of working software that will be delivered in the iterative Agile style.
We plan the make-up of the project team over the life of the project – how many people with what specialties will be needed in each stage of the project, and the associated costs over time.
The CSF process produces a comprehensive set of documents designed to meet give the client’s decision-makers a realistic in-depth picture of the project and all it involves. For a given project, the CSF variables typically include:
- Overview of Goals and Strategy – a mission statement for the project giving its business rationale
Product Sheet – a one-page description intended for upper management describing the features of the new system in business terms
- Cost Schedule Function Summary – a one-page summary of the project, encompassing business functionality, the timing of delivery, the resources required, and the associated costs.
- Effort Estimates Summary – a summary account of the efforts needed to design, develop, test, and deploy the components of the new system
- Resources Allocation by Skill – showing how many people in each category (project managers, analysts, architects, developers, testers) will be needed over the various phases of the project
- Business Scopes – for each of the business areas the new system will serve we produce a four-page scope document that includes a summary of the business drivers, a description of all user interface screens, a business process sequence diagram or use case model, a class diagram of the business objects needed
- Effort Estimates – a detailed set of estimates for developing the business objects, the presentation layer, and the server processes that make up the new system, and estimates of the costs of converting from the old system to the new system
Chunking Analysis – describing how the iterative build-out of the new system will proceed over the scheduled timeline of the project
- System Context Diagram – a UML diagram showing the components of the new system and how it will interact with the other systems in the client’s IT landscape; this kind of diagram makes it easy to keep the big picture of the project in view and track progress
- Business Object Model – the business scope documents pave the way for creating a high level object model that represents the business tier required to support the desired functionality.