Articles

Le manifeste Agile : origines, application et considérations pour les chefs de projet.

Le Manifeste Agile est une approche de développement de logiciels qui a révolutionné le monde des projets informatiques. Découvrez ses origines, son application et ses considérations pour les chefs de projet.

Le Manifeste Agile, un document révolutionnaire dans le monde du développement logiciel, est apparu comme une réponse aux insuffisances des méthodologies de développement traditionnelles et rigides. Cet article explore ses origines, ses applications et ses mauvaises utilisations, offrant des conseils aux gestionnaires d’ingénierie sur la façon d’interpréter et de mettre en œuvre efficacement ses principes.

The Agile Manifesto is based on four core values: individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; and responding to change over following a plan. These values emphasize the importance of collaboration, communication, and flexibility in software development.

Applications of the Agile Manifesto

The Agile Manifesto has been widely adopted by software development teams around the world. It has become the foundation for a variety of agile methodologies, including Scrum, Kanban, and Extreme Programming (XP). These methodologies focus on iterative development, rapid feedback loops, and continuous improvement.

Agile methodologies are designed to be lightweight and flexible, allowing teams to quickly adapt to changing requirements and customer feedback. They also emphasize collaboration between developers, customers, and stakeholders, allowing for a more transparent and efficient development process.

Misuses of the Agile Manifesto

Despite its popularity, the Agile Manifesto has been misused and misinterpreted by some software development teams. For example, some teams have adopted an “agile-at-all-costs” approach, sacrificing quality and customer satisfaction for speed. Others have used agile as an excuse to avoid planning and documentation, leading to chaotic development processes.

In order to avoid these pitfalls, engineering managers should ensure that their teams are properly educated on the principles of agile development. Teams should be encouraged to focus on collaboration, communication, and customer feedback, rather than simply “going agile” for the sake of speed.

Conclusion

The Agile Manifesto has revolutionized the world of software development, providing teams with a lightweight and flexible approach to development. However, it is important for engineering managers to ensure that their teams are properly educated on its principles in order to avoid common misuses and misinterpretations.

Origines du Manifeste Agile

En février 2001, dix-sept développeurs de logiciels se sont réunis à Snowbird, Utah, pour discuter des méthodes de développement légères. Ils étaient unis par une insatisfaction commune à l’égard des processus de développement de logiciels lourds et documentés qui prévalaient à l’époque. Cette réunion a abouti à la création du Manifeste Agile, une déclaration concise de quatre valeurs fondamentales et douze principes directeurs visant à améliorer le développement de logiciels.

Le Manifeste Agile repose sur quatre valeurs fondamentales : les individus et les interactions plutôt que les processus et les outils ; le logiciel fonctionnel plutôt que la documentation exhaustive ; la collaboration avec le client plutôt que la négociation du contrat ; et la réponse au changement plutôt que le suivi d’un plan. Ces valeurs mettent l’accent sur l’importance de la collaboration, de la communication et de la flexibilité dans le développement de logiciels.

Applications du Manifeste Agile

Le Manifeste Agile a été largement adopté par des équipes de développement de logiciels à travers le monde. Il est devenu la base de diverses méthodologies agiles, notamment Scrum, Kanban et Extreme Programming (XP). Ces méthodologies se concentrent sur le développement itératif, les boucles de rétroaction rapides et l’amélioration continue.

Les méthodologies agiles sont conçues pour être légères et flexibles, permettant aux équipes de s’adapter rapidement aux exigences changeantes et aux commentaires des clients. Elles mettent également l’accent sur la collaboration entre développeurs, clients et
Source de l’article sur DZONE

In scanning the IT landscape, the call for DevOps engineers remains toward the top of many companies’ priorities. A nationwide search through various job posting sites returns literally thousands of DevOps opportunities. However, reviewing these job postings shows that the skillsets required are widely varied. In comparison, software development job descriptions and requirements tend to have a narrower focus – broadly speaking, a language and a particular framework. DevOps job descriptions and requirements range from implementing continuous integration and continuous delivery (CI/CD) processes, to building infrastructure, to configuration management, to cloud operations, to writing code in any number of languages, and so on. It’s an impressive and intimidating list. Have you considered joining the DevOps wave but have been challenged in getting a clear picture of what DevOps is or means? If so, you’re not alone.

What is DevOps?

While many organizations have DevOps teams, even within a single organization, there are likely to be multiple roles within a DevOps team. Why is that? The reason is that DevOps is a process, and various roles within a DevOps team each contribute to the process. The DevOps process is a product of the evolution of Agile development processes. With Agile, production-quality software is iteratively delivered, which drives the need to deploy software more often. The process of getting software into production needed to be streamlined, thus the DevOps movement and process was born.

Source de l’article sur DZONE

