Personalization and Targeted Marketing Through AI-Driven UX

Picture of Attrecto team

Attrecto team

Personalization and Targeted Marketing Through AI-Driven UX

Imagine a world where you can anticipate every one of your customers’ intentions the moment they interact with your business. Now, imagine being able to tailor every interaction to each customer’s preferences, personalizing the user experience down to the last details, from colors and themes, through to product placement, recommendations, and serving the most suitable content and features. Think about just how easy it would be to steer the actions of the customers in your favor using marketing strategies based on a personalized UX model.

The prospect is tantalizing and seemingly magical. But these are just some of the things that AI-powered UX is capable of realizing.

AI is one of the fastest-growing tech innovations in the modern digital landscape. Its global market size is expected to reach just over $35 billion by 2025, at a staggering 57.2% CAGR. The fact is, more and more organizations now appreciate the value of AI-driven UX and are integrating AI-powered tools to their UI/UX design and marketing strategies.

Download your free guide for development process in UX driven projects 


AI-Driven UX Goes Beyond Automation

AI plays a significant role in automating business processes and workflow operations. However, there is much more to that story when it comes to an AI-powered user experience.

One of the conventional approaches to testing usability and user satisfaction on E-commerce platforms has always been A/B testing. A/B tests or split tests involve creating two or more versions of the same web page and showing each version to different groups of visitors. The versions are then critically analyzed and compared to find which design model gives the optimal results.

The problem with such an approach is that it gives you a very static user experience model. In other words, you are only meeting the majority of customers’ demands without considering individual preferences and anticipating behavioral changes. There is nothing to reflect that each customer and visit is unique.

Automated UX solves these problems by creating a dynamic user experience that actively adjusts to the needs of each customer. The AI-driven design of ntelligent UX “knows” what products and services to recommend, which content to show, which emails to send, and even the greeting message to show each visitor or customer. Personalization is a critical factor in the success of modern marketing techniques; in fact, 90% of leading marketers agree that personalization contributes profoundly to profitability.

Automated Analytics Through Intelligent UX

Besides personalization, intelligent UX also provides the business with powerful insights into the market dynamics and the brand’s performance. You’re probably already familiar with the concept of Big Data and robust analytics systems. These systems entail collecting and thoroughly analyzing vast volumes of data to draw meaningful conclusions from data patterns.

Data collected from customer interactions can be integrated into automated KPIs – for example, an experienced user who is more familiar with the application might use a complex user interface. In contrast, a less-experienced user will require a simple and intuitive interface to allow him to learn how to use the application without frustration.

Intelligent UX provides a greater scope of data from a multitude of unique customer engagement scenarios. Marketing automation involves three crucial strategies – generating qualified leads, converting those leads, and extending the lifetime value of the customers. There are four significant indicators to consider when automating your marketing process:

  •  Acquisition indicators
  •  Engagement indicators
  •  Conversion indicators
  •  Retention indicators

Automated KPIs rate leads generation, their conversion rates, and the value of qualified leads through intelligent scoring metrics. The most attractive benefit of using AI-powered marketing tools is making predictive analysis. You can leverage the power of AI-driven UX and data analytics to adjusts your business model and marketing efforts based on precise predictions of consumer behavior and market trends. A case in point is a chatbox experience, where the use of AI-driven UX would allow us to anticipate erroneous or unwarranted responses to ensure a smoother user experience.

Anticipating customer frustration or pain points can be the difference between retaining a customer and losing one completely. You can harness AI to identify when certain user behaviors would indicate that a customer is about to drop off, and surface proactive messaging that can cue the user with customer service support.

AI analytics may soon replace the conventional KPI dashboards. Smart analytics provide the businesses with so much more besides basic information. It’s about creating insights that companies can act on in real-time. AI companies such as AmpleroGumgum, and many others are already offering marketers with state of the art AI-powered marketing insights and metrics. Such companies provide advertisers with more effective ways of reaching their target audiences and judging their marketing performance through intelligent personalization.

What The Future Holds

Just about every software developer, especially in the E-commerce field, is keen on implementing AI features to improve product usability and UX. And this is not restricted to webpages either, as AI-driven UX is also growing popular in mobile development, particularly in mobile services and apps. Considering that more than half of all internet users access the web via smartphones, focusing on mobile users makes a lot of sense.

Combined with other similar technologies like augmented reality, machine learning, and deep learning, AI algorithms are growing more sophisticated and powerful, leading to faster, more accurate, and more useful, AI-based tools. Web pages, apps, and digital enterprise resources can now identify and support human needs (at least to some degree), which is the core purpose of AI-driven UX.

It’s safe to say that you should expect a lot more from AI-powered UX in the coming years. Intelligent UX will continue to reduce the cognitive load on consumers and ease E-commerce marking efforts.

Download your free guide for development process in UX driven projects

Share this post

Business Requirements in Software Development

Picture of Attrecto team

Attrecto team

Business Requirements in Software Development

When a client contacts a developer about a software development project, they either have a very clear idea of exactly what they want or just a vague idea of what they want to achieve.

Either way, it’s vital to define the scope of the project before starting work so both parties understand the deliverables and timescales at each stage of the project.

At Attrecto, we’ve developed a short template for clients to fill out when they first contact us about a project. This helps to guide the client through the decision-making process and answers some important business-related questions before we even start thinking about software solutions.

Download your free guide for development process in UX driven projects 


Creating a Value Statement

Many clients aren’t concerned with the specific features and functionality of software at this stage. It’s more important for them to nail down the business requirements that should be based on their vision or goals for the project.


One value statement may not cover the needs to be addressed and the business solution for every customer the client wants to serve. If this is the case, they should develop a value statement to target each group of customers. The final set of value statements will describe the functionality and business solution that are required to meet the needs of all users.


Developing the Value Statement into a Business Outcome Hypothesis

The value statement should capture the major goals and functional requirements of the project, but we then go into more detail by using it to create a business outcome hypothesis. This hypothesis has several important functions:

  • It states the quantitative and qualitative benefits that the business can expect if the hypothesis is proven to be correct. These benefits may be in terms of users affected, the expected impact on processes, products, services and costs, sales, revenues, etc.
  • It defines leading indicators that can be used to help predict the eventual business outcomes. Some examples of leading indicators include the number of users, subscriptions, costs per user, etc.
  • It determines nonfunctional requirements, which are features of the software solution not related to its functionality, such as which architecture and infrastructure it uses, how the software is built and updated, network usage and bandwidth, performance, availability, security, backup, stability, capacity, regulatory details, usability, interoperability, costs, configuration, documentation etc.

If you’re new to the idea of using hypotheses in software development, the concept is not so different from the hypotheses you were probably asked to develop as part of high school science class. You’d then carry out an experiment to test this hypothesis.

You can think of a hypothesis as a “prediction” or “best guess” of what the project will achieve.

An example of a basic hypothesis for software development might be something like: “We believe we can reduce our support requests by implementing a chatbot that will instantly answer frequently asked questions. We’ll know this is true when the number of support requests is reduced by X amount.

We then test this hypothesis in the leanest and quickest way possible to find out early in the development process if the solution currently in development is fit for purpose.


By using this method to define the scope of the project, we avoid adding unnecessary features or focusing on the features themselves rather than the business outcomes.

Other Information Needed Before Development Starts

Developing a business outcome hypothesis is a key concept in agile software development, and it helps us to make sure we’ve defined the full scope of the project before any work starts.

