accomplishing alm with agility - ivision › wp-content › uploads ›...

8
In today’s business environment, software is everywhere. Ones and zeros drive payroll processing, heavy machinery operations, communications — even the break room coffeemaker. The ubiquity of software not only has driven huge efficiency and productivity gains for companies, it also has forced them to change their fundamental structure and processes. They no longer can view Information Technology as a separate, siloed division. Rather, IT is an integral part of daily operations, as crucial to getting business done as electricity. Which brings us to two seemingly conflicting truths: up-to-date software gained through strong application lifecycle management (ALM) is essential to business success, and companies can’t afford the downtime and disruption traditionally associated with software upgrades. “Firms no longer can accept historical gulfs between business and application development and delivery teams as, increasingly, firms now expect to manage application development and delivery as a business and treat it as a competency,” warns a report from technology analytics firm Forrester Research. But updating software without disrupting business operations is the equivalent of changing tires on a race car as it speeds around the track. How can it be done? Accomplishing ALM with Agility The right approach, action plan and tools yield success in application lifecycle management. Author: Jeremy Likness & Michael Baer 1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002 iVision.com NEED IMAGE WHITE PAPER Agile Principle No. 1: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. •••

Upload: others

Post on 26-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

In today’s business environment, software is everywhere. Ones and zeros drive payroll processing, heavy machinery operations, communications — even the break room coffeemaker.

The ubiquity of software not only has driven huge efficiency and productivity gains for companies, it also has forced them to change their fundamental structure and processes. They no longer can view Information Technology as a separate, siloed division. Rather, IT is an integral part of daily operations, as crucial to getting business done as electricity.

Which brings us to two seemingly conflicting truths: up-to-date software gained through strong application lifecycle management (ALM) is essential to business success, and companies can’t afford the downtime and disruption traditionally associated with software upgrades.

“Firms no longer can accept historical gulfs between business and application development and delivery teams as, increasingly, firms now expect to manage application development and delivery as a business and treat it as a competency,” warns a report from technology analytics firm Forrester Research. But updating software without disrupting business operations is the equivalent of changing tires on a race car as it speeds around the track. How can it be done?

Accomplishing ALM with AgilityThe right approach, action plan and tools yield success in application lifecycle management.Author: Jeremy Likness & Michael Baer

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

NEED IMAGE

WHITE PAPER

Agile Principle No. 1:Our highest priority is to satisfythe customer through early andcontinuous delivery of valuablesoftware.

• • •

Page 2: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

Angling for AgilityThe answer to achieving effective application lifecycle management lies in an agile methodology — as firmly rooted in philosophy as in technology. Adopting the agile approach starts with a mindful review of what an IT project is and how it affects your business organization. What promotes project success? What hinders it?Let’s start with the hindrances. They’ll take slightly different forms in every organization, depending upon resources, culture and group dynamics. But, in general, these four elements of traditional IT projects inevitably get in the way:

• Focusing on processes and tools• Concentrating on comprehensive documentation• Getting stuck in the mire of negotiations with vendors or internal stakeholders• Adhering too tightly (and blindly) to a set plan

Now have a look at the equivalent elements of a successful agile approach to application lifecycle management:

• Focusing on individuals and interactions• Concentrating on software that works• Encouraging collaboration over confrontation• Responding nimbly to change

That last point really is the secret sauce of the agile approach. Projects are segmented into short “sprints,” usually one to two weeks long. After each sprint the development team assesses success toward project goals. If something isn’t working, they know it early and have the flexibility to fix it. The bottom line: An agile project is designed to evolve.

What You Gain from an Agile ApproachOne of the best descriptions of the value proposition presented by an agile approach appeared in Puppet Labs’ 2015 State of DevOps Report, which surveyed just under 5,000 technology, management and sales professionals about how software development is evolving.

“Lean management and continuous delivery practices create the conditions for delivering value faster, sustainably,” the report’s authors explained. “Manufacturing was revolutionized by the application of lean principles in the 1980s. Today, it’s IT’s turn to go lean. When you apply lean management and continuous delivery practices to software delivery, you get the same results — higher quality, shorter cycle times with quicker feedback loops, and lower costs. And the benefits don’t stop

Escaping the black boxHere’s how traditional “waterfall” IT developmentprojects often go wrong.

A company goes into a lengthy period of gatheringrequirements. Once the requirements are decided,development teams go into a “black box.” Theydisappear for months, only to return withsomething they thought was right but that doesn’tquite fit expectations.

Then there’s a period of recalibrating and bugfixing, and finally the teams start to deploy —and that’s when the company often discovers thesolution they thought would solve their problemshas been eclipsed by technology and business shifts.

It’s a long and inefficient process that doesn’tleave room for finding and addressing errors oradjusting to change. An iterative agile approach,on the other hand, offers project transparency andadaptability that lets companies escape the blackbox of waterfall project management.

