Welcome!

Microservices Expo Authors: Yeshim Deniz, JP Morgenthal, Liz McMillan, AppNeta Blog, Elizabeth White

Related Topics: Microservices Expo

Microservices Expo: Blog Feed Post

ROI - Is It Always Required for a Software Project?

The danger of misclassification is to doom a project to failure even before you have started

Can you think of an instance where a software project had to completed on schedule and the measure of ROI was of secondary importance? When a piece of software is part of a larger initiative the ROI becomes less important and the fallout of any delay may far outweigh the investment on the software.

Latest trend in agile and lean methodologies is to weigh every feature in the scale of “measurable business value” before acting on it. This approach, for some type of projects, may be redundant or even counter productive. In my opinion, software projects can be classified into 5 types - ROI, 7th-Habit, O-Ring, Hype-Cycle & Build-to-Flip.

Let's look at the characteristic of each type of projects and what makes each of them successful. I have also added how agile methodologies can aid the success. The danger of misclassification is to doom a project to be failure even before you have started.

ROI Projects

There is a class of software projects where delivering business value is the key. The measure of value need to be quantifiable and can typically be:

  • Cost saving
  • Revenue generation
  • Customer satisfaction
  • Cycle-time reduction

If I spend “X” dollars I will get “Y” benefit = measurable value delivered to business.

Approval Process: Follow a variant of the following 4-step process:

  1. Identify and quantify business benefit
  2. Translate into software requirement
  3. Estimate – time and money required
  4. Obtain approval based on cost benefit analysis – the analysis may be absolute or relative to other projects

Pitfall: To get the project approved, the benefit may be (consciously or unconsciously) overstated. Alternately cost may be understated or impact of critical technical challenges not fully understood.

How agile can help:

Fail early – This is where use of agile methodology can be of great help. Used properly, it can identify, early in the project lifecycle, if the projected cost-benefit analysis is realistic. If it is not then the project can be allowed to fail early thereby saving considerable expense and heartache.

Incremental value – If the project is such that it will be feasible to make phased releases either to a small community of users or with subset of business critical features, then adopting agile methodology will allow value to be realized even before the completion of the project.

7th-Habit Projects

The seventh habit (see 7 Habits of Highly Effective People by Stephen R. Covey) is “Sharpening the Saw” or about renewal.

These are already running applications and have to be re-written for one of the following reasons:

  • Technology obsolescence – either hardware or software
  • Problem of maintainability – lack of people or unwieldy code base
  • Integration challenge

The applications would have been in use for a long period of time. Though the UI may be archaic, most users will be reluctant to switch to anything different. For such project, value will be intangible and it will be difficult to quantify. The renewed version of the product will normally will need to replicate the functionality of the existing application with some enhancements thrown in.

In the airline industry, majority of the ticketing runs on IBM mainframe and the application is developed using TPF which is a second generation language. IBM has declared that support for TPF is going to be withdrawn and it is to be replaced by z/TPF.

Approval Process: Ask the following questions:

  1. Can we afford to do it?
  2. Can we afford NOT to do it?
  3. Is there any alternate way of satisfying the business need?
  4. Is this application still relevant?

Pitfall: The project will be deemed successful only if users find the version at least as reliable and useful as the old system. The biggest risk is to miss out on the key feature, functionality or usability issue. This may happen when key users are unwilling to spend enough time or knowledge of specific feature is lost and is only available as code.

How agile can help: One of the challenges in using agile methodology for such project is the reluctance of users to contribute time and effort. If no major enhancements are planned then the developers are expected to study the existing system and derive the requirement. However, if the user interface is being revamped, then iterative refinement with constant user feedback can make or break the project.

O-Ring Projects

On January 28, 1986, when Space Shuttle Challenger broke apart 73 seconds into its flight, leading to the deaths of its seven crew members. Disintegration of the entire vehicle began after an O-ring seal in its right solid rocket booster (SRB) failed at liftoff. It had lost its elasticity because of the unusually cold outside temperature.

Sometimes, software becomes an O-Ring in a large infrastructure project or new product release. In such cases, quality and on-time-completion becomes so much more important than any other parameter. 100% budget overrun may be an acceptable tradeoff to either prevent a bug or to avoid short delay.

When you are planning to open a new terminal building in an airport like Heathrow Terminal 5, software will be a small (cost wise) but important component in it. However, it will be at least as critical as any other component or equipment. The complete software has to be ready in time and has to function flawlessly. Even few days delay may lead to revenue loss in excess of the cost of the software. Also, any quality problem can damage the image of the organization.

