What is Agile Release Train? Everything You Need to Know

The Agile Release Train (ART) is among the focal concepts you must understand when learning about the Scaled Agile Framework (SAFe). So what is this terminology? And how important is it for business agility? Let’s find the answers to these questions in this article with Designveloper.

You should know this before knowing about the Agile Release Train: What is Agile Software development?

What is the Agile Release Train (ART)?

What is the Agile Release Train (ART)?

In SAFe, an ART is a self-managing, long-term team that consists of multiple agile teams. A typical ART includes 5 to 12 cross-functional teams, equivalent to 50 to 125 workers. Its main responsibility is to align those teams to a shared goal and mission. Further, agile teams wherein are navigated to regularly define, build, validate and release working solutions to end-users. 

There are two other concepts relative to the ART you should learn about to better understand the train. They include Value Streams and Program Increments.

FURTHER READING:
Agile Software Development Life Cycle Guide
6 Agile Project Management Tools That You Should Know in 2022
Pros and Cons of Agile Methodology: Which Team Should Apply This Model
12 Agile Principles and How It Looks in Practice
The Agile Mindset: What do you need to focus on?
Agile Sprint Planning: Definition and Generic Guides in 2022
Agile Sprint Cycle: Definition, Execution, and Steps Explained
Scaled Agile Framework: The Optimal Approach for Scaling Enterprises
Story Points in Agile and How to Estimate Them Effectively
Agile methodology topic

Agile Release Trains and Value Streams 

Value Streams are a set of essential activities to turn business ideas into pragmatic solutions and then provide end-users with such deliverables. Which projects are conducted, Agile Release Trains need to be organized around such value streams. As multidisciplinary units, ARTs must have long-term experience and versatile capabilities to develop solutions that deliver perpetual value flow. Without operating around value, ART members struggle to monitor multiple dependencies and interconnections between teams. 

There are four basic team topologies on a single ART, according to the SAFe:

four basic team topologies on a single ART
  • A stream-aligned team operates around workflow and can deliver value directly to end-users.
  • A platform team develops and supports platforms that offer other teams’ services.
  • A complicated subsystem team operates around subsystems that require specific expertise and specialty skills.
  • An enabling team helps other teams to use new technologies proficiently and improve specialized abilities. 

Agile Release Trains and Program Increments (PI)

The concept of Program Increments (PIs) is mentioned throughout the ART’s principles, hence playing an important role in grasping ARTs. A Program Increment is a timeboxed phase through which an ART delivers incremental values of working solutions. A typical PI often includes four development iterations and one following phase known as Innovation and Planning. 

In each PI, the ART will use synchronization and cadence to:

  • plan the next increments;
  • minimize work amounts in the process; 
  • collect values for feedback; 
  • ensure consistent retrospectives. 

Who Gets Involved in Agile Release Trains?

Who Gets Involved in Agile Release Trains?

The Agile Release Train fails to operate successfully without the presence of the following important roles:

  • Agile Teams

Agile teams are the core feature of a single ART. Each team needs a team lead, a product owner and development members. They all must understand and apply the immutable values and tenets of the Agile Manifesto and SAFe to work towards common goals. ARTs can be launched in traditional agile, Scrum, Kanban or Extreme Programming (XP) environments. 

  • Release Train Engineer (RTE)

A release train engineer acts as a servant leader who supports implementing projects, removing obstacles, managing risks, and making continuous releases. 

  • Product Manager

A product manager is required to have a shared mission, vision, roadmap, and product backlog across an ART. Besides, the manager communicates with the product owner and customers to understand and discuss their demands. 

  • System Architect or Engineer

A system architect or engineer is held accountable for designing the high-level architecture of a system and identifying how parts fit well in the system. Also, the architect defines key system features, subsystems, non-functional requirements, and interfaces.

  • Product Owners

On behalf of a business, product owners take responsibility for conveying business needs. They also need to ensure digital-enabled deliverables meet their requirements. 

  • End-Users

End-users are the ultimate customers of solutions. 

Why are Agile Release Trains Necessary?

In a small-scale project, an agile team plays a vital role in planning, committing, and implementing the product development work. But when projects scale up or companies grow in size, a single team impossibly takes over increased workloads. It’s when the concept of the Agile Release Train (ART) is introduced to solve the problem.

Why are Agile Release Trains Necessary?

All agile teams of the ART work based on three main criteria, including:

  • Collaboration – More particularly, the train fosters the long-lived cooperation between cross-functional teams to plan, implement and deliver valuable products or services to end-users.
  • Stability – The Release Train requires special skills and expertise to provide deliverables with business agility, flexibility, and sustainability. 
  • Autonomy – The ART is considered a virtual organization that is capable of operating independently to build business values. 

For enterprises applying the Scaled Agile Framework, launching an ART is a must. The first train helps develop a suitable, reliable pattern for other upcoming trains and also builds a blueprint to duplicate its achievements. 

Key Principles Behind ARTs

Key Principles Behind ARTs

The Agile Release Train works on a wealth of essential principles, as described on the official website of Scaled Agile Framework:

1. Fixed Schedule

The ART plans and deploys tasks on a sound, fixed schedule that is identified by the Program Increment cadence. In case a feature misses a slot in the current PI, it will be built in the following one.

2. A New System Increment Every Other Week

The ARTworks in a two-week iteration, known as system increments. Accordingly, the train will deliver a new increment every two weeks. Further, team members use the System Demo to objectively assess the progress of the working system. 

3. Synchronization 

All agile teams of the ART will be synchronized into the common PI duration and have consistent start/end dates for each iteration. 

4. Reliable Velocity

According to past data, the Agile Release Train can make sound estimates of how many new features can be built and deployed in a PI. Those estimations help members to make reasonable plans afterward. 

5. Dedicated Workers

ART members are required to devote their full time to the train to maintain its sustainable performance and the solution’s ultimate quality. 

6. In-Person PI Planning

The Agile Release Train periodically plans its work in an agile ceremony called PI Planning. This meeting is often organized around strategic priorities to prepare for the next PI. Although the face-to-face planning event is encouraged among members, its online counterpart proves effective at times.

7. Innovation and Planning (IP)

The Innovation and Planning session will be held at the end of each PI. This ceremony offers a buffer (an estimating guard band) and dedicated time for other activities such as PI planning, continuous learning, infrastructure work, or innovation. 

8. Inspect and Adapt (I&A)