It’s something every design team dreams about – a better design process and handoff procedure. Your design team is not alone if you are looking for a better solution.

Imagine what your workflow would look like if you could forgo the struggles of image-based technology, design and handoff with accurate components that have interactive features. Projects in the design phase will look more like final products and, most importantly, interact like final products. 

Let’s imagine a new design process together.

Challenges of an Image-Based Design Process

Here’s what we all know – image-based design tools provide pictures of components in the visual form but lack the interactivity and conditions that exist in the end-product. There’s not a high level of functional fidelity there, and it can cause confusion among design teams and rework.

These tools require you to redraw the fundamental components and design with boxes and rectangles, which takes too much time and can create a disconnect between the design and development teams. 

Further, you don’t fully maximize the potential of a design system because of inconsistencies between code-powered systems that developers use and these image-based systems for designers. There’s an innate gap between maintaining the environments and creating consistency in components. 

The final and maybe most difficult challenge with an image-based design process is in usability testing. You just can’t test an image the way you can working components. If the prototype is not interactive enough, you lose valuable feedback in the testing process. Functional fidelity is a must-have design and development tool in 2022. 

Iress, market-leading financial software, had many of these same problems in its design system process. You can probably relate to its story, which includes a designer and engineer who aren’t entirely on the same page, hit the deadline and have to deliver, and then get customer feedback. The result was a lot of extra headaches and work. 

But there is a better way: Import all user interface components into a code-powered design system in sync with a design tool so that your team can work in harmony to build, scale, and handoff projects with ease. 

Scale Design With Accurate Components

Here’s what most design and development teams want en route to building products: Accurate components with built-in interactivity, states, and conditions. No redrawing boxes and rectangles; no trying to figure out what states and interaction should be.

And if you can do it with ten times the speed and agility? Now you’re really in business. 

“It used to take us two to three months just to do the design. Now, with UXPin Merge, teams can design, test, and deliver products in the same timeframe,” said Erica Rider, Senior Manager for UX at PayPal. “Faster time to market is one of the most significant changes we’ve experienced using Merge.”

The time and workflow savings come from the ability to maintain only one environment as a product team. Rather than image-based tools, a code-powered design system that will push updates to components as the design evolves is the modern way to work. This workflow can also eliminate duplicate documentation so that your team has a single source of truth for whole product teams. 

Now you can be more agile in the design process and scale. And as Rider hinted at, there is a solution already available in UXPin Merge. 

Scalability with accurate design components has other benefits as well. 

Teams can onboard people faster because the design system is in the design tool. There’s less searching for answers with drag and drop-ready building blocks. New team members will find more success and be more valuable to the team quicker due to fewer inconsistencies and errors. 

Testing also gets a boost as you scale with a single source of truth. You can actually create better usability tests with a high-fidelity, functional version of the prototype, allowing users to leave more valuable and detailed feedback that can improve your product in the early stages. 

Better Handoffs Start Here

As you imagine a better design process, take it one step further. Better handoffs are a goal for most teams. 

An interactive component-based design tool can eliminate the need for multiple iterations of the same meeting to explain how a prototype works. Everyone can see and interact with it for themselves with accurate, true components that ensure the prototype works the same as the product. 

Designers will feel more like their vision is making it into the final product, and developers have a better idea of how to work. Everyone has the exact same components written in code. Thanks to the single source of truth, devs can speed up as they build the product because they start with components that include production-ready code.

A typical design to developer handoff might have multiple steps: Create vector design elements, create a model for interactions, and then send the prototype with documentation. Not to mention the meetings that are required to make sure everyone is on the same page.

In a model with interactive component elements, the developer handoff is fast and easy; they create a prototype with true components and all the built-in properties. The developer copies the JSX code and pastes it into his tool to build the final product. All the component properties and their coded interactions already exist in the source code. This is possible because the source of truth is the code itself, the source code.

Quick Tool Solution and Technical Use

This solution to this common challenge is not somewhere in the future; it’s already here.

UXPin, a code-based design tool, has Merge technology, which allows you to bring all interactive components into UXPin. Then you can use your own, or the open-source library with the ready-made building blocks to get products ready faster.

Here are just a few of the things you can do with Merge by UXPin:

  • Integrate your developer’s storybook to use it as a single source of truth (works for all frameworks)
  • Import design system components from a dev’s Git repository, such as GitHub, Bitbucket, GitLab, or others (works with React)
  • Work with the built-in MUI library
  • Add the npm component package to UXPin on your own (no developer required)
  • Design with the confidence that your work can be ideally reflected by developers
  • Create and share a library of interactive components

Summary 

Say bye-bye to redrawing rectangles – build more accurate prototypes easier and end-products faster with Merge by UXPin.