In addition to this formal process, we also capture and discuss other business-related information with the client that may be necessary or helpful for planning development. This may include:

  • A detailed description of business process steps
  • Definition of user stories and use cases in general
  • User personas (with roles in the system)
  • Minimal viable product features (the must-have features of the final solution)
  • Additional potential features (the nice-to-have features of the final solution)
  • Major milestones and deadlines.

By establishing the groundwork and expected business outcomes of your software development project in the beginning, you won’t just have a more seamless experience. This is how you’ll get the results you want to see. 

Download your free guide for development process in UX driven projects

Share this post

Why creating valid user personas is Vital in Software Development

Picture of Attrecto team

Attrecto team

Why creating valid user personas is Vital in Software Development

You’ve probably had some experience of user-testing or launching software that’s failed spectacularly. What may seem like an intuitive UX and useful functionality to you could fall apart in seconds when an actual user sees and uses your software for the first time.

But how can you anticipate how your users will think about and use your software before you reach the prototyping and testing phase?

User personas are the answer. By keeping the focus on the user experience during the design process, you ensure that every member of the development team is on the same page and working towards the same goals.

Download your free guide for development process in UX driven projects 


What is a User Persona?

User personas are an integral part of agile development and user-centered design. They enable the development team to think about the needs of the actual end users of their product rather than focusing on a set of features without considering if they’re actually wanted and needed.

Creating user personas for your app development company puts a human face on your users, making it easier to create software that suits their needs. Rather than trying to think about how to design for your users as a generic group, you can think about how you can make your app easier for “Bob” to use, or what features will be useful for “Sarah”.



How Creating User Stories Helps the Software Design Process

Your user stories build on your user personas to describe what each user wants from the product so it fulfills their needs.

These user requirements become a list of features that form the basics of your app design and development. Each user story is a short sentence focusing on one aspect of functionality and usually has a “who + what + why” structure. For example: “Anna wants to organize her time so she can be more productive”.

source: Knowledge TRAIN


How to Create User Personas and Stories

As a mobile- and web app development company, we just cannot emphasize this enough: Start by researching your market – the end users who will actually be using your software or app. If there’s an app with similar functionality already out there, look at who is using it and what they’re saying in feedback on app stores.

If you’re developing something completely new, interviews with real people are the best way to gather this kind of intelligence. Concentrate on their needs and challenges rather than your proposed solution. If you work for a web development company, information from analytics and social media is useful too.

This research will give you a good basis for creating user personas based on real people. Some information you might want to include in your personas include:

      • Name

      • Background (career, educational experience, interests etc.)

      • Job title and responsibilities

      • Knowledge level (about the concept of the app)

      • Context (what are they using the app for?)

      • Environment (where are they using it? E.g. at work or at home)

      • Pain points and challenges

      • Goals and Motivations (what do they want to achieve by using the app?)

Based on our decade of experience with mobile apps, three to five personas are sufficient for most apps and software projects. Once your team is familiar with the personas, you can create user stories based on your earlier research.


The Risks of Not Using Personas

Skipping the important step of creating user personas and stories is a huge risk. Without a clear picture in your mind of who you’re designing and developing for, there is a significant chance you’ll end up creating something that’s not suitable for your users.

Even worse, you could create an app that might work well for you but doesn’t really meet the needs of anyone else.

Using personas and user stories helps to position your product better in the marketplace and ensures you’re creating software that your audience wants and needs.

Download your free guide for development process in UX driven projects

Share this post

Biggest UX flops in tech

Picture of Attrecto team

Attrecto team

Biggest UX flops in tech

The Biggest UX Fails in Tech History 

Even great teams fail. 

Even strong brands miss the mark. 

When a UX design goes wrong, everyone loses: the brand, the business, your reputation, your revenues, and, most of all, your users. 

You know, the people keeping the lights on?

In 2018, Icons8 lost 47% of their users thanks to a badly informed UI/UX design.

Walmart lost $1.85 million because of a failure to examine user experience surveys. This data is central to validating the central hypothesis of a UX design. 

And it’s not confined to companies — in 2011, the UK government was forced to scrap a £12 billion project for a patient records management system because of repeated issues. The web development company and teams consistently failed to meet targets on usage, functionality, and benefits. 

The Health Secretary Andrew Lansley had this to say about the failure: 

“The program let down the National Health Service (NHS) and wasted taxpayers’ money by imposing a top-down IT system on the local NHS, which didn’t fit their needs.”

UX fails come in all shapes and sizes because UX is not just about how it looks. UX is just as much about how it works. And it’s about the actual process behind the design. 

As you’ll see from these major fails (and one truly frustrating flaw that we still encounter today), it’s not just that the timing wasn’t right — the entire process matters, from the details of when to launch and how to meet customer expectations, to whether users have actually tested the

Download your free guide for development process in UX driven projects 

Google Wave (2009)

In 2009, Google was hot on the need for a new kind of project management with collaboration at its heart. 

But the design was not so hot.

Let’s say that this was the first wave of its attempt to improve collaboration across teams. The result not only bombed, it totally languished. 

This is what the first iteration looked like. 

Never mind the dated design; the problem was that Google failed to “Keep It Simple Stupid.” The platform was much too busy and felt complex — too complex for an individual to even want to try and navigate. 

This unnecessary complexity popped up again in the fact that Google was focusing on too many projects at once. It decided to launch Google Buzz before Google Wave was fully integrated. 

Coupled with its limited user adoption strategy, the project gained zero traction and was an unmitigated disaster. 

Live and learn, right?

Windows 8 (2012)

Three years later, the Windows 8 debacle proved to mobile development companies the power and importance of continuity and consistency. 

One of the prime principles of UI/UX design is to keep a user’s expectations alive. What a user expects, a user should receive — not least because, through your previous iterations, you’ve likely spent time and money educating your users about how your interface works. 

When Microsoft first released Windows 8, it was a clear shot at Apple who was quickly eating up market share. 

First big mistake: Trying to ape another platform’s functionality. 

From here, things got worse. Because Microsoft abandoned their initial interfaces entirely, users were completely unable to find the most basic functions. 

Navigation was a nightmare and these major changes came at the expense of their users’ expectations. 

Anyone using a Windows PC knows that the desktop and the Start menu are the main points from which to operate tasks and access the file system. 

Instead, Windows 8 users were subjected to an OS that was trying to fulfill the duty of two: It was intended to be both click and touch-friendly

The problem was that, in trying to accomplish both, it did neither well. 

First, Windows 8 removed the Start menu and the default Desktop screen, completely pulling the rug out from under users who, over years of loyal and expected use, now had ingrained expectations. 

After the ensuing chaos and uproar, the customer experience was completely diluted. Sure, Microsoft re-introduced the Start button in version 8.1 — but not before many chose to downgrade to Windows 7.

Now, does this mean that interfaces shouldn’t evolve or that visual identity shouldn’t keep up with modern design standards? No. Certainly not. 

But that’s why changes in UI/UX design need to…

  • Be incremental
  • Keep the main functionality alive, even if the look and feel changes
  • Be based on the results of tangible user testing 


It’s not scientifically proven or anything but, about 50% of the time, USBs are inserted incorrectly. The user sighs, frustrated, then pops it in again, fingers crossed, hoping and praying to the powers that be that this time, it’ll actually stay in. 

We all know how this story ends. 

The USB is a very common tool and we still rely on USB connected devices every single day. 

To this day, we’re never quite sure whether we’ve inserted it right.

