Welcome!

Microservices Expo Authors: Liz McMillan, Dalibor Siroky, Simon Hill, Stackify Blog, John Katrick

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
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in order to enable customers to go all the way from planning to development to testing down to release into the operations," explained Aruna Ravichandran, Vice President of Global Marketing and Strategy at CA Technologies, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
The nature of test environments is inherently temporary—you set up an environment, run through an automated test suite, and then tear down the environment. If you can reduce the cycle time for this process down to hours or minutes, then you may be able to cut your test environment budgets considerably. The impact of cloud adoption on test environments is a valuable advancement in both cost savings and agility. The on-demand model takes advantage of public cloud APIs requiring only payment for t...
Cavirin Systems has just announced C2, a SaaS offering designed to bring continuous security assessment and remediation to hybrid environments, containers, and data centers. Cavirin C2 is deployed within Amazon Web Services (AWS) and features a flexible licensing model for easy scalability and clear pay-as-you-go pricing. Although native to AWS, it also supports assessment and remediation of virtual or container instances within Microsoft Azure, Google Cloud Platform (GCP), or on-premise. By dr...
Let's do a visualization exercise. Imagine it's December 31, 2018, and you're ringing in the New Year with your friends and family. You think back on everything that you accomplished in the last year: your company's revenue is through the roof thanks to the success of your product, and you were promoted to Lead Developer. 2019 is poised to be an even bigger year for your company because you have the tools and insight to scale as quickly as demand requires. You're a happy human, and it's not just...
"Opsani helps the enterprise adopt containers, help them move their infrastructure into this modern world of DevOps, accelerate the delivery of new features into production, and really get them going on the container path," explained Ross Schibler, CEO of Opsani, and Peter Nickolov, CTO of Opsani, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Many enterprise and government IT organizations are realizing the benefits of cloud computing by extending IT delivery and management processes across private and public cloud services. But they are often challenged with balancing the need for centralized cloud governance without stifling user-driven innovation. This strategy requires an approach that fundamentally reshapes how IT is delivered today, shifting the focus from infrastructure to services aggregation, and mixing and matching the bes...
identify the sources of event storms and performance anomalies will require automated, real-time root-cause analysis. I think Enterprise Management Associates said it well: “The data and metrics collected at instrumentation points across the application ecosystem are essential to performance monitoring and root cause analysis. However, analytics capable of transforming data and metrics into an application-focused report or dashboards are what separates actual application monitoring from relat...
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native applications. However, sharing a Kubernetes cluster between members of the same team can be challenging. And, sharing clusters across multiple teams is even harder. Kubernetes offers several constructs to help implement segmentation and isolation. However, these primitives can be complex to understand and apply. As a result, it’s becoming common for enterprises to end up with several clusters. Thi...
The benefits of automation are well documented; it increases productivity, cuts cost and minimizes errors. It eliminates repetitive manual tasks, freeing us up to be more innovative. By that logic, surely, we should automate everything possible, right? So, is attempting to automate everything a sensible - even feasible - goal? In a word: no. Consider this your short guide as to what to automate and what not to automate.
DevOps teams have more on their plate than ever. As infrastructure needs grow, so does the time required to ensure that everything's running smoothly. This makes automation crucial - especially in the server and network monitoring world. Server monitoring tools can save teams time by automating server management and providing real-time performance updates. As budgets reset for the New Year, there is no better time to implement a new server monitoring tool (or re-evaluate your current solution)....
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
We just came off of a review of a product that handles both containers and virtual machines in the same interface. Under the covers, implementation of containers defaults to LXC, though recently Docker support was added. When reading online, or searching for information, increasingly we see “Container Management” products listed as competitors to Docker, when in reality things like Rocket, LXC/LXD, and Virtualization are Dockers competitors. After doing some looking around, we have decided tha...
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, discussed how by using ne...
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
The cloud revolution in enterprises has very clearly crossed the phase of proof-of-concepts into a truly mainstream adoption. One of most popular enterprise-wide initiatives currently going on are “cloud migration” programs of some kind or another. Finding business value for these programs is not hard to fathom – they include hyperelasticity in infrastructure consumption, subscription based models, and agility derived from rapid speed of deployment of applications. These factors will continue to...
While we understand Agile as a means to accelerate innovation, manage uncertainty and cope with ambiguity, many are inclined to think that it conflicts with the objectives of traditional engineering projects, such as building a highway, skyscraper or power plant. These are plan-driven and predictive projects that seek to avoid any uncertainty. This type of thinking, however, is short-sighted. Agile approaches are valuable in controlling uncertainty because they constrain the complexity that ste...
Digital transformation has changed the way users interact with the world, and the traditional healthcare experience no longer meets rising consumer expectations. Enterprise Health Clouds (EHCs) are designed to easily and securely deliver the smart and engaging digital health experience that patients expect today, while ensuring the compliance and data integration that care providers require. Jikku Venkat
"This all sounds great. But it's just not realistic." This is what a group of five senior IT executives told me during a workshop I held not long ago. We were working through an exercise on the organizational characteristics necessary to successfully execute a digital transformation, and the group was doing their ‘readout.' The executives loved everything we discussed and agreed that if such an environment existed, it would make transformation much easier. They just didn't believe it was reali...
"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mission is to make an ecosystem of the SW environment that anyone can understand, learn, teach, and develop the SW on the cloud," explained Sung Tae Ryu, CEO of Codigm, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"We're developing a software that is based on the cloud environment and we are providing those services to corporations and the general public," explained Seungmin Kim, CEO/CTO of SM Systems Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.