Now is the time to solve one of your biggest design challenges while upgrading and scaling the design process and improving handoffs. 

Merge by UXPin is user-friendly and made for scalable projects of almost any size. The line between design and development blurs with quicker product release and a fully-interactive solution. Request access today.

 

[– This is a sponsored post on behalf of UXPin –]

Source

The post How to Scale Your Design Process and Improve Handoff first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

“Minimum Viable Product,” or “MVP,” is a concept of agile development and business growth. With a minimum viable product, you focus on creating the simplest, most basic version of your product, web application, or code possible.

Minimum viable products include just enough features to attract early adopters and validate your idea in the early stages of the development lifecycle. Choosing an MVP workflow can be particularly valuable in the software environment because it helps teams receive, learn from, and respond to feedback as quickly as possible.

The question is, how exactly do you define the “minimum” in MVP? How do you know if your MVP creation is basic enough while still being “viable”?

Defining the Minimum Viable Product: An Introduction

The concept of “Minimum Viable Product” comes from the Lean Start-up Methodology, introduced by Eric Ries. The purpose of MVP is to help companies quickly create versions of a product while collecting validated insights from customers for each iteration. Companies may choose to develop and release minimum viable products because they want to:

  • Introduce new products into the market as quickly as possible;
  • Test an idea with real users before committing a large budget to product development;
  • Create a competitive product with the use of frequent upgrades;
  • Learn what resonates with the target market of the company;
  • Explore different versions of the same product.

Aside from allowing your company to validate an idea for a product without building the entire concept from scratch, an MVP can also reduce the demand on a company’s time and resources. This is why so many smaller start-ups with limited budgets use the MVP and lean production strategy to keep costs as low as possible.

Defining an MVP: What your Minimum Viable Product Isn’t

When you’re building a Minimum Viable Product, you’re concentrating on developing only the most “essential” features that need to be in that product. For instance, you might be building a shopping app for a website. For the app to be “viable,” it would need to allow customers to search through products and add them to a basket or shopping cart. The app would also need a checkout feature and security components.

However, additional functionality, like the ability to send questions about an item to a customer service team or features that allow clients to add products to a “wish list,” may not be necessary straight away. Part of defining a minimum viable product is understanding what it isn’t. For instance, an MVP is not:

  • A prototype: Prototypes are often mentioned alongside MVPs because they can help with early-stage product validation. However, prototypes are generally not intended for customers to use. The “minimum” version of a viable product still needs to be developed enough for clients and users to put it to the test and provide feedback.
  • A minimum marketable product: An MVP is a learning vehicle that allows companies to create various iterations of an item over time. However, a minimum marketable product is a complete item, ready to sell, with features or “selling points” the company can highlight to differentiate the item from the competition.
  • Proof of concept: This is another similar but distinct idea from MVP. Proof of concept items test an idea you have to determine whether it’s attainable. There usually aren’t any customers involved in this process. Instead, companies create small projects to assess business solutions’ technical capabilities and feasibility. You can sometimes use a proof of concept before moving on to an MVP.

Finding the Minimum in your MVP

When finding the “minimum” in a minimum viable product, the primary challenge is ensuring the right balance. Ideally, you need your MVP to be as essential, cost-effective, and straightforward as possible so that you can create several iterations in a short space of time. The simpler the product, the easier it is to adapt it, roll it out to your customers, and learn from their feedback.

However, developers and business leaders shouldn’t get so caught up focusing on the “Minimum” part of Minimum Viable Product that they forget the central segment: “Viable”; your product still needs to achieve a specific purpose.

So, how do you find the minimum in your MVP?

1. Decide on Your Goal or Purpose

First, you’ll need to determine what your product needs to do to be deemed viable. What goal or target do you hope to achieve with your new product? For instance, in the example we mentioned above, where you’re creating an ecommerce shopping app, the most basic thing the app needs to do is allow customers to shop for and purchase items on a smartphone.

Consider the overall selling point of your product or service and decide what the “nice to haves” are, compared to the essential features. For instance, your AR app needs to allow people to interact with augmented digital content on a smartphone, but it may not need to work with all versions of the latest AR smart glasses.

2. Make a List of Features

Once you know the goal or purpose of your product, the next step is to make a list of features or capabilities you can rank according to importance. You can base your knowledge of what’s “most important” for your customers by looking at things like:

  • Competitor analysis: What do your competitors already offer in this category, and where are the gaps in their service or product?
  • User research: Which features or functionalities are most important to your target audience? How can you make your solution stand out from the crowd?
  • Industry knowledge: As an expert in your industry, you should have some basic understanding of what it will take to make your product “usable.”

3. Create Your Iterations

Once you’ve defined your most important features, the next stage is simply building the simplest version of your product. Build the item according to what you consider to be its most essential features and ask yourself whether it’s serving its purpose.