This serious design flaw has a pretty simple fix. To understand it, just look to its predecessor: the plug. Sockets and outlets have their own configurations that are visible to the user, neatly indicating how plugs should be inserted. 

Or you could completely eliminate the USB connector once and for all and opt for a design that doesn’t depend on the orientation of the plug. 

Apparently, designers for Apple and Android phones agree: the latter introduced the lightning connector, while Android phones have developed the C-type USB. 

Source: Dignited


UI/UX’s power is the fact that anything, given enough time and thought, is ultimately changeable. 

Sometimes, all it takes is for UX designers to put themselves in their users’ shoes and look at it from their perspective. It’s why the stages of design — such as prototyping or running sprints — is so crucial to the process of good design. 

Avoiding pitfalls is a collaborative process and it calls for iteration. This iteration shouldn’t be avoided. But there is definitely a way to do prototyping right — prototyping for pros. 

Learn more about how to rapidly prototype for software development and bring a sense of business value to your design team.

Download your free guide for development process in UX driven projects

Share this post

Three Keys to Digital Growth You Need to Know About

Picture of Attrecto team

Attrecto team

Three Keys to Digital Growth You Need to Know About

There’s a fire in the building and you can only save two out of these three things: User experience/customer experience, business model innovation, or the technology-driven product/service underlying your whole raison d’etre. 

Which do you save?

(Note: This is a trick question).

Do you…

  • Keep the “good” business model and powerful tech but throw away CX/UX?
  • Harness an effective business model and prioritize UX/CX but forego tech?
  • Juggle UX/CX in tandem with tech but let the business model go?

If you guessed Secret Option Number 4, “All three,” you’d be right. 

You might be wondering: 

How the heck are we supposed to balance all three? 

Luckily, there’s an intrinsic relationship between the right business model, the actual tech product and the UX/CX design component that encourages and supports users in their adoption. 

An alignment of all three is a continuous but seamless process — if you’re making all three an equal priority. 

Lose a grip on just one and you might experience the following: 

  • Good business model and innovative tech/app product, but bad CX/UX? That means a lower number of users with no competitive edge.
  • Good business model and effective CX/UX, with poor underlying technology? The result is low efficiency with an unsustainable operation (ex. outdated or slow-progressing, cross-platform solutions).
  • Streamlined UX/CX and powerful technology, with a misaligned business model? You’ll miss out on a tangible value prop, a tech demo without any real value or purpose for customers. This means, once the novelty has worn off and the honeymoon period is over, user acquisition will decline and the company won’t be making any money 

Business success comes from a masterfully planned business model built on and responsive to real, flesh-and-blood, felt and experienced problems of your customers. 

Yes, you want to look for these problems — and then you want to respond to these problems with your web app product or solution. Your value proposition articulates this to your customers while the technology and overall CX/UX subtly convinces and converts them as committed users. 

So how do you balance all three? It’s not exactly “simple” but it doesn’t have to be complicated either. Often, digitization is the first step to transformation. 

Let’s take a look at three specific steps that will grow these transformative activities. 

1) Start With a Solid Value Prop and Business Model

If you don’t have a value prop, you don’t have a product. But if you don’t have a value prop, you can’t make a promise to your users. 

Your app’s value prop is the first and only thing that determines when your users will even find a use for what you’re selling — or if they’ll end up hitting the BACK button. That’s the customer-facing side. For you, articulating and outlining the value prop is an ongoing endeavor because this will be the main thing you’re going to test. 

This promise is not a static, set-it-and-forget-it statement either — your value prop needs validation on the market, via customer/user interviews and surveys, as well as measuring through user tests. 

Source: Uber

Uber’s value prop is a two-fold message and functionality. It clearly conveys to the two key pockets of users — passengers and drivers — what they stand to gain and, implicitly, how they can expect the app to work, based on this promise. 

From apassenger’s point of view, Uber delivers on the following: 

  • No need to wait for a taxi for long times
  • Free rides on certain occasions and discounts from time to time
  • Prices lesser than the normal taxi fares
  • Uber’s tagline says — “Your personal driver”, promising customers that they can not only travel in style but also on their own time
  • Fixed prices for common places like the airport, etc.

From the driver point of view, they stand to gain from: 

  • An additional source of income
  • Flexible working hours: Can work part-time, according to their own schedules
  • Easy (and dependable) payment procedure
  • Those who love to drive can earn money while pursuing their hobby
  • Uber pays drivers to be online, even if they don’t get any requests (i.e. “guaranteed”/base income)

And, then, Uber app developers and designers deliver on this promise through an app that functions at scale. Being able to create profit at scale is what helps determine the cost structures, margins, and even processes that will be required moving forward. 

Source: SCM World

In the case of Uber, identifying and then clearly articulating its two main user/customer bases and their promise to each through one app helps them make decisions on:

  • Key resources or assets that will be required to deliver on this value prop (people, tech, channels, etc.)
  • Key processes,which are the operational and managerial requirements needed to deliver this value in a consistent and scalable way (UX/CX, testing, development, iteration, sales, marketing, etc.)

2) Constantly Test and Refine Your CX/UX

Your value prop is connected to your business model, which, in turn, gives you partial answers for some key business decisions. 

But what about decision-making when it comes to the production and development of your app?

The second step focuses on the app’s process and will call on you to put yourself in your users’ shoes. Good thing you’ve already figured out who your main customers are, right?

To determine how easy, enjoyable and effective your built app is for your customers, you’ll need to define a clear and logical sequence of events that take your customer from “problem-aware” ( in this case, I need to find a ride and fast!”) to solution-use (“I have a ride-sharing app that I can access to cure this need!”)

UX/CX is not just a novelty or all about fancy screen transitions. 

It’s a measurement of how useful or effective your app or solution truly is in guiding the user toward their end goal. The question is if they’ll arrive at that goal easily or if the journey will be confusing, infuriating, counter-intuitive, clunky, or just plain frustrating?

The good news, as you can see, is that while there are many ways to go wrong, there is only one way to make it right. And that’s to constantly test and refine your app’s features, processes, and offerings, based on real users interacting with and using the app. 

Once you’ve gathered actionable data from user tests, customer surveys and interviews, you’ll need to translate this data into design and development imperatives ready to be prototyped. 

During the prototyping process, you’re going to be testing different layouts, solutions, and flows that respond to these customer use data points.   

Source: Uber Design on Medium

In the case of Uber, there are clearly themed screens that align with the goal for each step in the process:

  1. Requesting a cab for an address
  2. Searching and matching the passenger with a driver
  3. The arrival of the driver and the distance from the passenger
  4. Ride in progress…
  5. Payment & rating at the end of the ride

Source: Uber Design on Medium

All of these are combined with a fleshed out, well-refined UI/UX, which eliminates a lot of friction points in user acquisition and retention. 

3) Build a Powerful Base Product Using Innovative Tech as Both a Resource and a Driver

Okay, so you’ve got your profit formula, which is your value prop and aligned business model. 

Then, as a second step, you have the key processes, which are your customer and user experience design, iterations, and tests. 

Now, what about your key resource?

The underlying tech you use is the key resource or asset you’ll employ to drive digitization and successful digital growth forward. So, the technology should be both innovative and sophisticated.

Source: Uber Engineering

Uber’s engineering and development department, for example, had a very clear and succinct, actionable mission: 

“Uber’s mission is transportation as reliable as running water, everywhere, for everyone. To make that possible, we create and work with complex data. Then we bundle it up neatly as a platform that enables drivers to get business and riders to get around.” 