Like IP, the Inspect and Adapt event also take place at the end of a PI. During the session, the ART demonstrates and evaluates a deliverable’s current state. Moreover, a structured workshop is organized as well to determine backlog items that need improvements. 

9. Development of Cadence and Release on Demands

The ART uses fixed cadence and synchronization to minimize the inherent variability that often arises during the development process. But the release is separated from the cadence. In other words, a deliverable or any of its features will be deployed and published whenever possible. This helps the ART deliver values to customers faster and receive prompt feedback for later improvements. 

Conclusion

There’s no denying that the Agile Release Train is among the indispensable contributors to SAFe’s success. Through the article, Designveloper expects you to have a deeper understanding of how important ART is for scaling projects. This helps you draw out effective strategies to build and launch a high-performing ART.

The post What is Agile Release Train? Everything You Need to Know appeared first on Designveloper.


March 31, 2022 at 02:03PM
Share:

What is the Most Popular Web Server Application in 2022?

You’re reading this article on a browser. From a visitor’s standpoint, you can easily access it from any Internet-connected device with only a few simple manipulations. But in fact, the behind-the-scenes process is more complicated. And one indispensable factor in this procedure is a web server. You have possibly heard of this terminology many times, yet do you grasp what it is? And what is the most popular web server application you should factor in? Let’s find out the answers with Designveloper. 

What is a Web Server?

What is a Web Server?

