New and Bespoke Software Development
Business Problem – turning innovative ideas into reality
If you
- are a startup or an established corporation,
- have an innovative idea to implement, or
- have a complex bespoke system to develop and
- are looking for creative, highly qualified and professional software engineering team to convert your ideas to fully functional, robust software or a commercial product,
then you require a software engineering company that provides you with a full software development lifecycle (SDLC) service, which consists of (or includes one of):
- Product Management: Business analysis, requirements elicitation and management, product planning and scoping
- Research and Innovation: Definition of a problem, data gathering and analysis, identifying a solution and developing algorithms, verification of quality for data and results, patent preparation
- Product Development: Technology analysis and selection, software architecture and design, prototyping and production code development, software testing, and product packaging and deployment preparation
- Product Delivery and Support: Hardware/Platform analysis and selection, deployment and release procedures definition, installations and upgrades, tracking support issues, organizing maintenance releases
- Project Management: Bring efficiency and productivity to your project by utilizing modern software project management, software quality assurance, and risk management techniques
Your idea could be
- a short outline of a concept, or
- a new business that will be supported by software, or
- a tender where you know what you need but require to partner with a premier software house
Zoral Labs new software development services are tailored to turn your ideas into reality.
Zoral Labs Approach
For simplicity we have split our approach into four phases: Inception, Elaboration, Construction, and Transition. In addition, each phase is divided into the following sections:
- Goals: What shall be achieved in a phase?
- Input: What is required to start a phase?
- Output: What will be available when a phase finishes?
- Team: Who at Zoral Labs will be working in a phase?
- Duration: What is a timeline for a phase?
- Customer Involvement: What are the expectations for communication between Zoral Labs and a customer during a phase?
- Strategy to Execute: What are common principles and guidelines that are applied by Zoral Labs during a phase?
- Tactics to Apply: What are the details of implementation of a phase?
Inception
Goals:
- Zoral Labs understanding and absorbing the business problem
- Provide initial feedback and roadmap for how Zoral can address and solve the problem
Input:
- Your materials or verbal presentation of the project that you need (the more the better)
Output:
- Initial “Software Development Plan” document, which outlines how to develop your project and defines the schedule, resources, roadmap, and initial risks
- Supplementary documents, which explain details of the plan. Depending on the project, they may include business analysis and vision documents, high-level requirements, high-level software architecture, a roadmap for research, etc.
Team:
- A small team of experts from Zoral Project Management Office, Research and Development Department
Duration:
- Depending on the project size, this takes from a few days to two months. Typically, you need to plan for 1-2 weeks for the Inception phase
Customer Involvement:
- At the beginning: It is recommended to have an initial kick-off meeting where the project objectives, needs, and materials are explained and discussed
- In the middle: A response is typically needed for issues and questions that may appear during the initial analysis. Usually, they are provided in the form of “Stakeholder Request”, which includes questions with potential answers, requiring a choice of answer to document your point of view
- At the end: Review and feedback on the provided plans and supplementary materials is needed. Also, this is a good time to ask many questions about details and nuances of Zoral Labs engineering work
Strategy to Execute:
Perform an initial business, technology, hardware/platform, and scientific analysis, using the materials provided by you, using the expertise at Zoral Labs, and using third-party sources (including Internet, books and media, conferences and societies, competitors, etc.)
- Model one or more potential solutions, review/discuss the models and choose at least one solution
- Assess the chosen solutions from project management perspective to identify the best ways to implement it
- Document results in an initial software development plan
Tactics to Apply:
- Employ Volere Requirements Management process for business and requirements analysis
- Employ different software modeling techniques for software architecture identification: Enterprise, web, rich user interface, embedded, mobile, data
- Leverage Zoral Labs expertise to provide initial feedback on research and innovative parts of the project
- Use Zoral Labs significant experience from past successful projects to identify the best technologies, hardware, and platform
- Asses different software project management techniques for development process tailoring: Classical project management, Rational Unified Process, Agile Methodology, Feature Driven Development (FDD)
Elaboration
Goals:
- Provide detailed: requirements, architecture, design, project infrastructure and project planning artifacts
- Agree on boundaries, scope, milestones and timeline for the project
Input:
- The document package from the Inception phase, with possible corrections/clarifications and further client input
Output (tailored for each project at Inception phase):
- Detailed Software Development Plan, outlining schedule, timeline, resources, deliverables, risks for the remaining part of the project, and describing a development process for subsequent phases
- Development Services, providing software engineers with required components of development process, such as source code control, issue tracking, knowledge base and file storage, continuous integration, and other systems that may be needed for the project
- Detailed Software Requirements Specification, defining the scope of work in the project, fully defined for small projects, or as a roadmap for an entire project and a detailed specification that is needed in order to start the next project phase efficiently. In the latter case, the development process defines how to obtain detailed specifications during the next phase
- Detailed Software Architecture Document, outlining the architecture from different points of view: Use case, logical, process, deployment, implementation, data, size and performance, quality, security
- Test Strategy and/or Master Test Plan, outlining the approach to maintain quality in the project
- Data Quality Management Plan, outlining the approach to maintain data quality in the project
- Data and Software Security Plan, outlining the approach to maintain code and data security in the project
- Research Definition Document, outlining an initial results of a research and specifying further research plans
- Prototypes of the product itself and/or of the critical areas of the product, user interface, systems interactions, innovative algorithms
Team:
- Zoral Labs Project Manager, to manage the development and organize preparation of the required deliverables
- A team of 3-7 senior software engineers (including product management and quality assurance), to develop detailed project artifacts, research, prototype, and/or create a skeleton of the product
Duration:
- Depending on the project size, this can be from a few weeks to 3-4 months. Typically, you should plan for 1 month for the Elaboration phase
Customer Involvement:
- At the beginning: It is recommended to have an initial kick-off meeting where a customer meets with the team
- Weekly: Review project status, clarify miscellaneous issues, review and provide feedback on requirements, detailed architecture drivers and prototyping
- At the end: Review and feedback is needed on the artifacts and results prepared at Zoral Labs
Strategy to Execute:
- Establish development environment, configuration and data management policies for the project
- Perform detailed business analysis and requirements elicitation
- Prototype different parts of the system, to assess chosen technologies and user interface
- Organize design and ‘brain storming’ sessions to further define architecture, test strategy, research topics
- Assess the chosen solutions from the project management perspective and define/tailor the software development process for the subsequent project phase
- Document results for different areas of the project, as it is defined in the “Output” section
Tactics to Apply:
- Tailor, with customer input, the usage of Zoral Development Services for development environment
- Employ Volere Requirements Management process for detailed business analysis and requirements elicitation, adjust results based on customer review and feedback
- Use Zoral Labs expertise and best practices to prototype the project architecture, design, user interface, and start research on innovative parts of the project
- Asses different software project management techniques for development process tailoring: Classical project management, Rational Unified Process, Agile Methodology, FDD
Construction
Goals:
- Implement the project on time, within the defined boundaries, and with the required level of quality
- Ensure that customer’s feedback is always addressed
Input:
- The document package from the Elaboration phase, with possible corrections/clarifications and further customer input
Output (tailored for each project at Elaboration phase):
- Source code and supplementary documentation
- Binary packages and deployments
Team (tailored for each project at Elaboration phase):
- Zoral Project Manager (and for large-scale, complex projects – a Program manager), to execute, monitor and control the project
- One or more development teams, which consist of software engineers for research, architecture work, design, coding, testing, packaging, and deployment
- A supporting team that may consist of a product manager, quality assurance manager, data quality assurance manager, knowledge manager, linguists, security engineer, delivery manager, business analysts, data and information architect, risk manager, quantitative analyst, technical analyst, system engineer, usability engineer, technical writer (the exact roles, number of resources, and their utilization depends on the project)
Duration:
- The duration depends on the project. At Zoral Labs, the projects are classified as short (less than 11 months), medium (from 1 year to 3 years), or ongoing or longer term (4 years and more)
Customer Involvement (tailored for each project at Elaboration phase as a part of Communication Plan, which is a part of Software Development Plan):
- Weekly: Management coordination, project status and risks/opportunities review
- Every 2-3 weeks: Development coordination, demos and gathering of feedback
- Every 1-2 months: Research coordination, reviewing results and optimizing next steps
- Every 3 months: Release coordination, product delivery, update of plans and requirements
- On demand: Email/Skype for routine issues
Strategy to Execute:
- Project Managers to provide risk management, software quality management, data quality management and project management techniques with the goals of 1) customer satisfaction, 2) elimination of any bottlenecks during development, 3) providing full visibility and traceability to the project
- Product Management/Business Analysts to communicate product requirements and expectations from a customer to the development teams
- Research team to perform data, methods and algorithms analysis and communicate results back to stakeholders
- Development team to implement required functionality efficiently, productively and utilizing best practices
- Quality Assurance Management to establish and verify required level of quality standards and product quality
- Data Quality Assurance Management to establish and verify required data quality base line and start monitoring / improving data quality. If needed certify data quality at atomic data levels
- Supporting teams to provide required services transparently to others
Tactics to Apply:
- Establish scope management, risk management, quality management, data management, and project control disciplines using classical and lightweight/modern project management methods
- Employ Volere Requirements Management process for requirements management
- Use advanced scientific methods and build feedback loops for research topics
- Tailor development process using principles from agile methodologies to establish quickly evolving development process with the possibility to make adjustments based on customer’s feedback and assembled project metrics
- Use automated testing and other automated methods for systems’ analysis, to establish and guarantee quality in the project
- Use international standards and automate operations to provide additional services by support teams
Transition
Goal:
- Cost-efficient maintenance of a project
Input:
- An output from the Construction phase of a project
Output:
- Software Maintenance Plan
Team:
- Support Lead/Manager
- Support team that may consist of software engineers, system engineers, and other roles (it depends on a project)
Duration: Defined in a maintenance plan
Customer Involvement:
- At the beginning: Develop a cost effective maintenance plan
- Weekly: Review status report
- On demand: Email/Skype to handle risks, issues and escalations
Strategy to Execute:
- Define change approval process, defect resolution process, configuration management process, release management process
- Automate typical operations, including product verification, data verification, deployment, and release
- Tailor development and support processes to ensure required level of support coverage and quality
Tactics to Apply:
- Use industry proven best practices and industry standards to establish support and maintenance processes, procedures and SLA’s
- Automate testing suites for different purposes of validation and verification
To commercialize innovation, Zoral Labs builds powerful software engineering teams that can develop very sophisticated, highly scalable applications all within the framework of practical and proven SDLC methodologies.
If you would like to partner with a company that is able to combine high quality engineering and innovation please contact us at sales@zorallabs.com