— Uber Tech Stack, Part One

Technology gives you an edge over the competition because it’s the tracks on which customer experience (UX/CX) runs its train. 

It’s the initially (seemingly) expensive investment that brings you long-term ROI because of how much hassle it saves and how successfully it onboards and retains your customers right from their first interaction. 

And you must deliberately craft a tech stack that responds to and serves this goal of digital growth. Uber’s engineering team certainly understands the power of this: 

Source: Uber Engineering on YouTube

As an app development company, we’ve seen that solid, native development right at the beginning is a business’s vote of confidence in its own long-term viability.

Plan to be around for decades to come? Then plan for growth. Plan for a huge amount of users. This doesn’t mean getting extremely fancy or implementing resource-sucking features your user doesn’t need. 

By all means, keep it simple. But prioritize these “simple” tasks by allowing your app’s development to perform them consistently, reliably, and excellently. 

The added bonus? When you do inevitably reach the envisioned number of users, you won’t have to rewrite the whole solution to handle a larger load. You’ll be ready for it.

“Uber’s maps teams prioritize the datasets, algorithms, and tooling around map data, display, routing, and systems for collecting and recommending addresses and locations.”

— Uber Tech Stack, Part One

Source: Uber Engineering

The Venn diagram we saw before, between internal and external impact, affects many interconnected decisions. As you can see, something such as maps, on the backend, requires the use of a powerful and aligned tech stack which is able to handle the task’s requirements. 

In this case, the Uber Engineering team chose a primarily Java-based stack. 

And don’t take for granted the fact that backend and user-facing activities need to align. What looks to developers and designers as data in the backend:

Source: Uber Engineering

…can (and should!), to users, easily translate into an experience like this:

Source: Uber Design on Medium


It’s time to look at growth in an entirely different way. Instead of a set of disconnected practices, the keys to digital growth are ongoing in nature. Because of increasing integration and interconnection, decisions in one aspect — the business model, for example — necessarily affect the level of technology innovations demanded or the development style used. 

The “bad” news: You can’t prioritize one over the other and expect to reach either business success or experience digital growth.

The good news: Any gains you make in one will naturally spread to and affect the others. 

Download your free guide for development process in UX driven projects

Download your free guide for development process in UX driven projects

Share this post

Prototyping for Pros — How to Rapidly Prototype for Software Development

Picture of Attrecto team

Attrecto team

Prototyping for Pros — How to Rapidly Prototype for Software Development

You usually don’t have to preach the perks of prototyping to designers — they’re in the know. It’s their process, their everyday expectation:

Have project, will prototype, goes their mantra.

But what about software development? 

According to CapGemini, prototyping for software can bring on 4 distinct advantages for teams looking for:

  • Clarity: using “throw-away prototyping” to get requirements right
  • Iterative thinking: using “evolutionary prototyping” to think and build in an iterative and progressive manner
  • Getting the customer involved early on: using “customer value prototyping” to focus on and discover a customer’s needs or expectations of the software solution
  • Concept visualization: using “rapid design and visualization” to communicate and visualize the projects to clients/stakeholders 

Why does this matter? For an app development company looking to stay competitive, there’s a distinct advantage to adopting a user-centric point of view.

Because so many app development teams and companies already operate according to agile methodology, often working in a scrum environment, prototyping can support the need for an ongoing form of customer and user feedback in development.  

Source: The State of Software Development 2018

So what does software prototyping look like? And what does a web development company stand to gain when harnessing rapid prototyping? 

Let’s take a look.

What is a Prototype?

Prototypes are…

“an initial or preliminary version from which other forms are developed. This provides you with insight into the functionality of your design and any changes needed in order to make your work a pleasure to use.” — Daniel Bramhall, “The importance of prototyping your designs

Prototypes can be as simple as sketches, drawings, and drafts, or more physical and complex like models, sculptures, and replicas. 

The idea behind a prototype is two-fold: 

  • To provide a simulation or a sample version that can also act as a convenient starting point
  • To use the incoming observed and measured data to test out the product from this sample and gain new ideas on what’s working and what needs to be improved upon

The whole point of a prototype, then, is to both plan for and precipitate change. 

Software development, as a discipline and as an activity, knows all about change. And this makes prototyping especially useful in the beginning stages of information gathering, requirements, and estimations. 

Source: Unsplash

Download your free guide for development process in UX driven projects

Prototyping is essential and inevitable

Here, we’re talking about prototyping the code that runs the show and/or the features that will be included.

Within software development, prototyping holds very concrete and distinct advantages. 

  • It can help resolve issues of usability by connecting the user to the software at an earlier stage in agile or iterative development
  • Building out a prototype before can reveal areas that need improvement or features that must be thought through more carefully
  • Real users can interact and use the final version, allowing developers to track whether there is enough simplicity and ease or if the code is too buggy, clunky or inefficient
  • In the beginning, a “rough” or “lo-fi” prototype can help elicit requirement as well as validate requirements your team might have forecasted
  • Prototyped programs can help transmit intent not just for the user but to the development and design team; moving from concept to visual model engages a different level of understanding and creativity
  • It can be seen as an essential risk reduction activity, especially in cases of the accuracy of estimations and the anticipation of the scope change requests down the road

Source: “Prototyping in a scrum environment“, CapGemini, Slideshare

Keep in mind that, besides the types of prototypes you can create, based on stages of development, there are also various modes of detail. 

“Lo-fi” prototypes are much less detailed, high-level, conceptual and simplistic. As a result, these designs are:

  • not entirely definite
  • used when the focus is on scenarios of use and user flows
  • intended to clarify the thinking process without too much clutter

Compare this with “hi-fi” prototypes, which are much more detailed and closer to the end model/concept, as well as:

  • used when you need to convince stakeholders who are looking for an investment from a VC, for example
  • used when the designs are nearly done
  • chosen if you’re only iterating or adjusting for functionality/features

4 ways prototyping helps you go pro

Prototyping, especially within the context of agile methodologies, is a stage by stage process. As we saw previously with the Cone of Uncertainty, the phases of a software project’s evolution, especially in the beginning planning stages, can be shrunk significantly. In lieu of this “quick” and “lean” start, development is spread out throughout the course of its growth, from the first conception to “final” iteration. 

Prototyping is highly conducive to this “iterative” nature as prototypes can be improved upon. Some formats of prototyping, such as wireframes, as we’ll soon see, are more flexible and relevant to the process of prototyping. 

It also helps hammer out four key elements of production and development, including:

  • Interaction: How does the user interact with the software? Take note of any expectations that were not met or, better still, completely disrupted. Was there enough guidance? Were the functions too difficult to discern?
  • Identifying the kind of prototyping required: Does the project call for “throwaway prototyping” (aka “rapid prototyping”), or will it be more successful with evolutionary prototyping wherein a robust prototype is built in a very structured manner and then consistently refined from there
  • Look and feel: Depending on which technique you’re using and whether you’re casting a lo-fi or hi-fi prototype, you can gain an insight into what that user experience should look like and feel like, using code; this is usually the moment designers and developers must work together
  • Potential problem spots: After getting the user involved and observing them interacting with the software, prototyping can help highlight major issues on interaction, glitches, and unexpected bugs

Source: “Prototyping in a scrum environment“, CapGemini, Slideshare

You can clearly see, by now, that prototyping and agile methodology is a very complementary and intersectional process. It can even allow you an iteration on every possible version of your design or feature.