When learning about a web server, you should consider both of its sides: computer software and physical hardware. These two aspects work effectively together to ensure a user’s requests will be seamlessly processed. 

  • In the software term: Most web servers use the HyperText Transfer Protocol (HTTP) or its secure extension HTTPS to communicate with web browsers. Thus they’re known as HTTP servers. These servers function as software that manages a user’s access to hosted files on databases. After a user enters the targeted website’s domain name or URL (web addresses, say, https://www.designveloper.com), an HTTP server receives and processes a request. It then gives the website’s expected content to the visitor’s device. 
  • In the hardware term: A web server acts as a computer that contains an HTTP server (web server software) and a website’s data or files (e.g. images, JavaScript files, or HTML documents). A physical web server connects with other devices through the Internet for data exchanges. A high-traffic website may require numerous physical web servers.
FURTHER READING:
Web Application Security: The Best Guide and Its Practices
Web Application Examples and Definition for Beginners
Web Application Architecture: Types, Components, and Tools to Creates
Mobile Web App Development: 2 Things You Must Consider First
Web Application Development Tutorial: The Ultimate Guide For Beginners
What Is a Web Application? What Business Must Know
Web App Development: What Happens Behind The 5 Stages?
Web application topic

How does a Web Server Work?

How does a Web Server Work?

In the back-end, a web browser requires a hosted file from a web server through HTTP. When the request comes to the right web server (hardware), an HTTP server (software) seeks the requested file. The server then delivers it to the browser through HTTP as well. 

Below are details of some critical steps in this procedure:

Hosting Files

All requested files must be stored in a web server in the form of HTML documents, JavaScript files, CSS style sheets, videos, and images. 

Web makers should assign their database to a dedicated web server which is frequently maintained by a hosting service provider. Not only does such a server help prevent system-related and downtime troubles. But websites can also take full advantage of their resources (i.e. RAM or CPU) to improve maximum uptime, site speed, security and flexibility. 

Communicating Through HTTP

HTTP is a common protocol that consists of rules for systems to communicate together. Today, websites use either HTTP or HTTPS – HTTP with higher encryption – to process a user’s request. 

After receiving the requested URL, an HTTP server will check whether it fits any existing document stored therein. If so, the server will promptly send it to a user’s device. Otherwise, an application server will create a requested file. In case none of these two possibilities happens, the web server will deliver a 404 message back.

Serve Static or Dynamic Web Content

A web server can be either static or dynamic. 

  • A static web server includes an HTTP server (software) and a physical web server (hardware). The server delivers its available files upon requests to a user’s browser.
  • A dynamic web server includes a static web server and additional software which is mostly a database and an application server. Normally, dynamic content is updated and generated by an application server from a database at the time of request before being delivered by an HTTP server to a user’s device.

Take Wikipedia as a typical example. This website includes some HTML templates (static content) and a massive database rather than a pile of static HTML documents. Whenever a user requests a particular webpage, an application server adds requested content from a database into an HTML template. This dynamic content is then sent to a web browser. So for you to see a webpage on any device, static and dynamic web servers are indispensable. 

What is the Most Popular Web Server Application? 

In February 2022, Netcraft, the UK-based Internet services company, released a brief report on the popularity of web server applications. This report helps you answer the main question of this article, “What is the most popular web server application you should consider?”. And once again, Nginx continues retaining its leading position, with 32.29% of the webserver market share. 

web server developers market share of all sites

Nginx has two versions. Nginx Open Source is a highly performant, open-source web server. Meanwhile, its paid variant, Nginx Plus, is equipped with more advanced features. Since its official release in 2014, the application has gained growing popularity. And until the first quarter of 2019, Nginx surpassed Apache to become the most commonly used web server. Some famous websites and web applications adopting this solution include Pinterest, Netflix, Airbnb, and GitHub.  

Some of its outstanding advantages involve:

  • A decent option for high-traffic sites because the server is capable of handling more than 10,000 connections smoothly at the same time;
  • Be compatible with IPv6, the latest IP version;
  • Be considered as a front-end proxy (reserve proxy) that allows the extraction of data from one server or more;
  • Allow load balancing that distributes incoming requests effectively to numerous back-end servers to promptly meet high volumes of requests from users;
  • Adopt an asynchronous event-driven architecture that consumes low memory. 

Other Web Server Applications to Consider in 2022

Nginx is the key answer for the question of “What is the most popular web server application in 2022?”. But it’s not the only candidate you should consider for your websites or web applications. The web server market also witnesses the significant growth of other noticeable names as follows:

Apache

apache company

Like Nginx Open Source, Apache is a free, cross-platform web server released in 1995. So there’s no denying that this approach plays a critical role in the initial development of websites. Although the application has lost its market share in recent years, it’s still one of the two leading web servers, with 23.68% of the market share. Further, it’s considered a stable, reliable option for both small and large projects, typically Shopify, Salesforce, or Dropbox. 

Some of its outstanding advantages involve:

  • Offer a big collection of MultiProcessing Modules (MPMs) that enables Apache to operate effectively based on each infrastructure’s specific needs;
  • Support a myriad of features and modules that enhance core functionality;
  • Have a large community, which accordingly supports security releases and updates more often;
  • Customize server configurations through .htaccess;
  • Be compatible with IPv6.

OpenResty

OpenResty company

OpenResty is an Nginx-based web server that uses the scripting middleware LuaJIT to run Lua scripts. It supports developers to create scalable web services, web apps, and dynamic web gateways. In February 2022, Netcraft witnessed the strongest growth rate of OpenResty, with over 10 million sites and 546,000 domains using this server. 

Some of its outstanding advantages involve:

  • Provide an event-driven architecture;
  • Integrate the Nginx core functionality’s updated version, upgraded LuaJIT version, third-party Nginx modules and more to develop high-performing web apps that can process multiple connections concurrently.

Cloudflare

Cloudflare company

If you’re learning about what the most popular web server application is for the top million busiest sites, it’s impossible to ignore Cloudflare. Following Apache and Nginx, this approach takes the third position, with 19.41% of the market share. And it’s expected to obtain stronger gains in this segment because it’s more used for high-traffic sites, according to the W3Tech. 

Cloudflare is easily set up and allows you to build websites or web apps on any platform without additional hardware, software, or codebase changes. 

Some of its outstanding advantages involve:

  • Remove superfluous characters to reduce the file size, thus expediting the page load;
  • Mitigate potential vulnerabilities using DNSSEC (Domain Name System Security Extension);
  • Leverage browser caching with simple manipulations in the Caching tab;
  • Use AMP (Accelerated Mobile Pages) to boost a mobile content’s performance and speed. 

IIS

IIS

Initially published by Microsoft in 1995, IIS (Internet Information Services) is a highly performant web server and also an important cog in the Windows NT wheel. It’s designed mostly for static sites and ASP.NET web apps. 

Some of its outstanding advantages involve:

  • Accompany a modular architecture that facilitates the addition and removal of modules or extensions;
  • Offer various authentication solutions and built-in security functions;
  • Use Database Manager to control remote and local data with ease.

LiteSpeed

LiteSpeed company

Originally introduced by LiteSpeed Technologies in 2003, LiteSpeed is a proprietary web server. The company offers both open-source and paid versions. The former, known as OpenLiteSpeed, eliminate some features and is considered less stable than its paid counterpart. Meanwhile, the latter comes with two kinds of paid licenses as follows: Site Owner and Web Host. 

Some of its outstanding advantages involve:

  • Securely manage a wide range of simultaneous visitors with low memory and CPU resource consumption;
  • Adopt the same configuration as Apache, hence has high compatibility with multiple Apache features and common control panels (e.g. DirectAdmin and Plesk);
  • Use an event-centric architecture to process requests. 

Conclusion

Through the article, Designveloper expects to help you find the correct answer for the question “What is the most popular web server application in 2022?”. Apart from the popular names mentioned in this list, you can ponder other existing alternatives. Choosing a web server depends much on your web project’s goals and requirements.

The post What is the Most Popular Web Server Application in 2022? appeared first on Designveloper.


March 28, 2022 at 11:16AM
Share:

What is a Web-Based Application? Examples and Benefits

Though not a new terminology in 2022, a web-based application still confuses those newly coming to this domain. And one important question arising here is: Should web apps be invested in if your business goes digital? The Designveloper article takes you around the key points of this segment, including:

  • What is a web-based application?
  • Typical examples of web apps
  • Potential advantages of web apps

What is a Web-Based Application?

You’re surfing Facebook on a mobile browser, and suddenly see a notification from Facebook that encourages you to download its mobile application. For the public, the web-based Facebook version is nothing short of a typical website. But in fact, it’s better known as a “web-based application” or “web app”. 

web-based-application-facebook

So what is a web-based application?

By definition, Web-based applications are a form of software that lets users connect with a remote server via a web browser. A web app is software using web technologies and running based on web servers. 

It differs from a standard website because its outer appearance and functionality resemble those of a native application more than a website. And it’s mainly designed for interactions with users. 

Having said that, it’s hard to say that web apps and their native counterparts have no differences. In comparison with mobile and desktop applications that require certain operating systems (e.g. iOS, Android, or Windows), a web app doesn’t need one. Instead, with a client-side program (a “browser”) through which users run the web application, can they access remote databases to obtain required information, regardless of devices. 

FURTHER READING:
Web Application Security: The Best Guide and Its Practices
Web Application Examples and Definition for Beginners
Web App vs Website: Why Is It a False Dichotomy
Web Application Architecture: Types, Components, and Tools to Creates
Web Application Development Tutorial: The Ultimate Guide For Beginners
21 Web App Ideas for Beginners in 2022
5 Web App Ideas to Make Money in 2022
Web application development topic

Common Ideas of Web-Based Apps

In this era, information needs to be fast processed and presented to promptly meet user and business demands. Companies accordingly require a place to congregate all necessary data and directly communicate with users. It’s when web apps come into play. 

Individuals and companies customize web applications as per their ultimate goals and requirements. But generally, these software programs are considered an effective means of communication with users. 

web-based-application-from-bmw

For clients, web apps help interact well with organizations through online forms, shopping carts, content management systems, and more. Therefore, some common web-based app ideas to do so include:

  • Online payment systems;
  • Content management systems that are capable of handling massive data and managing simultaneous projects;
  • Systems where customers book tickets, accommodation and more;
  • Online retail and online banking systems that work with client inputs (e.g. sign-up information).

For employees, web apps are cost-effective vehicles to share information, cooperate on projects, build and work on documents. Some typical examples entail Gmail, Google Docs, and Google Sheets. 

Outstanding Web App Examples by Designveloper

At Designveloper, we devise a wide range of web app projects, typically CV Simply and LuminPDF:

  • CV Simply: CV Simply is an online tool for editing and updating CVs. This web app offers both open-source and paid plans for building resumes based on existing templates.
  • LuminPDF: LuminPDF is an online web app that helps users edit, store, integrate and share PDF files between devices. 

How does a Web Application Work?

How does a web application work?
How does a web application work?

There are five integral elements to activate a web application in any device, including an Internet connection, a web browser, a web server, an application server, and a database. Accordingly, a web app works in the same mechanism of action as a website:

  1. A visitor sends a request through a web app’s interface on any browser (e.g. Google Chrome or Mozilla Firefox). Say, his or her search for home decoration on Pinterest is a request. 
  2. After receiving the request, a web server delivers it to an application server that generates the requested file from a database. 
  3. Upon obtaining a result from the application server, the web server will give it back to the user’s device. 
  4. Such expected information will be displayed on the web app’s user interface.

Like other applications, a web app requires front-end and back-end scripts to function well. They are written in respectively client-side and server-side programming languages which support browsers. Some common technologies include JavaScript, CSS, HTML, and Python. 

Competitive Advantages of Web Apps in the Context of Business

Common web based application
Common web-based application

Adopting web-based applications brings your company the following benefits:

Accessibility

Unlike mobile and desktop applications, web apps can be accessed whenever possible. As long as you have a well-connected device (e.g. smartphones or tablets), you can approach authorized data stored in remote servers.

Lower Investment

No matter which operating system your device is using, you don’t need huge investments in numerous versions of your web app. Therefore, compared to native and desktop software, a web app costs less. 

Cost-effective, Fast Deployment

Building multiple versions for different platforms also slows down the launch of mobile and desktop apps. But web apps can solve this problem. Even when your company plans to change from a desktop app to a web analog, the transition doesn’t need additional software. So the web app can be economically and fast deployed. 

High Scalability

Web-based applications work based on a web server, as already mentioned. There’s no need to build extra software configurations for your device to run a web app. Not to mention that modern web servers (e.g. Nginx or Cloudflare) are optimized to help web apps handle an excessive number of concurrent users. So, such software possibly performs well when your company or project scales up. 

Cloud-Based Storage

The introduction of web-based applications helps businesses solve a big problem related to data storage many companies are facing now. 

More particularly, web apps store all data and files on the cloud. Whenever requested, data can be fast allocated to a user’s device. Meanwhile, corporate data of desktop applications are distributed to various servers which can be categorized into two key groups: cloud and on-premises. This benefits companies in some ways but also acts as a two-edged sword. Requesting data from different sources may slow a desktop app’s performance. 

Additionally, your business can minimize the possibility of losing data incurred by hardware failures when using web apps with cloud-based storage. 

Security

Web apps can be more secured if hosted on dedicated servers. Such platforms allow your programs to make full use of a server’s resources (e.g. RAM or storage) instead of sharing them with other sites. Concurrently, they are under the continuous supervision of professional web administrators. 

Easy Updates and Maintenance

As web apps operate on web servers, they are easy to update and maintain without the need of reinstalling or reconfiguring client devices. 

Progressive Web Apps (PWAs): The Future of Web Apps?

ecommerce-web-based-application

Despite major advantages, there’s no denying that traditional web apps still come with noticeable shortcomings. Particularly, they hardly work offline, assist touch gestures or send notifications to users like native apps. Lack of some native functionality leads to the introduction of progressive web apps (PWAs) which combine characteristics of both native and web apps. 

Working on PWAs, companies still face visible drawbacks such as incompatibility with some business strategies and partial access to the Internet. But PWAs are believed to help shape a bright future for businesses going digital.

The worldwide progressive web app market reports the forecast compound annual growth rate (CAGR) of 34% over the period 2020 – 2026. 

PWAs are also expected to completely replace traditional web apps because the former helps resolve the latter’s existing problems that we mentioned before. Beyond that, PWAs help increases traffic to a business’s website, improve retention through native-like UX and hence boost revenues. Debenhams, a famous UK fashion brand, found a PWA as a key to enhancing customer journeys. Consequently, the brand saw a 40% growth in mobile-based revenues

Conclusion

“What is a web-based application?” is not a hard-to-answer question. More importantly, a web app is not always aligned with all business goals, visions, and strategies. To avoid unexpected damages (e.g. finance, human resources, or brand image), your company should consider its competitive advantages over other applications. In case you don’t know how to find the best digital solution, you can consult outsourcing services from Designveloper for sound advice.

The post What is a Web-Based Application? Examples and Benefits appeared first on Designveloper.


March 24, 2022 at 04:44PM
Share:

Web Application Security: The Best Guide and Its Practices

Web application attacks are among the main culprits behind data disclosure, regardless of organizations’ sizes, industries, or regions. This was proven by the official figures of the 2021 Verizon Report. To avoid such threats, it’s urgent for companies to closely look at security methods when developing a web app. Designveloper, in this article, will focus on the following key points to help you better understand web application security: Definition, Major Threats, and Best Practices.

Web Application Security: Definition and Importance

The introduction of dynamic websites has boosted their frequent interactions with visitors. Unlike static counterparts, they allow visitors to provide personal information for different activities therein like sign-up or payments. However, this also poses a perennial problem commonly known as Security

Today, websites and web applications get more and more complicated as cloud computing emerges and develops. Companies are inclined to store even sensitive data on the cloud because of its convenience and cost-effectiveness. Therefore, security-related issues become an inevitable concern instead of a luxury option. 

Web Application Security: Definition and Importance

So, what is web application security exactly? As a subsegment of information security, it includes everything to protect web apps from malicious code and other cyber-attacks. Particularly, organizations apply all practices, policies, procedures, and even technologies to secure confidential information against hackers in Internet and web app systems. 

User data is not the only reason for companies to develop and deploy security methods. Well-secured web apps can bring visible benefits as follows:

  • avoid revenue loss that may be triggered by service downtime, outages and incurred costs for repair and maintenance;
  • boost a company’s online reputation and customer trust;
  • guarantee web apps comply with security standards (e.g. ISO/IEC 27001 or HIPPA) regulated by local governments or international organizations.
FURTHER READING:
Web Application Examples and Definition for Beginners
Web App vs Website: Why Is It a False Dichotomy
Web Application Architecture: Types, Components, and Tools to Creates
Web Application Development Tutorial: The Ultimate Guide For Beginners
What Is a Web Application? What Business Must Know
4 Simple App Ideas For Beginners
5 Web App Ideas to Make Money in 2022
Web application topic

Top 10 Web Application Security Threats

Unlike traditional desktop-based software, web applications aren’t limited to any device because they operate on web servers. This contributes to the growing popularity of web apps. But they concurrently face an increasing number of cyberattacks and threats, as reported by CVE Details. Among them, however, the OWASP warned developers and companies to focus on the top ten vulnerabilities:

Broken Access Control

Properly configured web apps control user access to authorized functionality. However, when broken access control occurs, hackers can act beyond their allowable limits. Accordingly, they easily approach, modify, leak or destroy all data and files they’re not supposed to access. 

This vulnerability is reported to 94% of tested web applications by the OWASP. And it had the highest frequency with over 318,000 occurrences in 2021, according to the Common Weakness Enumerations (CWEs). 

Cryptographic Failures

Another notable vulnerability Designveloper wants to mention is cryptographic failures, previously called “Sensitive Data Exposure”. This security risk arises when web apps use weak cryptographic algorithms such as SHA-1 or RIPEMD160. Particularly, such functions inadequately protect sensitive data in transmission and at rest from being exposed or destroyed by unauthorized users. 

Injection

Injecting malicious code into web apps is another common way for attackers to implement unintended queries or commands and access confidential data. SQL injection, Cross-site Scripting (XSS), or OS command are some most common techniques to incur this vulnerability. This failure is mainly attributable to neither checking, filtering nor sanitizing user data. 

Insecure Design

Insecure design is a newly-added vulnerability in the OWASP list of web application security risks. It’s about failures to create secure architecture and design principles or patterns. 

This failure should be distinguished from development-related flaws which arise during the project implementation process. Even when developers carry out the perfect development of products, deliverables with insecure designs are prone to attacks. This is because developers are not well-instructed to build essential security controls. 

Therefore, to avoid this failure, your company needs to establish a business risk profile. This document identifies required risk levels and opportunities to help prioritize major threats.

Security Misconfiguration

This security risk occurs when web applications use insecurely configured features, insecure headers, insecure default passwords and accounts, and more. Security misconfiguration accordingly fails to limit access to external resources or gives superfluous permissions to accounts. Attackers will exploit this weakness to illegally leak, steal user data and gain unauthorized access to accounts. 

Vulnerable and Outdated Components

Web applications are also vulnerable to cyber-threats if developers don’t know versions of used components in the back-end and front-end. Besides, this defect arises when components are unsupported, outdated, misconfigured, or irregularly examined for vulnerabilities. 

Identification and Authentication Failures

This refers to failures invalidating the user’s identity, establishing secure authentication, and managing sessions. This security risk shows up when web applications allow default, known-to-be-weak passwords, use ineffective multi-factor authentication, and more. 

Software and Data Integrity Failures

This vulnerability is newly added to the OWASP list as well. It arises when the app’s infrastructure and code fail to secure software and user data from integrity violations. This is because the app either depends on untrusted libraries, plugins, and modules or permits automatic updates without verifying integrity beforehand. Attackers may accordingly gain unauthorized access, upload malicious updates, and compromise systems. 

Security Logging and Monitoring Failures

Logging and monitoring is the process of tracking and recording all data and incidents occurring within the system. Failures in logging and monitoring mean you possibly fail to identify defects that are hardly noticed by firewalls or scanners. 

This vulnerability is pretty common. But it’s considered challenging to detect unless organizations experience the failure and hardly fix it. Not to mention that logging and monitoring mostly involve interviewing whether any attacks are discovered during a pen test. This slows down the detection of data breaches and developers’ responses to them. 

Server-Side Request Forgery (SSRF)

This is the final new security risk described in the OWASP Top Ten List. This flaw occurs when web applications don’t verify the user-supplied URL before fetching data from the source. Although SSRF now receives small attention in Mapped CWEs, Designveloper still wants to warn about its increased severity which is a result of architectural complexity and cloud services. 

Best Practices for Web Application Security

Without a well-designed security strategy, your company fails to build web applications effectively. Below are some activities and technologies you should include in such a strategy: 

Conduct a Comprehensive Security Audit

Conduct a Comprehensive Security Audit

Carrying out security audits frequently is encouraged to help companies detect possible vulnerabilities in systems promptly. This guarantees web apps are kept from targeted attacks and examines whether teams follow predetermined security practices. 

If security audits are not your strength or you want objective assessments, a third-party testing team should take over the job. The team closely works with development teams to conduct one of the following security audits:

  • Black box security testing – The testing team doesn’t approach the app’s internal code, but rather examines the system from the outside to discover flaws.
  • Gray box security testing – The testing team has limited access to the app’s database and only approaches some key information to detect vulnerabilities. 
  • White box security testing – The testing team has full access to the codebase to guarantee all practices are followed. 

Beyond that, you should consider some popular security testing solutions suggested by Designveloper: 

  • Penetrate Test: This manual test is designed to test web application security by ethically attacking app systems to discover exploitable flaws. It’s commonly used for checking important apps, especially those going through significant changes. 
  • Static Application Security Test (SAST): This white-box solution allows developers to scan the whole codebase for vulnerabilities, even without web apps running in an executable state. Apart from automated testing techniques, this approach also requires manual reviews to determine whether positives from automated tests are false. 
  • Dynamic Application Security Test (DAST): This black-box testing approach automatically scans and analyzes web applications to detect flaws. But it’s only best suitable for solving low-level defects (i.e. injection flaws). If you want to examine medium-risk and high-risk applications, it’s better to combine this solution with other manual testing methods. 

After security audits, development teams start evaluating the impacts of vulnerabilities and decide which flaws need fixing first. 

Guarantee Data Encryption

Encrypting user data is essential even when they’re transferred between the user’s browser and the server or when they stay at rest. 

The BuiltWith statistics indicate that 68.61% of million-traffic websites used SSL/TLS encryption in 2021. This cryptographic protocol encrypts and allows all dataflow between the visitor’s app and your system safely. 

Further, your company needs to follow encryption standards to mitigate back-end interventions in data at rest. Some effective activities to secure such information entail encrypting confidential data with robust algorithms and storing them in secure, separate databases. In addition, your company should consider investing in strong network firewalls and infrastructure security. 

Monitor Real-Time Security

Monitor Real-Time Security

Your app needs perpetual protection measures that help manage security and identify vulnerabilities automatically in real-time. Some common security tools to help you do so consist of:

  • Web Application Firewall (WAF): A WAF protects your web app from hostile HTTP traffic by establishing a filter between such malicious sources and the targeted server. 
  • Runtime Application Self-Protection (RASP): The RASP technology works on the web server and automatically evaluates behaviors on your app. In case attack vectors are detected, the technology blocks such malicious activities and ends sessions. 
  • Application Security Management Platform (ASMP): An ASMP is integrated with your mobile app to manage multiple protocols (e.g. FTP, TCP or SOAP) and prevent the app from unusual behaviors or attacks in real-time. 

Each tool works best in particular situations and also accompanies potential drawbacks. As per your security demands, you can select proper tools or use more advanced technology to best support your 24/7 monitoring of the app. 

Implement Proper Logging Practices

We mentioned how important logging and monitoring are in the context of cybersecurity. Without proper logging and monitoring practices, you don’t know exactly what occurs at what time and why or how the incident happens. Consequently, you may ignore vulnerabilities, albeit minor, and confront the daunting task of tracking their causes and making post-threat forensics. To implement logging practices effectively, you should use logging and monitoring tools such as PaperTrail, Linux Syslog, or ELK stack. 

Regularly Follow the OWASP List of Common Vulnerabilities

Sometimes, there are new vulnerabilities incurred without developers knowing because they appear rare or completely new. In such a case, continuously checking the OWASP list is a necessity to help you update your knowledge about such threats. The list also showcases which vulnerabilities are currently dominating. This hence supports you to pre-equip your web applications with higher security so that they can resist such serious vulnerabilities. 

Apply Security Hardening Techniques

Apply Security Hardening Techniques

Security hardening is a series of techniques, practices, and tools to eliminate possible vulnerabilities and cement the web app’s security layers. Here are something you should consider to condense your app’s security:

  • Maximize script execution time: Depending on your web app’s usage purpose, you can define the maximum script execution time. This time identifies the length of a certain script operating on the web server. So maximizing the time can reduce the possibility of outside attacks.
  • Disable extensions or modules: One way to mitigate the attacked area is inactivating extensions or modules that your apps rarely or never use on the web server. 
  • Build a robust content policy: Strengthening a content security policy foils malicious infections. 

Test Web Apps Frequently, Update Security Releases

No web apps have perfect security. And we have to admit that along with the increased advancement of security techniques and tools, hackers also become better. It means they can always find ways to discover and exploit your app’s weaknesses. 

So testing your apps continuously and updating security releases for all servers is a must to diminish attacks from bad people. This procedure can be carried out with automated tools or through a manual review. Moreover, developers can use package managers to automate the process of discovering, configuring, and installing external dependencies to solve your security problems. 

Conclusion

The worldwide web app market, especially PWAs, records the compound annual growth rate (CAGR) of 34% over the forecast period 2020 – 2026. This means the possibility of more vulnerabilities faced by web apps is respectively higher. Therefore, one imperative of organizations now is to pay more attention to web application security to make sure it works against potential vulnerabilities. However, we Designveloper acknowledge that there’s no perfect security method. So continuously planning, testing, and upgrading your app’s security is a necessity.

The post Web Application Security: The Best Guide and Its Practices appeared first on Designveloper.


March 21, 2022 at 04:06PM
Share:

Story Points in Agile and How to Estimate Them Effectively

Estimating how long developers will complete a product’s features is a hard game. Not to mention that wrong estimations can translate to overwhelming workload and even later project failures. Therefore, the overriding concern among agile team members is to find out the way to make a realistic timeline. It’s when some estimation techniques with higher accuracy come into play. One of them is story points. In this article, Designveloper will give you a deeper understanding of story points in agile and how to apply them for effective estimations.

You should know this before knowing about the story point in the agile methodology: What is Agile Software development?

What are Story Points in Agile Methodologies?

Story points are units used to measure how much effort developers need to build a product backlog item
Story points are units used to measure how much effort developers need to build a product backlog item

This terminology is developed based on the phrase “user stories” in agile. Accordingly, a story, known as a product backlog item, is a concise explanation of a deliverable’s functionality from end-user perspectives. For example, below is typically what a customer wants from an eCommerce app:

I prefer to receive notifications about personalized discounts based on my purchase history.

Based on this user story, developers plan for building Push Notifications on the app. To estimate the overall effort they need to accomplish the job, they may assign relative values from one to ten or even 1000 to 5000. Which value range you use isn’t so important as how you evaluate the difficulty of a user story. On a 10-point scale, for instance, pieces of work given one are easiest, while those with six prove much more demanding.

FURTHER READING:
Agile Software Development Life Cycle Guide
6 Agile Project Management Tools That You Should Know in 2022
Pros and Cons of Agile Methodology: Which Team Should Apply This Model
12 Agile Principles and How It Looks in Practice
The Agile Mindset: What do you need to focus on?
Agile Sprint Planning: Definition and Generic Guides in 2022
Agile Sprint Cycle: Definition, Execution, and Steps Explained
Scaled Agile Framework: The Optimal Approach for Scaling Enterprises
Agile methodology topic

Why Should Your Team Use Story Points in Agile Development?

Time (e.g. hours, days, or months) is a traditional estimation approach in software development. However, it proves a bit old-fashioned and ineffective because such events as interviews or daily meetings lead to delays in your work. This hardly ensures the punctual delivery of a product’s features that team members committed to complete within a predetermined period. 

Not to mention that time-based estimations possibly come from subjective, emotional opinions. This means team members can overestimate their amount of work or over-plan product backlog items. 

Beyond that, the owner can evaluate a user story’s ROI and better predict time-to-market
Beyond that, the owner can evaluate a user story’s ROI and better predict time-to-market

Various agile teams turn their focus on story points. This gauging technique helps them solve the above problems. For the product owner, story point values help him/her better understand technical uncertainties relative to oversized prices of work. Beyond that, the owner can evaluate a user story’s ROI and better predict time-to-market. 

Meanwhile, story points support development teams to make a reasonable estimation of product backlog items they are able to develop. Thereby, they can build a reliable execution strategy, devise a proper plan and work sustainably to implement those items in an iteration. 

How to Calculate Story Points in Agile 

Agile teams use different ways to identify abstract values of story points. Designveloper suggests several common point systems as follows:

  • The Fibonacci Sequence: Each number is a sum of two preceding digits  – 1, 3, 5, 8, 13, 21, 33.
  • The Linear Sequence: The standard number pattern – 1, 2, 3, 4, 5, 6, 7, 8.
  • The Doubling Sequence: Each number is a result of one preceding digit – 1, 2, 4, 8, 16, 32, 64
  • T-Sizing: This method uses t-shirt sizes such as XS, S, M, L, XL, 2XL.
The Fibonacci Sequence: Each number is a sum of two preceding digits  - 1, 3, 5, 8, 13, 21, 33
The Fibonacci Sequence: Each number is a sum of two preceding digits  – 1, 3, 5, 8, 13, 21, 33

Whichever methods are applied, the more important question is how team members can base the difficulty of each item on those values. 

So to estimate them as precisely as possible, all the members should consider such external variables as workload, complexity, or risks. Besides, story point values should be based on internal factors like their abilities or available resources. The following questions will give them a clearer view of how these variables affect their estimates:

  • How complex is a feature? Or How difficult is it to build an item?
  • What are potential risks? (e.g. ambiguous demands, reliance on third parties or uncertain parts of a project)
  • Is the work repetitive? Or How familiar do developers feel with an item?
  • How much work is needed to complete a feature?
  • What is the team’s technical capacity?
  • How available are resources for developing an item? (e.g. human, finance or tools)
  • What must be done or prepared before team members commence or wrap up?

During the estimation process, team members shouldn’t assign values to small work they can implement in a specific timeline. Besides, they should avoid letting one factor impact the whole estimation process because story points are decided by various factors. 

A Typical Process of Estimating Story Points

In case you wonder when the story point estimation occurs, the answer is during the product backlog grooming. This session is conducted at the beginning of an iteration for development teams to review whether backlog items are clearly refined. 

Estimating story points is the main job of those who get directly involved in development work. But the product owner, a team lead/scrum master, and other stakeholders can participate in the process to avoid unexpected misunderstandings. 

Story points in agile

Recommended reading: What Is SCRUM And How Does It Work?

Below is how a typical estimation session takes place:

  • A team lead/scrum master holds the product backlog refinement meeting. He/She takes responsibility for monitoring the session and preparing the burndown chart for a project.
  • The product owner briefs product backlog items (PBIs) for estimation. Team members then give questions and examine possible assumptions or uncertainties.
  • Team members build an estimation matrix for story points. They then draw out PBI calibration to identify which causes minimal uncertainties, complexity and repetitiveness. 
  • Each member compares an item’s size with the preset calibration. Members use Planning Poker cards that display available numbers to show their estimates. 
  • The product owner can ask why development members pick specific numbers. If the owner and the team lead recognize extraordinary estimates can give a detailed explanation of PBIs, discuss and address any arisen problems. After issues are clarified and any misunderstanding is removed, those estimates can be modified. 
  • The above steps will be repeated until all members agreed upon the final results. 

Tips to Make a Story Points Estimation Effectively

Making the right estimations also contributes to the success of building high-fidelity features. But not all members excel at this job. Hence below are some critical tips to help in estimating story points effectively:

Consider Agile Estimation as a Teamwork

Teamwork

Only development teams estimate story points in agile because they are the only persons that understand the work implementation most. 

Meanwhile, the product owner is responsible for receiving requirements from clients, building the product backlog, and explaining items therein. The owner doesn’t always know exactly how the work is implemented. But it doesn’t mean the owner should stay out of the estimation process. 

It’s admitted that agile estimation isn’t a one-person game, but teamwork. Why is that? In reality, team members don’t grasp input requirements from the business, consequently over-or under-estimating backlog items. It’s when the owner and team lead jump in to clarify business expectations, explore and discuss matters. Meanwhile, the product owner himself can be knowledgeable about PBI complexity and the work implementation. He then will make a reasonable list of more refined items. 

Estimate Smartly, Not Hard 

Estimate story point
How to estimate story points for improved agile planning?

One mistake during the estimation process is some team members are trying hard to estimate story points. This sounds impossible because requirements may be altered and previous estimates can prove incorrect afterward. 

Assuming that a member’s hardest work never gets the estimated figure of over 20, for example. They will find it difficult to give exact figures for larger work than that. 

Therefore, when estimating story points, development teams are recommended to give the product owner approximate figures instead. Concurrently, these numbers must be useful in building a proper product roadmap.

Learn From Past Experience

In the sprint retrospective, all team members will reflect on what was done and how to make further improvements. But Designveloper advises you to look back at past estimates as well. This helps identify whether such estimates are accurate and whether PBIs should be divided into smaller increments to suit your team.

Conclusion

Estimating story points in agile can be among the hardest parts of your job. Yet it also requires regular practice to perfect. Besides, agile teams, say, Designveloper, also build a harmonious, collaborative environment for team members to constructively give their estimates of work.

The post Story Points in Agile and How to Estimate Them Effectively appeared first on Designveloper.


March 16, 2022 at 09:25AM
Share:

Agile Sprint Planning: Definition and Generic Guides in 2022

Sprint is a common terminology in Scrum, one of the agile variants for project management. A sprint is a short phase in which a certain set of work is implemented. And agile sprint planning plays a key role in guaranteeing team members reach their predefined objectives in each iteration. In this article, Designveloper will give you an overall insight into why this event is important and how to execute it productively.

You should know this before knowing about agile sprint planning: What is Agile Software development?

What is Sprint Planning?

What is Sprint Planning?
What is Sprint Planning?

Sprint planning is a kick-off event of a sprint. In the Scrum framework, smaller parts of a whole project are conducted within short periods. So, team members need to hold a short-lived meeting to determine:

  • Sprint objective
  • How long the sprint lasts
  • Which product backlog items (also known as “user stories”) can be completed in the sprint
  • How the work will be executed

Agile sprint planning requires the collaboration of a product owner, a scrum master, and technical members. They all work together to establish priorities and the agenda of work to achieve those features. 

Good sprint plans help Scrum team members to have a transparent, motivating environment to get jobs done well. Otherwise, ineffective sprint plans can drive a whole team out of the right track due to infeasible expectations, overwhelming workload, and unsuccessful communications. That’s why this event is worth focusing on and helps decide whether your team has a good start.

Expected Advantages and When to Apply Sprint Planning

When to apply sprint planning
When to apply sprint planning?

After team members wrap up the review and retrospective of the previous sprint, they will start the next iteration with sprint planning. Its primary advantage is it enables members to understand what is valuable for the product owner and forecast what can be done first. 

This event gives a whole team opportunities to plan how they conduct the work. Concurrently, it allows team members to contribute to planning discussions and strengthen their interpersonal connections. 

Sprint planning is widely applied in the Scrum development workspace. But other traditional agile teams can hold the session right at the beginning of each iteration. Therefore, this term is interchangeably used with iteration planning for those applying a timeboxed methodology to manage projects. Having said that, teams adopting flow-based management solutions can organize similar events to identify which items should be placed on the top priorities.

FURTHER READING:
Agile Software Development Life Cycle Guide
Pros and Cons of Agile Methodology: Which Team Should Apply This Model
12 Agile Principles and How It Looks in Practice
The Agile Mindset: What do you need to focus on?

Common Problems Faced in Agile Sprint Planning

Sprint planning is considered an important event that significantly affects the productivity of a whole team in the sprint. 

But there are several problems your team may confront during the session. These issues can make sprint planning ineffective, hence resulting in the team’s poor performance and failure of achieving required product backlog items. 

Common problems faced in agile sprint planning
Common problems faced in agile sprint planning

These pitfalls include:

  • The product owner and stakeholders don’t make user and business expectations clear to team members. So the latter has little or no understanding of what the former truly wants. This possibly makes them build the improperly refined product backlog to pick ready-state items. 
  • The product owner and stakeholders only focus on large-size user stories instead of breaking them down. 
  • A team has no clear sprint goals or arranges a set of irrelevant and unimportant work. This can derail a project and make team members feel like making no progress in work.
  • Development team members have no experience or proper understanding of the product owner’s requirements. In other words, they can focus too much on how to make user stories done rather than learn to understand them first. Not to mention that only experienced members proactively contribute to the discussion during sprint planning. Lack of communication can lead to mistakes in estimating a user story’s size and forecasting the workload in one sprint. 
  • Team members fail to organize product backlog items reasonably in priority order. 
  • The product owner only showcases his/her ideas from business perspectives. Meanwhile, development team members need to analyze such ideas from technical perspectives to help build optimal user stories. Failure to do so possibly translates to failure to draw out suitable features for a viable deliverable. 

How does Sprint Planning Works?

A typical sprint averagely lasts from 2 to 4 weeks. Accordingly, scrum teams are capable of conducting a sprint planning session effectively within one hour or two. According to the Scrum Guide, the maximum timebox for this event can be 8 hours if teams have a one-month iteration. 

The agile sprint planning session can be held in the team room. This is where people gather and update all essential information for the product backlog through information radiators. 

How sprint planning works?
How does sprint planning work?

In this section, Designveloper will elaborate on how our team members normally work in sprint planning. This session entails two parts as follows:

Scope

Team members discuss and finalize which user stories from the prioritized list they are able to accomplish in the sprint. However, before giving such an informed conclusion, the team has to solve the following questions:

  • What is the ultimate goal of the sprint?
  • Which product backlog items are in a ready state and have the potential to help the team work toward the goal?
  • Who will get involved in the team?
  • What is the team’s competence?
  • Which items need to come first according to the predefined goal and the team’s capabilities?
  • How confident are team members about completing items during the sprint?

Plan

Once the team has identified the scope of the sprint, they will go further to how the chosen user stories will be delivered. More particularly, the team determines certain tasks to complete those items and finds out possible dependencies or relationships between items. Beyond that, the team starts allocating responsibilities and roles to the right staff so that they can work well toward the common goal. 

Important Tips to Conduct Effective Sprint Planning

The sprint planning session will become ineffective if team members have poor discussions and misunderstandings of business ideas or user stories. So learning to conduct the productive session is a must to avoid the common pitfalls Designveloper mentioned above. Below are some of what your team should do to ensure the effectiveness of agile sprint planning:

Recommended reading: 6 Agile Project Management Tools That You Should Know in 2022

Make a Thorough Preparation for Sprint Planning Meetings

To run a successful sprint planning meeting, team members should be well-prepared and disciplined. Right before the session, team members congregate lessons and stakeholders’ feedback from the previous sprint retrospective to set the scene for the next sprint. 

Preparation for sprint planning meetings
Preparation for sprint planning meetings

Importantly, the product owner needs to update and build a clearly refined product backlog through backlog refinement. This process is optional, but it’s more advisable for team members to review the backlog to ensure its clarity and transparency. If your team has a two-week sprint, for example, you should hold a refinement session in the middle of the sprint. This process not only helps your team prepare for the next sprint planning. But it also enables you to look back at the current work from different angles. 

Team members can use the INVEST method to write effective user stories. Further, they should communicate and constructively discuss to determine the sprint goal, the scope of user stories, and their priorities. A careful prep can translate to effective sprint planning, which encourages team members to work more productively and guarantees other upcoming sprint stages run well. 

Identify a Time for Sprint Planning

Spending too much time on agile sprint planning may exhaust the whole team and navigate them away from the main focus. Therefore, the maximum time, also known as “timebox”, should be two hours per one-week sprint. This means, if the sprint lasts three weeks, you should spend no more than six weeks on sprint planning. 

Focus on Outputs, not the Whole Work

As Scrum and other agile methodologies are ongoing processes, you can’t plan everything in advance. So sprint plans shouldn’t be too detailed. But they are rather just enough for team members to know how other following steps will take place. This means your team should focus on valuable outcomes, rather than which tasks should be prioritized and how long they take. 

Focus on outputs not the whole work
Focus on outputs not the whole work

The nature of agile methodologies also makes you hardly receive all information right at the beginning of the sprint to make detailed plans. Nor does it stop you from identifying all possible problems you may encounter during the sprint. 

But you shouldn’t let this trait direct you to ambiguous plans. If you don’t know something, you should frame it, ask a question around it and find the answer during the sprint. Moreover, it’s advisable to apply user stories to envision the work from customer perspectives. This helps identify issues a customer is confronting and propose improvements he/she is finding. 

Beyond that, you can add measurable results to user stories. This makes your outcomes more measurable and transparent. 

Estimate Your Team’s Capability and Resource

Wrong estimations of how much work can be done during the sprint can leave negative implications. Apart from work failures, team members may confront demotivation and waste of resources, albeit finance or human. Therefore, Designveloper encourages your team to adopt estimation techniques (e.g. t-shirt sizing or story points) to better understand what members can or cannot do. 

Inevitably, those making good estimations need a trust-based workspace where they have leeway to exchange and discuss information. This environment encourages them to make positive contributions, continuously learn and improve products as well as their working process. 

Conclusion

Sprint planning is a critical event that lays a solid foundation for other work during the iteration. However, without thorough preparation and effective exchanges between parties, the agile sprint planning session cannot be held productively. Also, there’s no perfect plan. So it shouldn’t be your team’s burden or hurdle that contains too many superfluous details and moves members away from valuable outputs. Focusing on the sprint goal and planning enough for the backlog are other essential things Designveloper is applying and hence encourages you to do. 

The post Agile Sprint Planning: Definition and Generic Guides in 2022 appeared first on Designveloper.


March 07, 2022 at 11:00AM
Share:

Popular Post

Web Design

5 Quick-fire portfolio tips from design experts

Your design portfolio is one of your most useful tools. It can win you commissions, help you snag a new design job, attract collaborators, a...

Labels

Most view post