How we could work on your projects?

Fixed price projects

It is called “money for the result, a model defining the service to be provided very accurately, and then sets a single price for the project, regardless of how much time and expense the supplier’s company incurs.

When is the model used?

Exact requirements, detailed specifications, strict deadlines for delivery. The customer knows what he will get at the end of the development period. It is ideal for projects with fixed requirements, budgets, and strict deadlines.

Customer advantages

  • cThe fixed delivery time. The project plan is known.
  • Warrpanty
  • Minimum risks

Сustomer requirements

Exact specification. All changes to the specification are estimated and planned separately.

Supplier requirements

Exact estimation and Project Plan. Meeting the deadlines. Adequate Quality of Service.

How the work scope is defined?

The scope is set in the specification and is implemented in the project plan.

How the work costs are defined?

The price of the project is based on estimation and is a part of the commercial offer. Fees are based on the estimation model, personal rates, and risks.

Warranty and post-delivery support

The warranty period is for three months. During this period, all bugs should be fixed by the supplier for free. The specification is used as a baseline for identifying bugs. Post-delivery support should be carried according to a separate contract and is to be paid separately.

Time and material

They are also called “money for spent time & resources. The supplier provides specialists of a specific professional level, and the customer pays only for the time and resources spent on the project. In the case of partial workload, the minimum quota per month is set up, and terms of specialists’ availability influence on rates.

When the model is used?

No complete vision of the final product and no exact terms of delivery. Possibility for the creation of a work team with a specified workload. Paid min. Quota (for example, 50% of the usual month workload).

Ideal for Agile development methodologies. Suitable for projects developing MVPs, prototypes, or for teams that are part of remote customer teams.

Customer advantages

  • Possibility to start with partially defined requirements
  • Medium hourly rate
  • Flexibility in work volumes

Сustomer requirements

Partial requirements. The adequate workload for the team(according to the minimum quota).

Supplier requirements

Rough estimation for planning. Adequate Quality of Service.

How the work scope is defined?

Upon agreement. Usually, work is set in the form of short user stories that might be made more precise during implementation. An approximate Project Plan and estimation can be provided as an orientation.

How the work costs are defined?

Daily rates for different specialists are agreed on upfront. At the end of each month, the supplier provides the customer with the invoice based on the amount of time and resources expended. Weekly reports on spent time are sent to the customer.

Warranty and post-delivery support?

No warranty is provided. The same resources provide Post-delivery support within the bounds of the T&M model.

Dedicated team

The supplier will build a team of resources according to customer project requirements. Payment is made according to allocated team time. The customer is responsible for providing an adequate workload to keep the dedicated team busy. The supplier offers estimates for planned work, but these estimates are used for planning, not price estimation, or invoicing.

When the model is used

No complete vision of the final product and no exact terms of delivery. Need for long-term expertise to focus on a fixed team. Assumed 100% of the workload, paid downtime.

Ideal for regular product development & support. Ideal for Agile development methodologies. Suitable for projects developing MVPs, prototypes, or for teams that are part of remote customer teams.

Customer advantages

  • Fixed teams with a focus on one customer
  • The lowest hourly rate among all models
  • Full control & full availability of the team
  • Collected expertise

Сustomer requirements

Preparing an adequate workload for the team.

Supplier requirements

Rough estimation for planning. Adequate Quality of Service.

How the work scope is defined?

Upon agreement. It can be set in an approximate Project Plan.

How the work costs are defined?

Monthly rates for different specialists are agreed on upfront. Payment is made upfront for the whole month of the team allocation. Weekly reports on spent time are sent to the customer.

Warranty and post-delivery support

No warranty is provided. The same resources provide Post-delivery support within the bounds of the dedicated team.

Why digital transformation is essential in the organization?

In the new millennium, businesses’ vision for digital transformation has shifted from a one-time event to an ongoing strategy. These changes are happening so fast that there is no time to rest and the companies, like sharks, must be constantly moving to survive in the water and the stakeholders must be fully aware of the adoption of new technologies to be able to move fast in the global market. And it’s obvious that the ability of businesses to compete in the global market is directly affected by the speed with which they adopt new technologies.
We have to say that digital transformation for the companies, especially the traditional ones, is an essential requirement that will be imposed on your business by the market, customers, and lifestyle changes. No matter how big your organization is or how much market share or power it has, the power and market share will gradually shrink as customer behavior and tastes change. In return, implementing digital transformation can ensure the survival of your organization or better yet, stabilize market share, or in a much better way, can increase your market share and profit margin. So digital transformation is a matter of survival.