Approval Process: Since such project will be a component of a larger project, there will be no separate approval process. However, following questions need to be asked:

  1. What to make – what to buy?
  2. How much to automate?
  3. Is the scope too ambitious?
  4. How much premium can be paid to reduce risk?

Pitfall: The biggest pitfall is to underestimate the complexity and technical challenge especially integration challenge. Many of these will surface only towards the end of the project when the deadline pressure will be at its peak.

How agile can help: Since, such project require a big bang release, what value agile can bring is not immediately obvious. However, for such project early mitigation of technical risk may be critical. Tackling them in an agile manner early in the project lifecycle can greatly increase the chances of success.

Hype-Cycle Projects

Hype-cycle is a term promoted by Gartner to provide pointers to how new technology adoption happens. Every technology goes through a “Peak of Inflated Expectations” where everybody jumps into the bandwagon. People want to cash in on the early mover advantage and time becomes of essence.

For such software projects, “being there” as quickly as possible is major driver. Though, cost and quality cannot be ignored, but they take a back seat.

With the release of iPhone from Apple, it became important for organization to release an iPhone application to the market. Scenario one is when you want to be the first and be perceived as the leader. Scenario two is when your competitor has already released such an application and you need to follow suit lest you be perceived as a laggard organization. It is the same story with Facebook applications.

The story of Cloud Computing or SOA is little different – there you are afraid that you may be missing out on something important. Therefore you want to try it out. In all these instances it is difficult to quantify measurable business value which is realistic. It is important to be there as quickly as possible.

Approval Process: Ideally such projects need to be driven by an evangelist. It will be a discretionary spending and money may either come from technology budget or marketing budget. The decision making is unlikely to be logical and based on figures – it will be a right-brain decision.

Pitfall: Normally, chances of failure for such projects will always be high. However, not responding to changing scenario fast enough can lower the chance of success to almost zero.

How agile can help: Since the area is new, the requirement needs to emerge and change during the course of the project. For such projects, it is difficult to envisage any methodology other than Agile.

Build-to-Flip Projects

The term build-to-flip was coined by Jim Collins, the co-author of Build to Last. If you have an innovative idea, you start a company, create a prototype, get VC funding and build your idea to a level where you have sufficient user base to sell the whole venture. Significant percentages of such ventures are purely software projects. Alternately, software would be a major component in the development effort.

Build-to-flip projects have some similarity with hype-cycle project but have its own unique characteristics. The innovator will start with an idea but in most cases it will not be fully formed. Whole plan needs to be flexible and the product needs to morph based on the feedback, likes and dislikes of the early adopters. The innovator needs to be sensitive to unintended usage of the idea. In addition, the early adopters will also become the beta testers. Quality may not be the most critical factor. Twitter, for example, used to crash quiet frequently in the initial days. That did not prevent it from being one of the biggest successes of recent times. Rolling the right features out as soon as possible may be the key to success.

Approval Process: You need an idea which can grow big. You need to sell the concept to a funding agency, probably a VC. If you succeed then you are on.

Pitfall: Not everybody is Steve Jobs – you may not be able to create an iPod or an iPhone in the first attempt. You will need to iterate and listen to early adopters. Not doing so quickly enough is a sure road to failure.

How agile can help: Not only will agile development is mandatory, agile deployment is also critical. Option of continuous deployment is also worth examining – here is a nice example.

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

