A DEFINITIVE GUIDE TO AGILE SOFTWARE DEVELOPMENT by a3 logics (the best books to read .TXT) đź“–
- Author: a3 logics
Book online «A DEFINITIVE GUIDE TO AGILE SOFTWARE DEVELOPMENT by a3 logics (the best books to read .TXT) 📖». Author a3 logics
A Definitive Guide to Agile Software Development
(Principles, Benefits and Challenges Unlocked)
©2020 A3logics. All Rights Reserved.
ABOUT A3LOGICS
Founded in 2003, A3logics is an award-winning IT consulting, web and mobile app development company, specializing in digital transformation and product engineering services.
Dedicated to building better and stronger relationships between businesses and customers with best-in-class IT solutions, A3logicshas successfully delivered more than 1285+ projects for renowned global enterprise clients across 69+ countries. Helping clients beyond mobile—across web and connected devices, through process transformation and design thinking—A3logics
is the right partner to help transform and drive your business forward.
“What distinguishes A3logics is how they’re more of
a partner than a vendor. They have become an extension of our company. The team genuinely understands and appreciates
what we are trying to accomplish.”
“A3logics went well
beyond expectations to ensure they delivered a nearly flawless app on deadline…They went Above-and-beyond, displaying ingenuity to identify potential solutions. I couldn’t ask for a better vendor. They’ve set a new standard for us.”
2
CONTENTS
Building an Agile Transformation Strategy: Getting Started
4
Agile Transformation Challenges: 6 Missteps That Slow Down Change
10
How to Select and Develop Individuals for Successful Agile Development Teams
15
The Benefits of Squad-Based Development
24
Ten Characteristics of Successful Agile Software Development
28
The Importance of Flexibility in Agile Software Development
36
How to Determine Timeframe & Scope in Agile Development
40
How Long Does it Take to Build an App Using Agile Scrum?
45
How to Manage Software Development Risks in an Agile Environment
54
How to Scale Agile in Enterprise Environments
59
BUILDING AN AGILE TRANSFORMATION STRATEGY: GETTING STARTED
4
Agile has officially earned buzzword status. Known as a management methodology, numerous organizations as of late have attempted (successfully or unsuccessfully) to transform their existing organizational structure to become agile. Adopting an agile transformation strategy promises greater customer satisfaction, faster time to market, higher revenue growth, lower costs, and a more engaged workforce. However, an organization can not simply “go” agile overnight, in-fact going agile entails a minimum five to 10-year plan that overtime transforms an organization’s mindset, invokes cultural change, and involves the implementation of dedicated resources across the board. For many organizations, failure to fully transform into an agile organization is due to a lack of knowledge on the methodology itself, what it is and what it entails, and an understanding that it may not be appropriate for each business model.
This chapter will address the gap in understanding and act as a primer on developing an agile transformation strategy, specifically providing a high-level overview of what agile is and how it works.
WHAT IS AGILE?
Agile is more than just a methodology; it’s a mindset.
Back in 2001, a group of experts and colleagues put together what they called the Agile Manifesto, which outlines a set of principles they felt would allow developers to deliver software more efficiently and with higher customer satisfaction. At its core, the manifesto aimed to shift how software development was created to focus more on the customer.
Today, agile follows the same principles but has broadened its reach to affect not only software development but different areas and departments within a business.
Organizations transitioning to this mindset will notice a drastic difference from the traditional structural principles that shaped their current business. Conventional management methods like waterfall, for example, follow a top-down hierarchy where decisions come from the highest authority and flow down to the employees. This method operates through linear planning and control to capture value for shareholders and is
often rigid and slow. In contrast, the agile mindset focuses on iterative decision-making, where requirements and solutions develop through collaboration between self- organizing cross-functional teams. These teams operate in rapid learning and fast- decision cycles known as sprints.
Where waterfall delivers a final product at the very end of a project, agile methodologies break that same project up into small increments, producing a deliverable at each stage as the project progresses, delivering instant value to the customer.
To summarize, agile is a mindset that moves away from the principles of top-down management and emphasizes the need for collaboration amongst teams to deliver value while making adjustments and improvements as needed continuously. Ultimately this reduces the risk that comes with providing a final product at the end of a long production period that may be over budget and not what the customer expected.
AGILE TERMINOLOGYBefore we go any further into creating an agile transformation strategy and how agile works within organizations, some essential terms should be familiar to you:
Scrum: Scrum is the most widely used framework under the agile umbrella. Scrum is an iterative software model that follows a set of predefined roles, responsibilities, and meetings.
Backlog: A backlog is a changing list of product requirements based on the customer’s needs. The backlog is not a to-do list; rather, it is a list of all the desired features for the product. An agile team uses the backlog to prioritize features and understand which features to implement first.
Sprint: A sprint is a fixed-length iteration during which one user story or product backlog item is transformed into a potentially shippable deliverable. Each sprint is assigned a set amount of time, which typically lasts two weeks but can range anywhere from one week to one month.
Scrum Master: Team role responsible for ensuring the team follows agile values and principles and supports the processes and practices that the team agreed they would use.
Product Owner: a product owner is a role in a product development team responsible for managing the product backlog to achieve the desired outcome that a product development team seeks to accomplish.
User Stories: A brief, non-technical description of requirements written from the customer’s or end-users’ point of view. Either the product owner or the team writes the user stories
FOUR CORE VALUES OF AGILEPut the customer first
The customer is at the core of everything an organization does. For an agile transformation strategy to work effectively, teams must have a clear understanding of the customer, what problem to solve, and what matters to the customer.
In a traditional waterfall organization, communication between the customer and the individuals executing the work is often non-existent, with the employees receiving direction from higher-ups instead of directly from the ones that ordered the work in the first place. Waterfall methods can sometimes lower the possibility of delivering a product that truly satisfies the customer. It is for this reason that agile emphasizes the importance of the customer.
Focus on interactions instead of process
With agile, valuing interactions between people (customer and the lead developer, for example, or with members of a team) is prioritized over standardized processes. If a project is driven solely by process and documentation, the team is less responsive to change and less likely to meet customer needs. Again, a people-first approach all comes back to the first principle of agile; everything comes back to the customer and how to deliver the right solutions for them.
Communication is a great example to see the difference between valuing interaction over process and how this helps the customer. In the case of individuals, communication happens when a need arises. When it comes to process, communication is scheduled and requires specific content. Agile relies less on checking a box off a list and instead focuses on interacting when necessary.
Welcome Change
The agile process centers around what is known as sprints. These quick development or production phases allow an organization to produce a deliverable at the end of each sprint. Short sprints (typically two weeks) allow teams to receive continuous feedback from the customer on what they delivered. Agile emphasizes the need to take this feedback and integrate that learning into the next sprint. With Agile, the shortness of a sprint allows for priorities to quickly shift from iteration to iteration and for new features to be added as needed. Agile’s view is that changes always improve a project and provide additional value.
Software over documentation
The purpose behind agile is to streamline workflows to allow for the maximum output of high-value products. In a traditional waterfall environment, before production begins a significant amount of time and resources are dedicated to properly documenting technical specifications, technical requirements, design documents, test plans, and approvals, causing long delays. While agile does not eliminate this completely, the agile process streamlines and in some cases automates this process to give a developer enough information to begin working on a project.
HOW AGILE WORKSWhile there are a variety of frameworks and manifestations of agile organizations can implement, for an agile transformation strategy to work effectively, the whole business must be operating in an agile manner. To be successfully agile, an organization can not just pick a handful of aspects of the process it likes. To be genuinely agile, an organization must approach it holistically and bring the entire organization on the journey.
Within each team of an agile organization, each specific member is assigned a different task or position. While they may be in charge of one specific thing, it is still vital for them to collaborate with other teams and team members to accomplish a final goal. A simple way to picture this is to compare members of the agile team to workers in a restaurant kitchen.
Each member of the kitchen staff prepares different aspects of the dish separately that later come together to complete a full meal. Customers (internal or external) will provide these teams with
Comments (0)