Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Top 5 reasons why Agile Testing Governance is needed

Categories

Tags agile programming web-development learning

This podcast from Cignity is all about Agile testing and why it is important for Agile not function as a set of principles that operate independently once they are set into motion. It is a process that needs holistic environment management, and the reasons could be quite compelling to know.

There is no doubt that Software Development is getting complex and agile approach enables transparency and better opportunities to track and check the test records. Governance or holistic management of the Agile environment is needed to keep the teams intact despite any number of changes.

The article dives into:

  • How to ensure collaboration between co-located teams
  • Keeping track of the strategy
  • Establishing a Unified Team model
  • Ensuring Continuous Automation for Continuous Delivery
  • Deriving Value from the process

Agile Governance bridges the gap between Management and IT to foster creativity and innovation in software development. Learn more in this excellent article!

[Read More]

UX Personas -- What's the point?

Categories

Tags UX programming web-development how-to

Dan Nessler wrote this article focusing on design process and personas. Recently professionals have argued, that personas don’t create any real value in the design process and that they are bound to fail.

People often confuse marketing with UX personas. Personas serve as the backbone for the story we tell about our product.

Personas get created but don’t get any stakeholder buy-ins, are not well communicated or not used at all. People often confuse marketing with UX personas. UX personas focus on the behavioural and emotional side by revealing (often via. qualitative research) struggles and joys, how people do what they do and what purpose they pursue (why) when acting in a certain way.

The article then discusses:

  • Definition of a persona
  • Goals and personas in the design process
  • Persona framework

Every story needs a hero. Thus, and in most cases, there is a real human being you and your product would like to create value for. Good read!

[Read More]

Agile is not enough

Categories

Tags agile programming web-development

The interesting piece from pens of Will Poindexter and Steve Berez about addressing architectural rigidity, closing talent gaps, and adopting a product mindset in order to realize Agile’s power. Agility is critical for companies trying to keep up with customer expectations and emerging business trends.

In most companies, the applications that engage with customers and run the business were developed before modern architectural approaches took root.

To have a truly effective digital organization, companies have to fix the speed bumps that slow down the rapid progress of agile software development. Three impediments in particular work against agile in most organizations:

  • Rigid architecture
  • Poor talent management, and
  • Lack of a product mindset

In most cases, it is unrealistic to re-architect all of the systems to fit modern integration standards using APIs and microservices. Instead, most organizations take one of four common approaches:

  • Do nothing
  • Wrap and trap
  • Re-architect or refactor
  • Replace

Some great advice here. Read full article please!

[Read More]

Replicating success of REST in Event-Driven Architecture

Categories

Tags devops web-development cloud distributed

Fran Méndez is author of this piece about Event Driven Architecture (EDA). He explores similarities between Representational State Transfer) (REST) and EDA. It worth noting that REST APIs are still the dominant application integration paradigm today.

REST’s popularity arose out of the need for data exchange and interactions between the web browser and backend services. In that context it became a de facto standard because it integrated so well with JavaScript and was so much easier than Simple Object Access Protocol (SOAP).

The article then examines how:

  • Event Driven is following in REST’s footsteps
  • Foundational Components, including
    • Event brokers
    • Development frameworks
    • Security
  • Enablement Tooling, including
    • Event management
    • Runtime event discovery
    • API description specification
    • Code generation tools

EDA’s popularity has started to drastically increase as many companies are realizing they MUST react in real-time to their customers, decouple their systems and transform into event-driven organizations. Learn to know more!

[Read More]

COBOL and the enterprise business programming paradigm

Categories

Tags programming miscellaneous oop performance servers

COBOL is nearly 60 years old. Jonathan Sayles examines how COBOL is still used today and it is not going anywhere soon. Besides that “As many as 75% of all rewrite projects have resulted in failure” and with the redoubtable Reuters reported that when Commonwealth Bank of Australia replaced its core COBOL platform in 2012, it took five years – and cost $749.9 million.

Enterprise Business Applications are large, very large and very, very large. As an example a large American car manufacturer runs 50,000 batch jobs each night. Each job consists of between 5 and 20 steps. Most steps execute a composite load module consisting of 2 to 200 COBOL programs.

COBOL addresses the reality of business application development. COBOL is an English, readable, self-documenting programming language. Maintenance and production support-related tasks benefit, particularly when assigned to developers who were not the original application authors.

Main features and qualities of the COBOL:

  • Self-documenting
  • Tractable
  • Simple
  • Lifecycle-Agnostic
  • Nonproprietary
  • Efficient
  • Scalable
  • Universal
  • Complete
  • Mature

COBOL is all about long-term, enterprise computing ROI. Find out more in this excellent article!