@MicroservicesExpo Stories
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
Microservices (μServices) are a fascinating evolution of the Distributed Object Computing (DOC) paradigm. Initial design of DOC attempted to solve the problem of simplifying developing complex distributed applications by applying object-oriented design principles to disparate components operating across networked infrastructure. In this model, DOC “hid” the complexity of making this work from the developer regardless of the deployment architecture through the use of complex frameworks, such as C...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm.
TechTarget storage websites are the best online information resource for news, tips and expert advice for the storage, backup and disaster recovery markets. By creating abundant, high-quality editorial content across more than 140 highly targeted technology-specific websites, TechTarget attracts and nurtures communities of technology buyers researching their companies' information technology needs. By understanding these buyers' content consumption behaviors, TechTarget creates the purchase inte...
The IT industry is undergoing a significant evolution to keep up with cloud application demand. We see this happening as a mindset shift, from traditional IT teams to more well-rounded, cloud-focused job roles. The IT industry has become so cloud-minded that Gartner predicts that by 2020, this cloud shift will impact more than $1 trillion of global IT spending. This shift, however, has left some IT professionals feeling a little anxious about what lies ahead. The good news is that cloud computin...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In his Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, will explore t...
We've all had that feeling before: The feeling that you're missing something that everyone else is in on. For today's IT leaders, that feeling might come up when you hear talk about cloud brokers. Meanwhile, you head back into your office and deal with your ever-growing shadow IT problem. But the cloud-broker whispers and your shadow IT issues are linked. If you're wondering "what the heck is a cloud broker?" we've got you covered.
What if you could build a web application that could support true web-scale traffic without having to ever provision or manage a single server? Sounds magical, and it is! In his session at 20th Cloud Expo, Chris Munns, Senior Developer Advocate for Serverless Applications at Amazon Web Services, will show how to build a serverless website that scales automatically using services like AWS Lambda, Amazon API Gateway, and Amazon S3. We will review several frameworks that can help you build serverle...
Everyone wants to use containers, but monitoring containers is hard. New ephemeral architecture introduces new challenges in how monitoring tools need to monitor and visualize containers, so your team can make sense of everything. In his session at @DevOpsSummit, David Gildeh, co-founder and CEO of Outlyer, will go through the challenges and show there is light at the end of the tunnel if you use the right tools and understand what you need to be monitoring to successfully use containers in your...
In today's enterprise, digital transformation represents organizational change even more so than technology change, as customer preferences and behavior drive end-to-end transformation across lines of business as well as IT. To capitalize on the ubiquitous disruption driving this transformation, companies must be able to innovate at an increasingly rapid pace. Traditional approaches for driving innovation are now woefully inadequate for keeping up with the breadth of disruption and change facing...
In his General Session at 16th Cloud Expo, David Shacochis, host of The Hybrid IT Files podcast and Vice President at CenturyLink, investigated three key trends of the “gigabit economy" though the story of a Fortune 500 communications company in transformation. Narrating how multi-modal hybrid IT, service automation, and agile delivery all intersect, he will cover the role of storytelling and empathy in achieving strategic alignment between the enterprise and its information technology.
Microservices are a very exciting architectural approach that many organizations are looking to as a way to accelerate innovation. Microservices promise to allow teams to move away from monolithic "ball of mud" systems, but the reality is that, in the vast majority of organizations, different projects and technologies will continue to be developed at different speeds. How to handle the dependencies between these disparate systems with different iteration cycles? Consider the "canoncial problem" ...
SYS-CON Events announced today that HTBase will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. HTBase (Gartner 2016 Cool Vendor) delivers a Composable IT infrastructure solution architected for agility and increased efficiency. It turns compute, storage, and fabric into fluid pools of resources that are easily composed and re-composed to meet each application’s needs. With HTBase, companies can quickly prov...
The rise of containers and microservices has skyrocketed the rate at which new applications are moved into production environments today. While developers have been deploying containers to speed up the development processes for some time, there still remain challenges with running microservices efficiently. Most existing IT monitoring tools don’t actually maintain visibility into the containers that make up microservices. As those container applications move into production, some IT operations t...
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
In recent years, containers have taken the world by storm. Companies of all sizes and industries have realized the massive benefits of containers, such as unprecedented mobility, higher hardware utilization, and increased flexibility and agility; however, many containers today are non-persistent. Containers without persistence miss out on many benefits, and in many cases simply pass the responsibility of persistence onto other infrastructure, adding additional complexity.
Culture is the most important ingredient of DevOps. The challenge for most organizations is defining and communicating a vision of beneficial DevOps culture for their organizations, and then facilitating the changes needed to achieve that. Often this comes down to an ability to provide true leadership. As a CIO, are your direct reports IT managers or are they IT leaders? The hard truth is that many IT managers have risen through the ranks based on their technical skills, not their leadership abi...
The essence of cloud computing is that all consumable IT resources are delivered as services. In his session at 15th Cloud Expo, Yung Chou, Technology Evangelist at Microsoft, demonstrated the concepts and implementations of two important cloud computing deliveries: Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). He discussed from business and technical viewpoints what exactly they are, why we care, how they are different and in what ways, and the strategies for IT to transi...
Thanks to Docker and the DevOps revolution, microservices have emerged as the new way to build and deploy applications — and there are plenty of great reasons to embrace the microservices trend. If you are going to adopt microservices, you also have to understand that microservice architectures have many moving parts. When it comes to incident management, this presents an important difference between microservices and monolithic architectures. More moving parts mean more complexity to monitor an...
As Enterprise business moves from Monoliths to Microservices, adoption and successful implementations of Microservices become more evident. The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Documenting hurdles and problems for the use of Microservices will help consultants, architects and specialists to avoid repeating the same mistakes and learn how and when to use (or not use) Microservices at the enterprise level. The circumstance w...