Customer experience of SDLC (Systems Development Life Cycle)
In xitee we can help you with every phase of this process.
Phases of the project: 00-07
00
Project initiation
You come up with an idea which leads to creation of new software solution or you decide to change an existing software solution. In this stage you already have a rough idea about the feasibility & cost of the project (funds, management approval).
01
Requirement analysis
In this stage you are getting input from all your stakeholders, including customers, salespeople, industry experts or your internal programmers.
This is where you as a customer write down your requirements for changes of your current solution or requirements for your new solution that would help your business. The goal is to have all requirements stated clearly so that the effort estimate and planning of timeline with milestones can be accurate.
02
Planning
Based on our analysis of requirements presented by you, we will send you an initial response for your Request for Proposal (RFP).
In the response, we indicate our interest to perform the project and demonstrate our competency on relevant project references.
If the clarity of requirements is sufficient, we could provide a non-binding effort indication.
This effort indication is based on our current level of knowledge and formed assumptions.
In our response we might describe our project approach, technology stack, test strategy and suggest project timeline.
03
Design (Specification)
During the design phase, our lead developers and technical architects start working on the initial high-level design plan for the software solution.
The goal of this phase is to specify the software in a sufficient level of details based on an intensive collaboration with your company.
Typically, we conduct series of workshops and intensive exchange of information with an iterative feedback process. Also access to all relevant information (like existing solution documentation or source codes, third party SW interface specification, etc.) needs to be provided so that we can set up the project in the most accurate state.
The extent of the specification is driven by the selected management model and impacts the billing model. In a conservative management model, the specification covers the complete project in great level of detail, while in an agile model the initial specification stays more high level and it is getting more detailed continuously as the development progresses. Please note that only a very detailed specification allows us to prepare a fixed price offer.
The specification document usually defines the scope of the project, description of the application features, technical design, environment specification and the graphical design. It serves as a basis for the final software acceptance by the customer and all relevant stakeholders need to review & approve it.
Based on the specification, we can provide a detailed offer with binding effort estimation and propose the most fitting project setup.
Typical project artefacts of the Project Setup are: Roles & Responsibilities, Requirements & Deliverables, Tools & Methodology, Environment and Technology, Project Plan and Budget, Communication Plan.
The prototyping can be also a part of the Design phase. A prototype is like one of the early versions of software in the Iterative software development model. It demonstrates a basic idea of how the application looks and works
04
Software development (Implementation)
The implementation is the main project phase where the software is being developed. At the end of this phase the software is accepted by you and launched to your productive environment.
We usually organize our development team following Kanban methodology and Lean development principles supported by tools from the Atlassian stack (Jira, Confluence, Bitbucket and Bamboo). This project organization supports continuous flow of work enabling the development team to reach the best performance due to stable focus. At the same time the team can very flexibly react on changes in task prioritization without need of extensive planning ceremonies. Due to its versatility, this project organization can be easily adjusted to wide range of project management models, from conservative to agile. It also allows us to integrate developers from our customer to the team when requested.
When the development starts our developers follow agreed specification where acceptance criteria were defined. At the end of each iteration we deliver work increment into your acceptance environment. For waterfall projects whole specification is delivered at the beginning of project, for projects where we use agile methodologies, specification with acceptance criteria have to be cleared only at the beginning of each sprint.
Developers also follow agreed guidelines regarding code style and follow best development practices such as Code Reviews and Unit Tests.
05
Testing
Testing is done continuously with the software development. This crucial activity ensures that everything works as intended. During the testing, software developers can detect defects, bugs, and errors in the software solution and ultimately have a quality product that meets business expectations.
The test approach to every project is different and might include various types of tests (Functional, Automated, Security, Performance).
The last activity before we release your new product (or product increment) to productive environment is Acceptance testing. This test activity is done by you to ensure that the product is working in the way it should.
06
Deployment & Release
We plan the deployment together with your project developer/project owner, so you have full control over the activities, and you know what and when is getting released.
For business-critical systems for initial deployment we also prepare data migration when needed, perform dress-rehearsals, and roll back plans to minimize any business interruptions.
After the initial deployment, we organize further deployments according to your needs. In agile development methodology we aim for continuous delivery with automatic deployments.
07
Maintenance & Support
When required, we can provide continuous application support and maintenance. The support service requires an initial one-time activity to setup the monitoring system and the service desk and is followed by the provision of a continuous service based on the agreed SLA (service level agreement). In xitee we offer variety of Support services (1st, 2nd and 3rd level support, active monitoring etc.)