The whole point of prototyping is to afford you, the developer, key insights that might have stayed hidden until the “final” version, causing major failures and skyrocketing costs to try and “fix” once a project has gone live.

Source: Unsplash


Traditionally, there are various methods of prototyping, for both software and design. As we’ve seen above, some forms of prototyping are more conducive to a particular “stage” in the development process. 

But there are various tools and methods you can use to prototype for apps and software. 

So let’s focus on the trifecta of paper, digital and wireframe prototyping, taking a look at the advantages and disadvantages of all three. 

Paper Prototyping

Perfect for “rapid” or “throwaway” prototyping, paper prototypes are perfect for brainstorm sessions, working well during the early stages. Paper is easily accessible and ideas can simply be placed on a page. Paper prototypes are also quite “lo-fi” — though there is an app out there known as “POP” that turns sketches into interactive iOS and Android prototypes. 

Source: Prototyping On Paper

Simple screens are drawn on paper and configured to mimic a digital interaction, switching the sketches according to user behavior


  • It’s fast to get ideas down
  • It’s inexpensive, which is beneficial during the initial planning stages
  • These lo-fi sketches can be used later on as the basis for documentation

Source: Unsplash


  • At this stage of ideating, you could be gaining false positives, there’s a risk of confirmation bias where your ideas essentially remain untested.
  • Not realistic (yet).
  • Because your paper prototype has no connection with its users, it cannot forecast user flows, it’s not interactive and so there is no sense of anticipating reactions — how do screen transitions work? What is the functionality behind each static drawing? Reactions are missing and this is crucial, especially when approaching development from a user-centric point.

At the end of the day, paper prototyping is only useful for the early stages, when most of a project is still abstract. The further you get into the design process, the bigger the gap between paper prototypes and the final product.

Digital Prototyping

Digital prototypes are the most common form of prototyping and are realistic enough to accurately test most interface elements.

Digital prototypes can be built using apps and software made specifically for prototyping. You can even make simple digital prototypes using presentation software like Powerpoint or Keynote.


  • Can incorporate realistic interactions and animated transitions
  • Are extremely flexible: it’s easy to edit, enlarge, refine and share
  • Speed: Paper prototypes have the edge on getting the idea down but digital prototypes with a computerized interface can do more, faster — they can be transferred, marked up and widely shared and distributed

And while speed varies from app to app, most have user-friendly interfaces and features like interactive elements or drag-and-drop.

Source: Unsplash


  • There is a learning curve: Before you can build your prototype, you’ll need to learn the software. According to the survey results showcased below in the State of Software Development graph, 17.58% of developers say the most limiting factors of new tools are the amount of time it takes to learn it.
  • Transitioning to code: Depending on the software, translating your designs into code can be a hit or miss and incompatible elements might get lost in the transition. At some point, you’ll have to address these and code these from scratch.

Source: The State of Software Development 2018

Wireframes for prototypes

Wireframing software is a kind of digital software or app also made specifically to outline the elements of a new development project. It can be as “hi-fi” or “lo-fi” as you’d like. However, wireframing gives designers and developers the greatest amount of flexibility. 

Using wireframing, you can employ evolutionary prototyping, which is all about building a solid blueprint up front and then constantly refining as the project brings in more user data. 

Wireframes are a graphic structure of a website or app. However, they also include details on transitions, buttons, animation, user flows, features, screens and more. Wireframes can incorporate multiple situations of usage and so they’re perfect for A/B testing. 

It’s a graphic structure of a website or app containing the content and elements.

Source: Axure

As a kind of layout design and a master blueprint, rather like the plans for a house or a building, wireframes have three broad levels:

  • Contains the main information
  • Draws the outline of structure and layout
  • Incorporates the visuals and descriptions of the user interface

Source: Axure

Experiment now or forever hold your peace — that’s what prototyping is supposed to be all about. Prototyping gives both designers and developers the license to ideate, create, test and refine. 

Lather, rinse, repeat because this is when things are allowed to “go wrong”.

Download your free guide for development process in UX driven projects

Share this post

Business Value of Design

Picture of Attrecto team

Attrecto team

Business Value of Design

Boosting Your Business Value With the Power of Seamless Design

Companies with a greater emphasis on design seem to win out in every sphere. From revenue to customer satisfaction, greater levels of growth and more predictable long-term sustainability, the power of seamless design is doing more to boost business value right now than any other singular investment. 

It may have something to do with the fact that better design starts with a customer-centric approach and culture. An alignment, in other words, with internal and external priorities. And while numbers don’t necessarily give the whole picture, like scaffolding, they help support decision-makers as they take a closer view into the details of the structure. 

Certainly, that’s what McKinsey’s groundbreaking study on design for better business value shows both shareholders and company executives, allowing us to examine:

  • Why companies with design-led experiences are on the up-and-up in every way
  • What the elements are that are absolutely integral to bringing business value
  • The specific, actionable principles each company can incorporate to experience the promised land of growth-revenue-brand-longevity through something like design that, when it’s working well, is supposed to quietly move into the background 

Let’s take a look.


Convergence is Upon Us

Two minutes into a conversation at a networking event, a UX designer who’s asked what his work actually consists of struggles to come up with just one neat little phrase that might cover the breadth of value that design brings to the company’s business. 

If he were doing an AMA session at a conference, he might stay silent and simply pull up this oversized Venn diagram to try and succinctly respond to the question:

Design Disciplines creating business value


Research by McKinsey reveals a very clear reasoning for incorporating, enhancing and focusing on the way in which design is actually the purveyor of professionalism, productivity, and profits. 

Of 100,000 design actions surveyed from the design practices of 300 publicly listed companies within a five-year period, Mckinsey found that good design equals “superior business performance.”

Known as the “McKinsey Design Index,” top performers were those that showed the greatest improved financial performance, in accordance with four broad design principles. Companies with top-quartile MDI scores outperformed the standard industry benchmark “by as much as two to one.” 

Design focused companies generating more revenue

Source: McKinsey Design Index  

To understand why design is so integral, let’s go back to that Venn diagram. The most obvious takeaway is that the lines are blurred between disciplines, and each intersects and converges — to a greater degree than ever before. 

The reason that companies with specific design practices perform significantly better than their competitors is because:

  • Excellent user interfaces and customer experiences are a standard expectation (with tangible benefits like increased user retention, more targeted marketing budgets, greater levels of profitability due to customer satisfaction and brand loyalty, etc.)
  • There is a major level of convergence going on, not only in the operational “backend” of companies but in the physical and digital worlds (think omnichannel shopping experiences and QR codes), along with a blurring of lines between products and services (think Microsoft’s branch into cloud services, under Satya Nadella, responsible for the greatest profits in Q4 of 2017)


Elements of the Design Process Integral to Outstanding Business Results

The design process, in the context of direct financial performance and revenue generation, comes down to four broad but essential components. 

  • Analytical leadership: Being able to implement the software, tools, and technology that measure the drivers of design performance with the same rigor, focus and deliberation as revenues and costs
  • Cross-functional talent: Nurturing teams of designers and developers that work together, along with the structures — like running sprints — that make user-centric design part and parcel of everyone’s focus or job, rather than being siloed to one department
  • Continuous iteration:Making the development process a risk-reduced process by continually listening, testing, and iterating with end-users
  • User experience: Bringing together the disciplines and measurements of physical, digital and service design, especially breaking down the internal or operational walls

We’ve already seen “data-driven” decisions. But what about “design-led decisions” in improving business value? 