• • •

Waterfall vs. Agile

In the traditional waterfall approach to softwaredevelopment, deliverables arrive in a big splashat the end. Waterfall treats analysis, design, codingand testing as discrete phases in a software project.Its philosophy: The best course is staying on theset course because the cost of change is high.

• • •

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer

Page 3: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

“there: these practices also contribute to creating a culture of learning and continuous improvement, lower levels of burnout, and higher organizational performance overall.”

Here’s a short list of the benefits that agile provides in an application lifecycle management project:

• Iterative Delivery: The software gets in your hands fast, and you can respond quickly.• Flexibility: If business or technology needs change during the project, you can adapt.• Continual Improvement: Each sprint ends with post-mortems that delve into ways to improve the process, reduce waste and gain speed.• Transparency: Stakeholders know exactly where the project stands at any time.• Collaboration: The entire team — developers and business stakeholders — are involved throughout the process.

How Agile WorksAt the center of agile’s “lean” methodology is segmentation and iteration: an application lifecycle management project is broken into manageable parts, and the same process is repeated for each segment.

The Predictability of an Agile Project

Agile methodology enables steady and predictable progress, as shown on this chart tracking the advancement of an actual agile project. Initial information

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer

Agile Principle No. 2:Welcome changing requirements,even late in development. Agileprocesses harness change for thecustomer’s competitive advantage.

• • •

Page 4: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

allows the team to get to work quickly, and regular assessments enable the team to adapt to changing requirements or other new conditions. The result is a steady flow of work, predictable outcomes and adherence to deadlines. By comparison, a waterfall project is planned from beginning to end before work starts; such guessing reduces predictability.

Three integral aspects of agile methodology are continuous integration, which verifies integrity of the software whenever any changes are made; continual delivery, which deploys the software to a staging environment as soon as changes are made; and continual deployment, the ongoing process of delivering incremental components that contribute to overall production.

As these terms indicate, agile approaches are “predicated on continuous engagement with business managers and users, and lead to the delivery of a continuous stream of new and modified software into the operational environment,” explained a July 2015 communication from research firm Gartner. “This demands significant changes in working practices for both business governance and relationship management and the infrastructure and operations teams.”

Getting Started with AgileSo, how do you drive these “significant changes” and prepare your organization for an agile approach to application lifecycle management — and the benefits it promises? The answer is threefold: assess your culture, connect with agile experts and choose a framework that will yield success for your company.

Assess your cultureCompany culture is a key factor in agile project success, according to VisionOne’s State of Agile Survey. When asked why their agile projects failed, 42% of respondents to the survey blamed “company philosophy or culture at odds with core agile values.” Published in 2015, the survey captured responses from nearly 4,000 people working in software development across the globe.

The survey responses echo a recent warning from Gartner analysts: “The full benefits of agile cannot be achieved without engaging with business leaders, management and the user community. If the rest of the business does not have an immediate appetite for working in a new way, careful planning and communication will be needed to bring different communities of managers and users on board.”

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer

Case Study in Brief: Agile Approach to Cloud-BasedEnterprise Resource Planning SystemAn Atlanta-based company that fabricates metals,finishes aluminum and distributes sheet and molded aluminum around the globe needed anupdated and modernized ERP system to boostbusiness efficiency and enable growth.

Project OverviewThe company’s chief executive officer had designed a propriety software applicationover the past 15 years, giving his firm acompetitive edge. But the legacy system was dated, and the CEO had to personally oversee anysoftware upgrades. He wanted to refresh hiscompany’s technology and pave the way for asmooth business succession as he moved towardretirement.