[Read More]

How Binary Search Algorithm works -- Java example without recursion

Categories

Tags programming java jvm

This older article on java67.com explores and explains binary search algorithm. The binary search algorithm is one of the fundamental Computer Science Algorithms and used to search an element in a sorted input set.

It’s much faster than the linear search which scans each and every element and improves performance from O(n) to O(logN) for searching an element in the array

In order to perform the binary search, you need a sorted array. In this article, we will write a Java program which will take input from the user, both array and the number to be searched and then perform a binary search to find that number in a given array.

In a binary search algorithm, you first find the middle element of the array and compare that with the number you are searching. Several important data structures like binary search tree and binary heap are based upon the binary search algorithm.

Binary search works on the principle of divide and conquer. In this technique, a solution is found by dividing the input on some smaller set using some rules.

For the solution in Java follow the link to original article. Well worth your time!

[Read More]

Building stateful apps with serverless functions and Postgres

Categories

Tags database microservices nosql servers distributed apis

Tirumarai Selvan, Product Lead at Hasura, published this guide which explores the different ways to deal with application state when writing business logic in serverless functions. Author uses Postgres as the database when talking about these different approaches, and often use Hasura as one of the glue solutions between your serverless functions and your Postgres database.

Serverless platforms do not allow the developer to write code that holds any long-term state.

The article discusses dfour apporaches, which can be carried forward to your favourite database solution:

  • Approach #1: Connect to Postgres directly from your serverless function
  • Approach #2: Use BaaS APIs from your serverless function
  • Approach #3: Trigger serverless functions on Postgres events with rich event payloads
  • Approach #4: Combine approaches above and use Postgres to orchestrate a workflow with the serverless functions driving state transitions

You will also get UML diagrams explaining each approach. Using some of the patterns described here, developers can extract the most amount of value in writing business logic in serverless functions. Very interesting read!

[Read More]

Enriching event-driven architectures with AWS event fork pipelines

Categories

Tags aws software-architecture cloud devops

An article by Rachel Richardson and Otavio Ferreira about typical modern application architecture and how implement it using AWS tooling. Many customers are choosing to build event-driven applications in which subscriber services automatically perform work in response to events triggered by publisher services.

These customers often fork event processing into pipelines that address common event handling requirements, such as event storage, backup, search, analytics, or replay.

The article provides:

  • Surfacing the event fork pattern
  • Understanding the catalog of event fork pipelines
  • Event Search & Analytics pipeline
  • Event Replay pipeline
  • Applying event fork pipelines in a use case
  • Deploying event fork pipelines

Event Fork Pipelines is a serverless design pattern and a suite of open-source nested serverless applications, based on AWS SAM. You can deploy it directly from AWS Serverless Application Repository to enrich your event-driven system architecture.

One of the examples is ecommerce application takes orders from buyers through a RESTful API hosted by Amazon API Gateway and backed by a Lambda function. Really good!

[Read More]

Why isn't your current approach to scaling Agile working?

Categories

Tags programming miscellaneous agile software

This lengthy article from the pens of Cesario Ramos and Kurt Bittner adresses the trouble many companies face when trying to sclae their agility. Even organizations who have agile success in isolated pockets have trouble scaling that agility to the broader organization. The challenges express themselves in familiar patterns.

You can’t scale agility by copying others. You have to learn for yourself what process, structure and policies work in your specific context.

The similarities they describe:

  • Your copy of another organization’s model doesn’t work
  • Your organization’s design conflicts with the goal of agility
  • You are trying to “copy and paste” what works for one team to all teams
  • You are independently optimizing different parts of the organization
  • You are under-invested in agile engineering practices

They then dive in differences between different scaling frameworks reflect deep philosophical differences on the primary challenges in scaling agility. They comapre SAFe, LeSS, and Nexus.

To learn about conclusion follow the link to original article. Nice one!

[Read More]

10 principles for modernizing your company's technology

Categories

Tags programming miscellaneous how-to

This article by Leon Cooper and Milan Vyas contains useful advice how to modernize technology in your company. Today’s technology platforms are not just new versions of legacy systems. They allow you to design a completely new digital enterprise.

The life cycle of information technology is becoming shorter every year. New competitors are disrupting industries by leveraging state-of-the-moment digital practices and processes.

Authors distilled 10 principles that are common to successful efforts:

  • Put customer value first
  • Simplify your architecture
  • Design for flexibility and speed
  • Engage with your workforce and culture
  • Adopt a services mind-set

A modern approach treats technology as a set of services that a company can consume and integrate as needed, without necessarily owning the systems at all. Read to learn the second half of principles and get detailed information on each of them. Simple and effective!

[Read More]