This matters now more than ever because of the opportunity that businesses have to tackle their processes from a standpoint of cost-efficiencies, rather than cost-cutting. 

You see, large- to medium-format enterprises can learn a thing or two from the behavior of lean start-ups, which must rely on prototyping and iterative learning in order to keep their development fiscally responsible and sustainable. 

Business value focused design

Image source: Unsplash

Design-led decisions will also become increasingly important as we rely more and more on large swaths of user data and AI as sources of new insights. These advances and technologies will call on new techniques that are themselves guided by design, such as computational design and analytics. 

We’re already seeing that rapid access to a multitude of interactions with real customers means a better ability to reach out at just the right moment, or present just the right offer, and create a conversion.  Now, these interactions are fractured through multiple channels, especially over social media and “smart” mobile devices. 

These pivotal developments are ongoing. Nearly all of them call for the user remaining at the very center of all process and design considerations. But that also means they’ll need to be at the heart of business decisions because user design is driving priorities forward. 

Five Principles of Design-Led Customer Experience

How do we make elements like analytical leadership, cross-functional talent, continuous iteration and user-experience across disciplines guide customer experience? What are the actual practices that businesses looking to enhance their value will need to focus on?

1. Understand the customer’s needs and perspectives

Design is the differential that makes all the difference to the customer. Their delight at novel experiences and their satisfaction derived from an app that not only anticipates their needs but simplifies the process and delivers them the end result they’re looking for — these all translate into a heightened user experience, a preference for the product or service the company offers. 

Every software development or web app development project begins by creating a repository of a customer’s needs and perspectives that come from the goal of the app itself. What needs does the development fulfill?

A customer’s needs and perspectives are not just the starting point. In agile development and design-led customer experience, it’s the guiding principle of all future changes, versions, and patches.

Customer needs focus in business value analysis

Image source: Unsplash

2. Draw inspiration from other industries

While design-led experiences have been in play for a long while now — think, Apple’s obsession with beautiful type and font faces evolving to beautiful user interfaces — the way to stay innovative and question the norms is to draw inspiration from other industries. 

Consider, for example, the nature of “biomimicry.” It’s an approach where designers and engineers look to nature’s most fundamental mechanics — the scales on a fish for protection and light reflection, or the photosynthetic process of plants to understand and “mimic” energy conversion — in order to solve complex human problems through design.

3. Get a glimpse of what’s on the horizon

Because design-led experiences are half experimental and exploratory, half guided by actual customer need to develop a real solution, the resulting solution (in the form of a product, service or even feature) can be creative enough to actually pave the way for a new iteration on an upcoming trend. 

This is also why iterative approaches to design and development are so useful — they harness the power of a collective team, through structures like sprints, in order to find a solution but pave the way for something entirely new. 

4. Empower multidisciplinary teams

Design-led experiences call on the convergence of expertise, of more than one function to build something as robust as an app, enterprise software or an interface. 

There is also a convergence between the physical and digital worlds, as well as products, services, and environments. 

A great example of this is augmented reality, virtual reality, and artificial intelligence. The software “AdMind,” for example, uses predictive analytics and artificial intelligence to manage and deploy more strategic Adwords campaigns.

This convergence calls for an evolution in the way that teams work. Remember that, in order to use design as a boost to business value, it must not be siloed off as a singular department’s priority — instead, it must remain at the fore, with cross-functional teams making it a point of focus in their own respective disciplines. 

Designer team's role in creating business value

Photo credit: Campaign Creators

5. Use agile techniques to prototype experiences and business models

Agile development for an app development company syncs quite effortlessly with design-led customer experience. 

It’s a methodology for development projects that not only empowers teams to work together in an iterative and innovative manner, it’s also a process that puts the user right at the heart of all its actions. 

This iterative approach also offers a better way to incorporate customer feedback and research into the project. It’s never quite the “end” with Agile because development is ongoing. And at the heart of this development must be the user. 

Besides a design-led approach to customer experience, there’s one more thing that McKinsey’s top successful companies have realized: the boundaries between products, services, and environments are necessarily blurred. 

An “integrated” and cross-functional view is not only necessary in order to design valuable end-to-end experiences for customers, but it also gives businesses the competitive advantage they need. 

Convergence is, in fact, completely changing the rules of the game. The best way to keep stable business profits is to bring business value through design that focuses on what the customer needs. 


Download your free guide for development process in UX driven projects

Share this post

SCRUM in a nutshell

Meeting Discussion Ideas Communication Corporate Concept
Picture of Attrecto Team

Attrecto Team

SCRUM in a nutshell

The “manifesto” for agile software development starts with a curious sentiment: 

“Individuals and interactions over processes and tools” 

It’s not that there isn’t value in the stuff on the right, continues the manifesto. It’s that the stuff on the left is even more valuable. 

Scrum, agile and sprints are more than just development buzzwords — they’re ways of working and approaching complex problems that put values like communication, knowledge-sharing, embracing failure, introspection and observation front and center. 

Besides the fact that working with Scrum has brought our software projects major results, there is also something very human about the methodology. 

So instead of having you wade through a number of complex and jargon-heavy white papers, we thought we’d give you the TL;DR version that still answers questions like “What is Agile project management?” and “How can our team begin to use Scrum for software development?”

Source: Unsplash

Scrum in Software

Agile methodology gets a lot of fancy press but there are a number of other similar methodologies, including: 

  • eXtreme Programming
  • Crystal Clear
  • Agile Unified Process 

Scrum’s rise to the top, however, is because of its simplicity, straightforwardness and the ease with which teams, across functions, can implement and collaborate. Often, team members experience perks like: 

  • Feedback gathered from stakeholders, customers and end users throughout the process of development
  • Rapid and aligned reactions to changing requirements
  • The dev team’s increased velocity, thanks to 1-4 week sprints, which provide a sense of urgency and focus
  • Shippable increments delivered early and often, enabling stakeholders to provide real-time feedback (and team members to observe customers in action)
  • Productive, effective, and efficient meetings to help ensure that developers get help when they need it

Scrum is not a process, technique, or definitive method. 

It is a framework that offers freedom of implementation. 

Through organized yet creative “sprints”, Development Teams bring a design thinking and problem-solving mindset to software. User experience is not in the rearview but right in front of you so the team can bring real customer value, which translates to real business value. 

Scrum’s power and potential, then, is all in adopting a user-centered development mindset. This is what can help web development companies create and deliver complex but successful products users can actually benefit from. 

Source: Unsplash

The basic framework consists of Scrum Teams and their associated roles, events, artifacts, and rules, detailed by Ken Schwaber and Jeff Sutherland, who developed Scrum. 

Yet, there are now quite a few successful “Scrum”mers (like Kai Haley, leader of the design sprint training program at Google) and “Sprint”ers (like Jake Knapp, design partner at Google Ventures) who have perfected the art of running a successful Sprint and the formation and facilitation of a Scrum Team to a tee. 

To get started, you’ll need to have an understanding of its structure and working style. 

The Scrum Team

The Scrum Team is made of a couple of concrete roles, which we’ll look at here. Teams are self-organizing and cross-functional.

The Product Owner: responsible for maximizing the value of the product resulting from the work of the Development Team.

The Development Team:team members who work on delivering a potentially releasable Increment of the “Done” product at the end of each Sprint. Development Teams are structured and empowered by the organization to organize and manage their own work.

The SCRUM Master: responsible for promoting and supporting while also connecting with those outside the Scrum Team, helping them to understand which of their interactions with the Scrum Team are helpful and which aren’t.