What goals will you achieve after implementing the digital transformation into your company?

  1. Achieving a fully digital organization: This way, all traditional processes will be transformed and modern digital processes will be replaced.
  2. Access to up-to-date and real statical data: All the statical data will be real and up-to-date and you can rely on them to make strategic decisions in the organization.
  3. Simplification of the activities and reduction of costs: With this method, the workflows will improve and digital systems come to help the users and in addition to simplifying processes, costs are also reduced.
  4. Changing the organizational processes: in the process of digitizing organizations, many traditional organizational processes will evolve and be optimized and efficient in the new direction
  5. Increase system agility and efficiency: By simplifying work processes, in addition to agility in providing services, system productivity will also increase and will be effective in the growth of the collection
  6. Creating integration and communication between systems: all the data in all systems will be in connection and integrated systems based on modern technology will be achieved.
  7. Paving the way for further business development: Recording the advances that have been made, the organization can complete its development process by relying on information at a higher speed and managers can make more accurate decisions
  8. Evolving the attitudes of managers and employees: By evolving in systems and organizational methods, the way of thinking of managers and employees will also change and you will see organizational change.
  9. Increasing customer and employee satisfaction and market share: after the establishment of new systems and methods, we gradually see an increase in customer and employee satisfaction and an increase in market share, and the development path of the organization will be smoother.
pelagie-email

Why we need a project discovery

What is the project discovery?

Project discovery is a process of gathering information about a project to help people understand its vision, goals, and scope.

It helps identify the client, users, and stakeholders’ needs and defines the system’s strong and weak points or app.

Why the project discovery is needed

17% of IT projects turn out so bad. They cause the collapse of the company. While only 7% of the projects are delivered late, 45% exceed the estimated budget. Careful analysis and planning could prevent many failures.
Also, I suggest having a project discovery :

  • if you have no complete idea of the final product.
  • If your project has several stakeholders
  • If your projects are too complicated.
  • And if you plan for long-term projects.

What happens when you refuse the project discovery stage?

  • You may be faced with a project that doesn’t meet your needs.
  • Your project implementation may extend the expected boundary.
  • You may run out of money because of the extended boundary.
  • The deadlines of the milestone may be missed.

What will be the steps of the project discovery?

  • In the first step, we will analyze the company requirements by interviewing stakeholders.
  • In the second step, we will have some market research about the requirements besides analyzing similar studies.
  • In the third step, we will work on the strategy about actions targeted at bringing the idea to life. What’s more, the task should be performed with financial and time benefits in mind.
  • In the fourth step, we will prepare the functional design that contains everything related to the application or site’s operation and functionality.
  • In the fifth step, we will transform the functional design into a visual prototype that will bring the idea to reality.
  • In the sixth step, we will work on the technical side of the application and prepare a technical design.
  • In the last step, we will prepare a rough estimate of the project implementation cost. The purpose is to give an understanding of what costs the project may require.

Please call us to talk more about how we could convert your idea to reality or help you in your organization’s digital transformation.

bianca-email

Why Scrum works and has visible effects on software projects?

While up to half of software projects are unsuccessful, statistics show that Scrum raises the effectiveness of project management, and as many as 62% of projects run this way will succeed.

Scrum is a project management tool for a working life cycle. It is an Agile framework to properly manage the development cycle. As you’ve probably noticed, Scrum is very popular – especially in software projects. This is completely understandable. Scrum is valued for its high efficiency and its well-designed project management system.

Have a look at another statistic. Various sources show that up to 90% of teams working with Scrum say they have improved the quality of their work because of it. Scrum is also very popular for another reason: it is aligned with the Agile approach, which sets the highest standards for project management.

Let talk about the advantages of the scrum:

# 1 Scrum is efficient

When working with Scrum, your team has the chance to achieve the highest levels of efficiency. This is possible due to the ‘sprints’ scheduled within a specific time frame. During this time frame or sprint, the team focuses on selected tasks. The sprint is carefully planned by the Scrum Master, who is responsible for time management.

# 2 Scrum ensures high-quality results

For good reason, Scrum is one of the most frequently used methodologies in software projects. One of its key features is ensuring quality. During a sprint, the team focuses on pre-set tasks. This avoids the usual distractions from adding unplanned tasks. The exchange of knowledge and support among sprint members also ensures high-quality results.

# 3 Scrum allows you to see effects quickly

The work of the team is noticeable quickly. The work takes place over strictly defined functionalities that are ready and tested when the sprint is finished. Because the product is developed in stages, you can see the effects of development.

# 4 Scrum saves you money

