RYAN has real world experience with both the Waterfall and Agile Models for the Software Development Life Cycle (SDLC). The Waterfall Model is more traditional and begins with a well thought out plan and defined set of requirements. Agile begins with less stringent guidelines and then makes adjustments as needed throughout the process. Agile development is known for it’s ability to quickly translate an application that is in development to a full release at nearly any stage, making it well suited for applications that are updated frequently.
RYAN has a proven record of successfully working with our clients to gather end-user requirements and understand the underlying data sources. The functional and technical expertise of our consultants is crucial to understanding, analyzing, and designing a successful Business Intelligence framework.
RYAN understands that the success of all development efforts begins with building a disciplined Software Development Life cycle (SDLC) foundation. Defining successful business processes, understanding user requirements, and creating strong relationships with the end user community is the foundation for successful application development. We use a CMMI® Level 3 SDLC Methodology that is standard across the software development industry and thus are easily adaptable to any existing practice. It is the experience of our team’s principals in understanding how best to execute the methodology across unique business, data and technology stakeholders that sets us apart from the rest.
- Requirements Gathering –RYAN will schedule and conduct interviews with the Team to review the current report objects and identify any new requirements or changes to the existing objects. Document and finalize the new requirements upon concurrence from the Team Leader.
- Requirements Analysis –RYAN evaluates the current database, scripts, and report objects in preparation for the design phase. As a result, we will deliver a mapping of the current scripts and report objects to the current database structure.
- Design –RYAN designs the approach to satisfy the application, interface, and reporting needs identified and analyzed from the above steps. As a result we will have the design documents, a project plan with job estimates, and a detailed work breakdown structure of all required components to implement the solution.
- Build –RYAN’s experts develop and conduct unit testing for the identified components in the design step. After all the integration, there will be a rigorous system and stress test conducted to accommodate user information demands and performance. As a result we will build the solution that best fits the requirements identified.
- Test –Performs user acceptance testing, where the users who were identified in the requirements gathering session will test the system, and report any issues identified. Once all issues are resolved and retested, the customer authorizes the deployment phase.
- Deploy – RYAN will deploy the solution to the production environment agreed-upon release protocol and processes. RYAN will conduct standard or custom training to use the system as desired to facilitate the transition and change management related to the updated requirements and functionality. Finally, RYAN also builds the system documentation and conducts knowledge transfer to the identified administrative personnel to support and maintain the system.
RYAN subscribes to the 16 Critical Software Practices that serve as the basis for implementing effective performance-based management of software-intensive projects. They are examples of best practices that can be used by programs desiring to implement effective high-leverage processes to improve their bottom-line.
These measures include:
- Time to Fielding
- Customer Satisfaction
These practices have been gathered from the crucible of real-world, large-scale, software development and maintenance projects. Together they constitute a set of powerful disciplines that are focused on improving a project’s bottom line.
||Product Integrity and Stability
- Adopt Continuous Risk Management
- Estimate Cost and Schedule Empirically
- Use Metrics to Manage
- Track Earned Value
- Track Defects against Quality Targets
- Treat People as the Most Important Resource
- Adopt Life Cycle Configuration Management
- Manage & Trace Requirements
- Use System-Based Software Design
- Ensure Data & Database Interoperability
- Define & Control Interfaces
- Design Twice/Code Once
- Assess Reuse Risks and Costs
- Inspect Requirements and Design
- Manage Testing as a Continuous Process
- Compile & Test Frequently
RYAN produces life cycle documentation based on proven methodology using documented processes that comply with the CMMI® Level 3 or higher. This process requires a full set of life cycle documentation to move software projects from requirements definition through final customer acceptance testing. We update existing or create new documentation to include all changes made as required. Our team proposes the documents to create or update, and clarify the nature and magnitude of the action (e.g. new, no change, change pages only, reissue of document, etc.). All documentation is delivered to the customer.