Source: Unsplash

Scrum Events

Pre-determined Scrum “events” are a great way to create regularity and minimize the need for meetings. Events have a set time duration they can’t go beyond. 

The Sprint

The heart of Scrum is a Sprint, which usually runs anywhere from 1-4 weeks. The goal is a useable, and potentially releasable product Increment. Sprints have consistent durations throughout a development effort. Don’t be surprised if you’re facing 8-hour days of consistent focus. 

Another principle is that a new Sprint starts immediately after the previous one wraps up. 

Sprints consist of the following activities: 

  • Sprint Planning
  • Daily Scrums
  • the development work 
  • the Sprint Review
  • the Sprint Retrospective

While no changes are made that might take the “Sprint Goal” off-course, the scope can be clarified and re-negotiated with the Product Owner and Development Team as more is learned.

Source: Unsplash

Sprint Planning

There’s no need for your team to do much homework prior to the Sprint. But, the designated Sprint Planning stage is where the team creates a plan for the collaborative work to come. It’s also considered an event so, naturally, it has a time limit: a maximum of eight hours for a one-month Sprint.

Daily Scrum

Every day of the Sprint, there is a 15-minute event called the “Daily Scrum”. There is where the Development Team plans work for the next 24 hours and inspects the work done yesterday. The Daily Scrum is held at the same time and place each day to reduce complexity.

Sprint Review and Retrospective

A Sprint Review is held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed. It is informal and lasts, at most, for four hours. 

The Retrospective is a chance for the Scrum Team to inspect itself and create a plan for improvements for the next Sprint. The atmosphere is open to feedback and sharing because presentation of the Increment is all about getting feedback and fostering collaboration. 

Source: Unsplash

Scrum Artifacts

So Scrum Teams engage in Scrum Events. And Scrum Events inevitably result in Scrum Artifacts. Think of these as the “residue” of activities and events that also give the team opportunities for inspection and adaptation.

  • Product Backlog:an ordered list of everything that is known to be needed in the product. Any requirements for any changes to the product go here. It’s the domain of the Product Owner to advise on/tend to content, availability, and ordering.
  • Sprint Backlog: from the list of “Product Backlog”, the “Sprint Backlog” items are those that are selected for the Sprint; this includes a plan for delivering the product Increment and realizing the Sprint Goal. 

While some software teams decide to cleave design and development into two separate sprints,  others favor an integrated sprint approach that brings together UX designers, developers and testers working together as a scrum team.

The benefit to this integrated environment, especially using Scrum, is that it allows you to constantly maintain a UX mindset and focus. You’re actively testing the product in iterations as you go along, allowing the next increment to thoughtfully reflect improvements from the previous version.


Source: Unsplash

Of course, this calls for a well-functioning development team in order to build a powerful and ingenious product.

However, Scrum comes with a caveat: using it is not a guarantee that you’ll end up with a successful product. 

Agile development companies must embrace the idea and reality of “failure” and ask themselves what this term means to them. 

The other consideration is the role of a UX designer within an integrated Scrum team. It’s the UX designer who keeps a finger on the pulse of the project’s alignment with the customer, constantly bringing a clear understanding of product vision and its requirements. 

This UX focus, then, directly translates into a superior customer experience. 

So, at its core, Scrum ultimately provides a better CX for clients and internal teams. Customers are integral to the framework and need to be deeply involved in the development process. 

It’s the interactions with the customer and their observed experience that help to guide each successive iteration stages. It’s direct involvement coupled with ongoing, incremental working that makes the Scrum framework so powerful in software development.

Download your free guide for development process in UX driven projects

Share this post

UI/UX planning and implementation

Web design templates and web page layout editing, improving UX/UI, collage and paper cut composition
Picture of Tamas Gurbacs

Tamas Gurbacs

UI/UX planning and implementation

UI/UX planning at Attrecto

With the development of the Internet and mobile applications, the term of User Experience (UX) has become a keyword of product development. In recent years, all people are talking about user experience, it seems that everyone can be a UI/UX designer, as the popularity of design in the world. But what is that? What is called as a good User Experience Design?

What is the user experience?

User experience (UX) refers to a person’s emotions and attitudes about using a particular product, system or service. It includes the practical, experiential, affective, meaningful and valuable aspects of human–computer interaction and product ownership. Additionally, it includes a person’s perceptions of system aspects such as utility, ease of use and efficiency.

Product interaction is just a portion of the customer journey, the bigger picture of the entire customer satisfaction is customer experience, or CX. UX is specifically about the experience a user interacts with your product; CX (Customer Experience) means the relationship between your customer and your organization. UX is part of CX.

  • UI/UX planning and implementation workflow

As a web- and mobile development company with a near-decade experience, we are very much aware of the importance of UI/UX in mobile and web development. The success of a development project is significantly influenced by how well it was prepared, the lack of proper planning may even be the reason of a failure. At Attrecto we discover the business, technical, design and operating requirements to design distinctive, killer-performing apps and solutions that are competitively advantaged in the marketplace.

1.1. Personas and customer journeys

Goals: To see the big picture and define the steps the users will go through. We can design better experience if we think in processes instead of screens.

Deliveries: Use cases for each persona, user journeys with diagrams or lists.

1.2. Sketching

Goals: We can try radically different ideas fast, and can experiment with unusual things. We can design how it works before getting into the detailed design (cost and time efficient).

Deliveries: Ideas for the main flows and how the main functions will work, and ideas for the layout and visual hierarchy.

1.3. Wireframing & usability testing

Goals: We design the layout of the interface elements, the proportions, the copy and the navigation with wireframes. With clickable prototypes we can test the UI with real users early, before putting too much effort into the design.

Deliveries: Wireframes that shows the layout, navigation, microcopy, without detailed design, clickable prototype about the main flows.

1.4. Look & Feel

Goals: To explore different styles based on the target group, and define the character and the atmosphere of the product.

Deliveries: Collection of inspirations to different styles. You will get 2-3 look&feel drafts to a specific screen from the wireframes. This is not the final design; just sketches to show you how will it look and feel.

1.5. Detailed Design

Goals: To design the screens in detail, and design the interactions.


–          Every screen and state are designed.

–          PSD files prepared for developers.

–          Fonts, icons and other assets.

–          Style guide and/or UI kit.

–          Documentation.

We are making a conscious effort to ensure that we deliver high-quality, well tested software products after a careful UI/UX planning. It is one of most cited advantages of working with Attrecto by our clients.

Share this post

The truth about the accuracy of software estimations

Programmers working on computer program
Picture of Attrecto Team

Attrecto Team

The truth about the accuracy of software estimations

Have you ever heard of a “Standish Chaos Report”? Trust software developers to come up with fantastic terms for an otherwise prescient trend occurring in development projects: the incidence of project failures and the factors that contribute to them.
The failure records of software projects in the United States alone is quite staggering. According to the Chaos Report

  • 31.1% of projects will be cancelled before they ever get completed
  • On average, across small, medium and large enterprises, over half of projects will cost 189% of their original estimates
  • While companies in the U.S. spend more than $250 billion each year on IT application development, spanned across approximately 175,000 projects, only 29% of these are ever counted as “successful
  • Meanwhile, Tricentis estimates that software failures cost the U.S. economy up to $1.7 trillion in financial lossesSource: Chaos Report 2017