Due to the effective time and tasks management, focused on eliminating bugs in the sprint, Scrum speeds up how you build your product. You will notice very quickly that your budget is being used effectively. You do not waste time dealing with unnecessary amendments. After finishing the sprint, the team goes to work on the next functionalities in the next sprint.

# 5 Scrum is transparent

This is an important feature, especially for customers who want to monitor the progress of work on their product. Thanks to the sprints, they know exactly which functionalities the team is currently working on. They can also see the effects of this work relatively quickly. The aim of the development work is clear for both the team and the client.

# 6 Scrum provides support for all team members

If someone in a sprint has a problem with the task, then they can consult with the whole team for support. Other members in the sprint will provide help or, if necessary, complete the task. Knowledge exchange and mutual support help keep the sprint stable and avoid delays.

# 7 Scrum is user-friendly for sprint members

Scrum allows sprint members to choose the tasks they want to complete. This way, they can work on what they really like or are good at. The tasks are assigned by the Scrum Master, whose goal is to select the best tasks for the skills of each sprint member.

# 8 There are tools to support work in Scrum

Due to the huge popularity of Scrum, there are many tools available that support this project management methodology and allow you to control all processes and stages.

laura-email

How we manage the projects?

What is Scrum?

Scrum is a framework that helps teams work together. Much like a rugby team (where it gets its name) training for the big game, scrum encourages teams to learn through experiences, self-organize while working on a problem, and reflect on their wins and losses to continuously improve.

While the scrum I’m talking about is most frequently used by software development teams, its principles and lessons can be applied to all kinds of teamwork. This is one of the reasons scrum is so popular. Often thought of as an agile project management framework, scrum describes a set of meetings, tools, and roles that work in concert to help teams structure and manage their work.

How does scrum project management work?

The scrum approach to project management enables software development organizations to prioritize the work that matters most and break it down into manageable chunks. Scrum is about collaborating and communicating both with the people who are doing the work and the people who need the work done. It’s about delivering often and responding to feedback, increasing business value by ensuring that customers get what they actually want.

Shifting from traditional project management approaches to scrum project management requires an adjustment in terms of the activities that are carried out, the artifacts that are created, and the roles within the project team:

Activities in scrum project management

The main activity in scrum project management is the sprint, a time-boxed iteration that usually lasts between 1-4 weeks, with the most common sprint length being two weeks.

Sprint planning meeting: at the start of each sprint, a planning meeting is held to discuss the work that is to be done. The product owner and the team meet to discuss the highest-priority items on the product backlog. Team members figure out how many items they can commit to and then create a sprint backlog, which is a list of the tasks to complete during the sprint.

Daily scrum or daily standup: each day during the sprint team members share what they worked on the prior day, will work on today, and identify any impediments. Daily scrums serve to synchronize the work of team members as they discuss the work of the sprint. These meetings are time-boxed to no more than 15 minutes.

Sprint review: at the end of a sprint, the team demonstrates the functionality added during the sprint. The goal of this meeting is to get feedback from the product owner and any users or other stakeholders who have been invited to the review.

Sprint retrospective: at the end of each sprint, the team participates in a retrospective meeting to reflect on the sprint that is ending and identify opportunities to improve in the new sprint.

Sprint Demo: at the end of each sprint, the team will have a demo to the clients to show what exactly to do during the sprint and they will show the output product to the clients.

Then with the scrum team and clients have all the control over the project and the changes could implement fast and clients will be completely aware of the work progress.

david-email

How do we stay GDPR-friendly for our clients in an outsourcing environment?

Under the GDPR, data management is carried out by the “controller” and the “processor.” How the personal data of an individual is used is determined by the controller. The role of the processor is to process the personal data on the part of the controller. 

providers play the role of the data processors and the companies that outsource are the data controllers.

Outsourcing firms that want to work with EU-based companies require strengthening their data security and privacy policies in order to align themselves with the standards laid down by the GDPR

In the case of a data breach, both the company and the outsourcing provider can be held liable and penalized heavily. Therefore, both the data controller (company) and the data processor (outsourcing services provider) should strictly adhere to the guidelines laid down by the General Data Protection Regulation (GDPR).

The following steps can help us in becoming fully compliant with GDPR:

  1. We Know What Is GDPR: 

We know about the GDPR and its effects on our business. First of all, we identify which of our business processes require changes in order to attain full compliance with the GDPR. We make all of our employees aware of the GDPR by providing training to them so that each and every department in our organization knows how to safely handle the users’ data.

  1. We Have A Review Of our Technologies And Business Processes each 3 month 