TransformationiVision used Visual Studio Team Services(http://bit.ly/ivisionalm) to document businessand technical requirements for a full enterpriseresource planning (ERP) system that would servethe company from pre-sales through collections.The team mapped out a project plan in line withagile methodology — an iterative approach thatschedules deliverables incrementally, rather thanat the end of a project.

Business ValueEngineers from iVision (http://bit.ly/ivisionappdev) began delivering software just twoweeks after project launch. The client sawimmediate results: Queries that had taken severalminutes on the legacy system now took seconds.Ultimately, the client benefitted from a completeERP overhaul, moving from C++ to a modernplatform using SQL Server 2012; Entity Framework; ASP.NET MVC and Web API; representationalstate transfer (REST) services; and AngularJSdeployed to an Amazon Web Services-hostedserver. The iVision team automated ongoingsoftware integration and delivery (includingdatabase backup), so upgrades could happen withno manual intervention. The transformation ishelping solidify the company’s competitive edge,and the CEO can begin planning his retirement.

• • •

Page 5: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

The very first thing to understand about agile is how your organization is likely to respond to it. Assess your culture using well-established tools like Westrum’s Typology of Organizational Cultures (see chart below). Organizations with performance-oriented cultures, defined as “generative” in the Westrum model, are the best candidates for agile success. But rule-oriented cultures will embrace agile methodology for IT projects if developers and business stakeholders fully understand the process and benefits. In fact, the oversight enabled by agile’s transparency often aligns with the bureaucracy of rule-oriented organizations.

Types of Organizational Cultures

Connect with agile expertsEven if agile clearly aligns with your organizational structure, and developersand business stakeholders readily grasp the potential value of an agile approach, it’s important to step carefully into the methodology. Understanding agile isn’tthe same as adopting it. In the VisionOne survey, one of the top reasons forproject failure was lack of experience with agile —44% of respondents cited it.

Look for experienced partners with who can help you learn agile’s framework; avoid common pitfalls; and provide answers to questions and concerns thatoften come up when a company makes its first foray into the approach.

It only takes a couple of Web searches to discover that there are plenty ofquestions and lots of mythology around the agile approach. One of the biggestmisconceptions is that agile lacks discipline. But, as Jonathan Rasmusson,author of The Agile Samurai explains, “The truth is agile is a very disciplinedway of delivering software.”

Pathological Power-oriented

Bureaucratic Rule-oriented

Generative Performance-oriented

Low cooperation

Messengers shot

Responsibility shirked

Bridging discouraged

Failure leads to scapegoating

Novelty crushed

Modest cooperation

Messengers neglected

Narrow responsibilities

Bridging tolerated

Failure leads to justice

Novelty leads to problems

High cooperation

Messengers trained

Risks are shared

Bridging encouraged

Failure leads to inquiry

Novelty implemented

A Typology of Organisational Cultures, Ron Westrum, Eastern Michigan University, 1994

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer

Agile Myths and TruthsMyth: A project can’t succeed without a long-term schedule created at the start.Truth: With agile, you set a deadline, then youstart running sprints to deliver requirements inorder of importance. As you go, you begin to seea predictive pattern about deliveries that not onlyenable you to look ahead but also gaugetimeframes with much stronger accuracy than youcan with waterfall projects, which are rooted in aschedule that involves a great deal of front-endguesswork.

Myth: The agile approach lacks documentation.Truth: Agile teams don’t abandon documentation;they resize it to the correct proportions. Waterfallprojects yield large, long-term design documentsthat quickly go out of date. But agile documentationis created within a project tracking system, suchas Visual Studio Team Services (see graphic).Developers and business stakeholders use thissystem to map and follow each sprint in real time.Agile teams deliver “living” documents thataccurately reflect project scope and progress atany point.

Myth: Agile leads to incomplete architecture.Truth: Developers in waterfall projects spend toomuch time building architecture that locks theminto a predetermined paradigm — one thatultimately may not align with the business need.With agile, developers build to the requirementsof the sprint, then assess and look for ways toimprove. Every sprint and evaluation enhancesthe architecture, increasing the efficiency ofdevelopment and reducing risks, such as thepotential for defective code.

• • •

Page 6: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

• You have to test.• You have to get feedback.• You have to regularly ship software.• You have to change and update the plan.• You have to deliver bad news early.

This isn’t easy, Rasmusson notes on his website agilenutshell.com. “It’s not for the faint of heart and requires a lot of hard work, courage and discipline.”

Connecting with agile experts ensures you start out with good advice on how to organize your project and respond to these myths within your organization. You’ll begin with best practices and make informed decisions from day one.

An Agile Model:iVision’s Iterative Delivery Process

iVision teams have used agile methodologies on projects ranging from one developer spending three weeks rewriting a health care auditing system to more than 25 developers collaborating globally over several years to build a new product.

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer

A Brief History of the Agile Approach

The original agile experts were 17 technologistswho met at a ski resort in Utah in 2001 to talkabout the need for an alternative to documentation-driven, weighty software development processes.What emerged from this meeting was a Manifestofor Agile Software Development — 12 principlesof software development signed by all participants.The methodological shift that the Agile Alliancestarted in the mountains of the American Westhas since transformed software development —and other business processes — across the globe.Source: agilemanifesto.org

• • •

Page 7: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

Choose the Right FrameworkWhile there’s more than one successful agile framework, scrum is one of the most widely used for a reason. This “30-second” scrum overview, adapted from Scrum Alliance, gives a snapshot of how the scrum process works and why it’s so popular with development teams:

1. A customer or stakeholder creates a prioritized wish list, often in collaboration with scrum team members.2. The scrum team (generally five to nine people, including a scrum master) pulls items from the top of the wish list, scores them for difficulty and decides how to implement them.3. The team has a certain amount of time — a sprint of two weeks is common — to complete work. It meets each day to assess progress (called the daily scrum).4. Along the way, the scrum master keeps the team focused on goals.5. At the end of the sprint, the work should be ready to hand to a customer or show to a stakeholder.6. The sprint ends with a review and retrospective.7. The next sprint begins. The team chooses other wish-list items and starts working again.

Equipping Your Team for Agile SuccessAgile success in application lifecycle management not only requires rigor, it also requires tools that keep team members organized and on task and offer visibility to stakeholders. Indeed, visibility is one of the top three benefits of agile development, according to VisionOne’s State of Agile Survey.

Tools that aid communication by providing at-a-glance transparency into project status are essential. In addition, look for tools offering simple ways to prioritize and organize tasks, plan sprints, manage glitches and create charts and dashboards for easy reporting.

Notes from an iVision Scrum Master:Agile EstimationAt iVision, we begin every agile project with somefundamentals required for any project, no matterthe approach: What’s the desired outcome? What’sthe time-frame? What’s the cost? Is the anticipatedvalue worth the investment?

We work with our clients to answer those questions,and if the answer to the last question is “yes,” westart planning the first phase of work based on theclient’s priorities. The phase of work is called a“sprint,” and the deliverables that make up thatsprint are called “stories.” A story is what it soundslike: a narrative of the path to the desired outcome,and it’s scored based on complexity and effort—1, 3, 5, etc.

A story might be: “Organizing accounts receivabletakes too long, so we will update software toimprove efficiency.” The software update requiresonly one day of work, but the coding needed to dothe job is advanced. So, that story gets three points.

We draft the stories and add up the points, andthat yields “agile estimation” — an appraisal oftime and resources. Once we get through one ortwo sprints, we begin to see how our team works.Once we’ve identified that workflow pattern, wecan use past experience to predict future outcomeswith a high degree of accuracy.

Here’s what that means for our clients: agileestimation enhances project transparency andgreatly improves our ability to meet or beat ourclients’ deadlines and budgets. We collaboratewith clients more closely, communicate moreclearly, reduce their risks and deliver strong results.

• • •

Agile Principle No. 3:Deliver working software frequently,from a couple of weeks to a coupleof months, with a preference to theshorter timescale.

• • •

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer

Page 8: Accomplishing ALM with Agility - iVision › wp-content › uploads › Accomplishing_ALM_with_Agility.pdf1430 West Peachtree Street, Suite 425 Atlanta, Georgia 30309 678.999.3002

iVision is an Atlanta-based, privately heldtechnology integration and managementfirm. We engineer success for clientsthrough objective recommendations,technology and process expertise and best-of-breed guidance. Our infrastructure andapplication solutions are organized intoBusiness Services, Technology Services andOperations & Support. At iVision, we workwith clients to architect, transform andsupport their technology — enablingthem to realize their vision of a bettertomorrow. Learn more about our companyat ivision.com and get details about ourcommitment to clients and to employeegrowth.

Tracking an Agile-Based ALM Project with Visual Studio Team Services

Microsoft’s Visual Studio Team Services enables project transparency, making it an ideal tool for agile projects. You can plan, build, track, test, approve and deploy application lifecycle management projects because Visual Studio Team Services gives anyone on the project team — or observing it — a real-time view of progress. You can follow individual sprintsand overall project advancement. You can see at a glance whether any teammember or project segment is at risk of falling behind schedule. And, armedwith this information, you can forecast outcomes and completion dates withaccuracy.

Conclusion: Agility Yields Adaptability to RapidBusiness ChangesApplying agile methodology to application lifecycle management projectsallows you to bridge the historical gap between business operations and application development — an essential connection in today’s environment. Business changes happen in tandem with IT upgrades, and the IT processesmust be nimble enough to adapt.

The agile approach — adapted to company culture, guided by experts in themethodology and enhanced by tools designed for project transparency — enables your company to manage changing priorities; increase productivity;and add real-time visibility and predictability into IT projects.

Jeremy Likness, iVision’s principal architect, is a 6-year Microsoft MVP with 20 years of enterprise software development experience. A prolific

speaker and author of several technology books, Jeremy’s personal mission is to empower developers around the world to learn and grow.

Michael Baer’s primary role is an application architect focused on both pre-sales and post-sales delivery for iVision’s application development clients

across multiple verticals including legal, healthcare, education, financial, manufacturing, retail and government. Michael has decades of experience leading software development teams and is an expert at applying agile methodologies for Application Lifecycle Management (ALM) to deliver software with a focus on business value. Michael assists with the architecture design, implementation, and delivery of software solutions. He regularly mentors developers, trains software development teams, and is very active in the developer community.

1430 West Peachtree Street, Suite 425Atlanta, Georgia 30309

678.999.3002iVision.com

Accomplishing ALM with AgilityAuthor: Jeremy Likness & Michael Baer