The truth is that poor estimation can lead to a score of issues, besides simply a time or cost overrun.
It can lead to changing requirements, poor testing practices, software vulnerabilities, glitches, bugs and overall “challenged” projects doomed to reproduce technical failures if launched merely to meet cost and time budgets but not quality standards.

Source: Software Fail Watch — 5th Edition

In a survey of the negative effects and the “erosion” of value on a brand, Tricentis found that, in 2017, consumer tech companies were most vulnerable, with software challenges spanning everything from cost overruns, failures and recurring bugs.

So why aren’t estimations more aligned with the project’s development and parameters?

If failures are occurring consistently, costing companies more than just money — crossing the boundaries into brand equity and power territory — then why can’t we aim to use better estimation methods on projects?

The Cone of Shame

Dog-owners will know how much their furry friends resent the cone of shame.

Software development and estimations are not too fond of the cone either. In our case, it’s the Cone of Uncertainty that hangs, like a dark specter, looming above the commencement of every single project.

Where there should be enthusiasm and anticipation, there is dread. Even though we’re eager to roll up our sleeves and learn from our “past mistakes,” there’s still an edge of uncertainty when we recast our estimations for projects.

In almost 30 years of software development project studies, expert research has concluded that initial estimates on a project can vary as much as four times more or less because neither the estimating team nor the client can yet fully define the scope of the project right at the outset.

In the “waterfall” method (which is the classic approach to development), the Cone of Uncertainty tracks the variance in these estimate-versus-reality scenarios.

As time progresses, a greater amount of the project reveals itself and the scope narrows — which then trickles down to a tighter estimate and a reduction in uncertainty.

Source: Envoc Glossary

But — you knew there was a “but” coming, right? — can we reduce uncertainty to a greater extent and even earlier in the process? Notice that a “reduction” doesn’t have to be an elimination in order to make the project successful.

There are three specific aspects of software development that the brooding Cone of Uncertainty affects:

Consistently “good” products — Maintaining a product or project’s quality requires a particular standard to be set and achieved in a short period of time. Software projects usually have changing features, according to customer needs, and this calls on either a greater level of agility (towards deployment) or more certainty, earlier on in the project’s development.

The requirements of “custom” built software The Cone of Uncertainty undercuts the amount of foresight and planning that custom software development requires. The latter is more about engineering, where even the foundational building blocks must be custom-built. Integrating these building blocks then initiates multiple possibilities and logical paths to be covered so teams will need to constantly refine these concepts.

The ongoing nature of development  —As the Cone of Uncertainty progresses over time, the variance in estimation versus reality reduces. But using the waterfall method also significantly bloats the time that teams spend in the phases of “What are we building?”, “How does it work?” and “What will it look like?”

So we know what those failures look like — but what about success?

In its survey of IT executive managers, the Standish Group’s “Chaos Report” found that, besides user involvement and executive management support, a “clear statement of requirements” (i.e. scope maturity), tied into proper planning can yield overall consistently successful project results.

Source: Chaos Report 2017

The Cone of Uncertainty, however, seems to make even these success criteria seem less than certain.

How can we hope to have more accurate estimations in an ever-changing environment?

Because the consequence is not only a possible failure or a particularly tricky bug that could, as in the case of Provident Financial, a U.K.-based sub-prime loan company, result in a £1.7 billion loss, the largest one-day share price plummet and a CEO resigning over the fiasco.

Factors Affecting Estimations
Now that we know what failure looks like (and, worse yet, feels like), let’s take a look at the factors that affect the estimations on a project.

Massaging the scope into proper maturity

Scope maturity is tied into estimations on software projects. During the planning phase, the development team will need to finalize requirements and think through the requirements from a few different angles.

But the Cone of Uncertainty almost guarantees that designing and anticipating everything up front is almost an impossibility — especially with proper depth.

So what is the solution?

Favoring the incremental approach helps smooth out the development process, making it much more responsive, shortening the initial phases of variance within the Cone of Uncertainty. That’s because the “responsibility” of accurate estimations is spread over the whole development.

In our own experience with developing a web app that models a Digital Transformation Company’s internal processes, we had two parallel goals: to lay down the foundations of a long-term project and to deliver features within hard deadlines.

The custom solution needed to be the only app/tool the business used for internal researching, analyzing and planning. So we allowed the scope to evolve to maturity along the way, using our automated deploy-and-build process.

This bias for agile development is also what enabled our QA team to provide the best quality code for the client.

Concept elaboration
Estimation accuracy relies on more than just scope maturity — it also calls on the elaboration of the concept.

With custom-designed software projects, there is an opportunity, as with digital transformation projects, to use the principles of continuous and iterative building and deploying in order to mature the project in a way that costs less time and cost up front.

But this also calls on developers to have a firm grasp on the concept or specification up front.

This is one factor in estimations that provides more control than others. Teams will no doubt have to perform sprints and rely on breakout sessions to really get to the heart of the concept.

The details uncovered therein for the requirements on a project — such as problem, solutions, features, technical requirements, marketing requirements, etc. — can help anticipate a more aligned budget.

The point is to get as detailed as possible because details uncovered after tells the development team that an estimation was based on basis of flawed assumptions.

Change requests

You may have noticed by now that time is the wily variable that can bog down or uplift a project. Certainly, development teams are always racing against time to capture the right scope and concept.

It’s a reality our team has come across in our over eight years of development and one that especially pitted us against time during a project for Mitt Telenor’s official iOS and Android app.

If the product is set to launch at a specific date, we need to keep CRs at bay and be transparent with the client about how their ever-changing concept puts their project at risk of running well beyond the estimated project numbers.

CRs may well be warranted — but if they’re not anticipated, as agile SCRUM methodology allowed us to do with Mitt Telenor, the project can quickly become “challenged.”.

Source: Chaos Report 2017

Change requests and re-writing code are tasks that fare best in shorter, more responsive sprints.

In the case of Mitt Telenor, these short sprints are exactly what allowed us to uncover issues at an earlier (and more critical) point in development. This then allowed us to keep the development lights on, so to speak, continuing in a more self-aware (or, rather “software-aware”) manner.

The Place of Estimations in the Agile Methodology
To handle these changes and deliver a successful project, both parties (Client & Developer team) are better off with an agile methodology.

Agile allows us to be incremental, responding to a change in business as well as project needs in a more natural way. It’s also easier and more realistic to estimate and then implement changes in small increments, at closer intervals.

Software development is all about change, by its very nature. It is not now, nor has it ever been, a static undertaking. This is why development cannot employ a templated approach, especially in the landscape of digital transformation.

Source: Envoc Glossary

Notice how the Cone of Uncertainty here is significantly leaned out, from its original bloated physique. The result of a consistent diet and exercise? Not in this case. This is the benefit agile methodology brings to the table.

You’ll notice that we’re not claiming that we can simply eliminate or mitigate the Cone of

Uncertainty — no. To do that, we might as well not embark on a development journey at all.

What agile does allow us to do, however, is to drastically reduce the time spent at the initial stages, those questions of:

  • “What are we building?”,
  • “How does it work?” and,
  • “What will it look like?”

And the rest of our time? Well, instead of hemming and hawing, thinking and scratching our heads, only to come up with shaky estimations that are flawed at best and wrong at worst, we can spend our time in our zone of genius: Development.

Indeed, the “development” zone is where our initial estimates are proven or adjusted, requiring less upfront and overall time, and with greater accuracy.

A more aligned estimate and a smoother planning process.

That’s the advantage of agile

Download your free guide for development process in UX driven projects

Share this post