We review our business processes and look for where they are lacking in following the GDPR standards. Adopt new procedures and, if required, hire specialists so that we are able to meet the standards. Examine the technologies that are actively being deployed in your firm. Check if these technologies are adequately meeting the technical requirements for ensuring data security and privacy as required by the GDPR.

We could implement all the necessities in your product to be GDPR friendy.

  1. We could Set Up A Data Register for your business: 

As part of the GDPR, data protection associations have been set up by the European countries. They have been set up for the purpose of enforcing the GDPR and monitoring compliance. You should create a data register, which is a record of data processing activities. If for any reason, a data breach takes place, you will be required to show the data register to the data protection association.

  1. We will Build A Data Security Roadmap for your product : 

We will prepare a data security road map at the beginning of the projects. It helps us in prioritizing where the greatest security risks are present and in setting up goals and milestones. Data security techniques like encrypting, pseudonymization, etc. can help us meet our security goals.

  1. We could carry Out Periodic Assessments: 

Once we have set up and put into practice the technologies and processes required for becoming fully compliant with the GDPR, our next step is to carry out periodic assessments for ensuring everything is working as expected. Keeping data management and security in order will help you in preventing any sort of data breach, and will, therefore, save you from heavy penalties for GDPR non-compliance.

david-email

GDPR and how do we implement it in the software development process?

All the companies providing goods or services for the EU citizens will have to adhere to the new data protection rules or face fines of up to 4% annual global turnover or roughly $24.5M. As the GDPR comes into force it will affect businesses all over the world.

What is GDPR? Who needs to prepare for GDPR?

Any organization which gathers or processes EU citizens’ personal data is subject to the regulation. Moreover, all your contractors (including software development companies) need to adhere to the standard for your app to be GDPR-compliant.

How we implement it into your software:

1. Get informed consent from the user

The GDPR states that businesses now have to ask users to agree to collecting and processing their personal information. The request “must be given in an intelligible and easily accessible form, with the purpose for data processing attached to that consent

2.We will minimize the collected data

We will make sure that you are collecting only the information you can’t do without. And, if possible, implement automatic deletion of the data you no longer need. 

3. We will encrypt personal data

Encryption adds an extra layer of security the hacker must defeat before they can access the information. The GDPR Article 32 requires that personal data is protected by the “state-of-the-art” measures. However, the exact nature of those measures is left for the companies to decide

4. We will implement “privacy by design” 

we making sure privacy is taken care of at every stage of the product’s lifecycle. Implementing this idea is a much larger undertaking.

4.1 Two-Factor Authentication

It protects from online fraud and identity theft

4.2 Blocking brute force attacks

If a hacker intends to use automated login/password guessing, these measures can stop them.

4.3 Automatic Log-Off

This feature helps prevent unauthorized access and modification of data

4.4 Separate domain names for Customer and Admin portals

Separating portals helps protect the information and allows securing the admin section without hampering users.

4.5 HTTP Authentication for Web Admin Panel

This feature adds another layer of protection against them.

4.6 SSL Certificate

SSL certificates protect the information transfer between app server and database or between the user and your service.

4.7 Locking Unused Database Ports

New servers are shipped with all the ports open. Lock the unneeded ones so they can’t be used for intrusion.

4.8 Database can be accessed only from API server IP

Allowing only one IP address will prevent unauthorized access and locate data breaches. Cloud firewalls could help with that.

4.9 Database connects to API server via HTTPS

Encryption helps protect the information while it is in transfer.

4.10 Server is accessed via VPN

VPN adds another layer of security to the data on the server.

4.11 Regular Database backup

Back up the information in the DB and store it on an external cloud service. In the event of a data breach, it will help to minimize losses.

4.12 Regular Server Log Backup

All the server logs should be kept and stored externally. It helps locate inconsistencies in case of hacker attacks.

4.13 Adjust Inotify

Set up triggers and notifications to detect intrusion quickly.

4.14 Log all the Server Actions

Logs allow to find out which data was modified.

5.We will implement “Privacy by default”

“Privacy by default” essentially means that if there are privacy settings in your product, they must be set to maximum at the start.

6.We will implement Pseudonymization

Pseudonymization means storing information that can identify a person (e.g. social security number) and the related data (gender, age, location, etc.) separately.

7. We will prepare for the users to exercise their rights

The new European regulation has given people extra rights that companies must grant: Right to be forgotten; Right to object; Right to rectification; Right to access; Right to portability.

8.We will document everything

The regulation requires companies to not only implement additional data protection measures but also document them to be able to prove that they’ve taken the necessary steps.

9. We will prepare a plan for contingencies