If your solution seems to be “viable,” you can roll it out to your target audience or a small group of beta testers to get their feedback and validate the offering. Use focus groups and market interviews to collect as much information as possible about what people like or dislike.

Using your feedback, you can begin to implement changes to your “minimum” viable product to add more essential features or functionality.

Understanding the “Minimum Viable Product”

Minimum viable products are evident throughout multiple industries and markets today – particularly in the digitally transforming world. For instance, Amazon might be one of the world’s most popular online marketplaces today, but it didn’t start that way. Instead, Jeff Bezos began purchasing books from distributors and shipping them to customers every time his online store received an order to determine whether the book-selling landscape would work.

When Foursquare first began, it had only one feature. People could check-in at different locations and win badges. The gamification factor was what made people so excited about using the service. Other examples include:

  • Groupon: Groupon is a pretty huge discount and voucher platform today, operating in companies all around the world. However, it started life as a simple minimum viable product promoting the services of local businesses and offering exclusive deals for a short time. Now Groupon is constantly evolving and updating its offerings.
  • Airbnb: Beginning with the use of the founders’ own apartment, Airbnb became a unicorn company giving people the opportunity to list places for short-term rental worldwide. The founders rented out their own apartment to determine whether people would consider staying in someone else’s home before eventually expanding.
  • Facebook: Upon release, Facebook was a simple social media tool used for connecting with friends. Profiles were basic, and all members were students of Harvard University. The idea quickly grew and evolved into a global social network. Facebook continues to learn from the feedback of its users and implement new features today.

Creating Your Minimum Viable Product

Your definition of a “minimum viable product” may not be the same as the definition chosen by another developer or business leader. The key to success is finding the right balance between viability – and the purpose of your product, and simplicity – or minimizing your features.

Start by figuring out what your product simply can’t be without, and gradually add more features as you learn and gain feedback from your audience. While it can be challenging to produce something so “minimalistic” at first, you need to be willing to release those small and consistent iterations if you want to leverage all the benefits of an MVP.

Suppose you can successfully define the meaning of the words “Minimum” and “Viable” simultaneously with your new product creations. In that case, the result should be an agile business, lean workflows, and better development processes for your entire team.

 

Featured image via Pexels.

Source

The post What is the “Minimum” in Minimum Viable Product? first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

Much of the software development world has adopted new methodologies, such as agile, that enable them to deliver changes and updates to critical systems more quickly and efficiently.

In this 2-part blog series, I explain what agile development is and how it helps deliver software faster and then explore how you can implement this approach in SAP.

Source de l’article sur DZONE

Velocity in agile development measures the quantity of work a team can accomplish in a sprint. It can be measured in story points, hours or days. The higher the velocity of a team, the more features it delivers, the more value it brings to customers. Sprint velocity is a good measure in sprint project management to evaluate and estimate team productivity.

The measure of the velocity is based on multiple factors: the continuous integration (CI) process, the time to qualify the code changes, to test the regression, the security, the delivery, etc…

Source de l’article sur DZONE

Code quality may be a moving target, but you can get closer to the target with some help. In this post, we go through the lessons learned by software developers with decades of combined experience. Read on and enhance your code quality!  

Code Quality Lessons and Tutorials

Code Quality
Code Quality Takes Practice. So Get to Practicing!
  1. What Does Code Quality Actually Mean? by RJ Williams and Erik Dietrich. Want to make sure your code is of high-quality? This dev suggests that you should be able to read it as if it were written in prose. Does your code pass the test?

    Source de l’article sur DZONE

Sure, waterfall and agile may appear similar; both do end with software products, after all. But how they get there is vastly different.

Everything changes over time. From music to clothes to cars, the list is endless.

Software development has followed the same evolution. For most of its history, software development was dominated by the Waterfall methodology. There just wasn’t a better alternative.

Source de l’article sur DZONE

I used to internally cringe when people mentioned code review – where developers check each other’s work after it has been implemented and suggest improvements. The tests were in place, QA had signed off, the product owner was happy. Surely by definition code review was just the practice of looking for problems.

If that sums up how you feel about code review, then sorry — you’re going to hate this. Nowadays, I think peer review is one of the most powerful devices for projecting best practice in a product, a team, a company and beyond. Notice I call it peer review rather than code review. To me, there are some important differences. Code review is good – it raises standards and awareness of standards. But peer review is more powerful still.

Source de l’article sur DZONE


"I travel around the world constantly promoting my projects and endorsing products." — Paris Hilton

Agile coaching is a journey into irony. One of the chief discoveries you can make on this voyage is that the more experienced you become, the worse at the job others often think you get.

Source de l’article sur DZone (Agile)