No matter how well you are defended at the moment, it pays to be prepared for personal data breaches.

In most cases, you’ll need to notify the Information Commissioner’s Office (ICO) within 72 hours of detecting a breach. If you opt not to, you must have a valid (and properly supported by documents) reason for it. But if there is a “high risk to the rights and freedoms of individuals”, you need to inform your users as well.

10 elements every production environment must have

1. Redundancy

Redundancy is probably one of the most important ingredients of a successful production environment. If a system or service is critical to the organization, either by producing revenue or preventing the loss of revenue, there should never be a single instance of it. Use the application as well as system redundancy to ensure you can withstand the loss of an entire server. Power and network connections should also be redundant. Some organizations even have entire site redundancies so they can run their operations in an entirely different location.

Cost is often cited as a factor against implementing robust redundancy, but keep in mind that investing in redundancy, while potentially painful at the onset, can reap hefty dividends down the road — even if only for the peace of mind it provides.

2. Disaster recovery capability

A “disaster” can have an ambiguous meaning. It refers to any unexpected misfortune or failure ranging from a crashed application to the loss of an entire site due to a power outage. Plan for disasters that will impact your ability to run a production environment and ensure you have appropriate solutions in place. Some examples:

  • Perform nightly backups of all systems and confirm restore functionality
  • Ship backup tapes/hard drives off-site (or copy data to the cloud so it will be accessible remotely)
  • Take snapshots of SAN volumes and virtual machines to be able to roll back to a known good state
  • Keep spare hard drives, network cards, and servers on hand for emergency situations
  • Install a generator to guard against power outages

3. Secure access

The incident involving the developer deleting a production database would never have happened had the company followed one simple guideline: only provide production access to individuals who actually need it, and configure permissions to match their job role. Store any system or service account passwords in a secured, centralized password database.

Unless someone is going to directly work in production from day one, don’t give them the key to do so. If they do need the access, determine whether “read” permissions are sufficient so they can’t actually change the data.

If employees with production access leave the company, make sure to disable or lock their accounts. If administrators with production access depart, change all the passwords involved such as root or administrator passwords.

4. Standardized access

There are a variety of methods to access production data; via a web browser, SSH connectivity, remote desktop, a Squirrel database client, secure FTP or various other methods. Ensure users have a standard method for production access involving the same client or portal.

5. Minimalism

Your production systems should contain only necessary services/applications. This means there will be less to troubleshoot and patch, and the simplicity will ensure a more predictable and manageable environment. This strategy will also reduce a potential attack footprint.

If applications or services are no longer in use, remove them.

6. A patching strategy

Speaking of patching, it’s a necessary evil. Develop a patching mechanism to ensure production systems are updated on at least a monthly basis.

Rebooting production systems is never anyone’s idea of a fun time, but suffering a data breach makes it look like a picnic by comparison. Besides, if you’re using redundancy, you should be able to patch and reboot a pair of clustered systems, for instance, with zero user impact. However, make sure to let at least a day or two pass before patching all redundant systems, just in case the patch produces an adverse impact which might obviate the protection you’ve implemented via redundancy.

7. Segregated networks

Your production systems should never be on the same network as your other servers, let alone your client workstations. Put them on their own dedicated subnet and maintain access through a firewall that permits only the desired systems to connect via only the necessary ports. This will help ensure security, as well as help, achieve the minimalism I mentioned above.

8. Change management

Change management is the process of documenting proposed changes and their expected impact then submitting a request for review and approval of the said change. Ideally, the request should list the affected systems, the plan for change, methods to validate the changes (both from a system administrator and end-user standpoint, and a backout plan.

9. Auditing, logging, and alerting

Many of the above steps become less effective or meaningless if you’re not using auditing, logging, and alerting. Every action taken on a production system should be recorded and, depending on the severity, should trigger an alert if appropriate. For instance, logging in as root should send a notification to IT staff and/or the security group so they can assess what’s happening and whether an illegal act is occurring.

The same applies to hardware that might be faulty. There’s a saying that “your users should be the last ones to know when production is down.

10. Appropriate documentation

Knowledge is a powerful thing, but the ability to properly share it with others is even more powerful. Staff turnover is a fact of life, and employees who depart with critical information about the production environment stored only in their brains represent a significant company loss.

Documentation of the production environment should be comprehensive and kept up to date. It should include hardware, software, networking details, vendor information, support information, dependencies upon other systems or applications, and any other details necessary to maintain order. Conduct quarterly reviews and ensure all staff responsible for the production environment are familiar with the documentation, and that it is safely backed up in the event of a disaster.