Welcome!

Microservices Expo Authors: LeanTaaS Blog, Derek Weeks, Don MacVittie, Karthick Viswanathan, Gopala Krishna Behara

Related Topics: Microservices Expo, Java IoT, Microsoft Cloud, Machine Learning

Microservices Expo: Blog Feed Post

A Brief History of the Agile Movement

Are you aware of how the agile movement happened?

1992 – Crystal Methods

Crystal was the starting point of the evolution of software development methodologies which ultimately resulted in what we know as agile movement. The honor of creating Crystal goes to Alistair Cockburn. The methodology was named “Crystal” only in 1997.

Crystal can be applied to teams of up to 6 or 8 co-located developers working on systems that are not life-critical. You can see the seeds of agile manifesto in Crystal because it focuses on – (1) Frequent delivery of usable code to users, (2) Reflective improvement and (3) Osmotic communication preferably by being co-located.

Here is a post by him on “Notes on the writing of the agile manifesto“.

He is a consulting fellow at Humans and Technology which he had founded. (See: His Biography page)

I could not locate him in LinkedIn.

1993 – Refactoring

Refactoring was coined by Bill Opdyke in a paper titled “Creating Abstract Superclasses by Refactoring”.This is how Wikipedia describes code refactoring:

Code refactoring is “disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior”, undertaken in order to improve some of the nonfunctional attributes of the software.

He is now the Architecture Lead at JPMorgan Chase. (Soure: LinkedIn profile)

1994 – Dynamic Systems Development Method

DSDM, unlike all the other items listed in this post, was created by a Consortium. The consortium was an association of vendors and experts in the field of software engineering. The objective was to “jointly developing and promoting an independent RAD framework” by combining their best practice experiences.

There isn’t any individual who can be credited with the creation of DSDM but Jennifer Stapleton, as one of the founder member of DSDM consortium was instrumental in the initial compilation of thoughts.

She is now a management consultant in UK. (See: LinkedIn profile)

Arie van Bennekum, one of the authors of the agile manifesto has been actively involved in DSDM and the DSDM Consortium since 1997.

DSDM focuses on the following 8 principles of (1) Focus on the business need, (2) Deliver on time, (3) Collaborate, (4) Never compromise quality, (5) Build incrementally from firm foundations, (6) Develop iteratively, (7) Communicate continuously and clearly and (9) Demonstrate control. Again, you can see the seeds of agile manifesto!

He is now a Senior Consultant, Programmanager, Project Manager, Facilitator, Trainer,  Coach, Mentor, Teacher etc. in Netherlands. (See: LinkedIn profile)

1995 – Scrum and Pair Development

Scrum

SCRUM was jointly created by Jeff Sutherland and Ken Schwaberwho presented a paper describing it at OOPSLA ’95 in Austin, Texas.

Jeff Sutherland is the CEO at Scrum, Inc. (Source: LinkedIn profile).

Ken Schwaber is a founder of Scrum.org. (Source: LinkedIn profile).

Mike Beedle has been one of the very early adopter on Scrum and has introduced Scrum to many organizations since the mid-90′s.

As you know Scrum has practically been the de facto standard for agile.

He is now the Founder and CEO at Enterprise Scrum. (See: LinkedIn profile)

Pair Development

Pair Development as a concept was simultaneously but independently written about by more than one person.

Jim Coplien published a paper titled “A Development Process Generative Pattern Language” which contained a pattern “Developing in Pairs”.

He is a Lean and Agile Software Development Coach in Denmark. (Source: LinkedIn profile)

Larry Constantine talked about “Dynamic Duos” in his book “Constantine on Peopleware” published in the same year. This concept went on to become an integral part of Extreme Programming.

Though lot of research has been conducted to show the effectiveness of pair programming, the concept or philosophy does not really reflect in the Agile Manifesto.

He is now a Novelist, and University Professor in USA, (Source: LinkedIn profile)

1997 – Feature Driven Development

Feature Driver Development was initially devised by Jeff De Luca.

The best practices of FDD are, (1) Domain Object Modeling, (2) Developing by Feature, (3) Individual Class (Code) Ownership, (4) Feature Teams, (5) Inspections, (6) Configuration Management, (7) Regular Builds and (8) Visibility of progress and results.

Interestingly, “Individual Class (Code) Ownership” goes against the concept joint code ownership which is considered a key practice today.

He is now the President at Nebulon. (Source: LinkedIn profile)

However, the FDD process was explained to the world through the publication of the book “Java Modeling in Color with UML: Enterprise Components and Process” which he coauthored with Peter Coad.

He had built and sold TogetherSoft to Borland. Currently he is into many things other than Agile! (See: petercoad.com)

He has a LinkedIn page but it is empty with no connection!

Jon Kern, one of the authors of the agile manifesto, had closely worked with both Jeff De Luca and Peter Coad and had helped shape the charter on FDD.

Here are his “Agile Manifesto Notes – Feb 2001, Snowbird, Utah“. These have been dug out and hosted by Jeff Sutherland.

He describer himself as Software Development Quarterback and is associated with multiple companies. (See: LinkedIn profile)

1999 – Many Things Happened

Adaptive Software Development

Jim Highsmith formalized the Concept of Adaptive System Development and published a book with the same name.

The idea grew out of his work on Rapid Application Development methodologies.He proposed a three phase lifecycle of – (1) Speculation, (2) Collaboration and (3) Learning.

He has also written the history or the story behind the formulation of agile manifesto.He is now an Executive Consultant at ThoughtWorks. (See: LinkedIn profile)

The Pragmatic Programmer

Andrew Hunt published the book The Pragmatic Programmer: From Journeyman to Master.

The book laid out characteristics of a pragmatic programmer as the one who is (1) Early adopter / fast adapter, (2) Inquisitive, (3) Critical thinker, (4) Realistic and (5) Jack-of-all-trades.

He describes himself as Pragmatic /\ndy — speaker, author, publisher! (See: LinkedIn profile)

The coauthor of the book was Dave Thomas.If you go through the detailed list of recommendation you will see its influence on the manifesto.

Here are his recollection of the what transpired in the meet in 2001 February – “Some Agile History“.

He describes himself as a Software Visionary! (See: LinkedIn profile)

Extreme Programming, User Stories, Release Planning and Continuous Integration

While Kent Beck was working at Chrysler he developed the concept of Extreme Programming. He published the method in 1999 as a book – Extreme Programming Explained.As a part of Extreme Programming, he also introduced the concept of User Stories and Release Planning.

The methodology specifies best practices for planning, managing, designing, coding and testing.

He is at Facebook and calls himself a Programmer!! (See: LinkedIn profile)

Apart from being a collaborator for the in XP, Ward Cunninghamis also as the creator of the Wiki.

Apart from being the Founder of Cunningham & Cunningham, he is also the CTO at CitizenGlobal. (See: LinkedIn profile)

Ron Jeffrieswas also the collaborator and three of them together are considered as the founder of XP.

His biography page states that he developing software longer than most people have been alive. (See: Biographical Notes).

I could not locate him in LinkedIn.

Though some people think that Martin Fowler introduced the term Continuous Integration in reality CI has also been coinedby Kent Beck.

Here is his recollection on the “Writing The Agile Manifesto“.

He calls himself an author and speaker and is working with Thoughtworks. (See: About Martin Fowler)

I could not locate him in LinkedIn.

2000 – Events leading up to the Manifesto

Bob Martintook the initiative to get the ball rolling on organizing the historic meeting to be held on February 2001 at “The Lodge” at Snowbird ski resort in the Wasatch Mountains of Utah.

He is the Owner of Uncle Bob Consulting. (See: LinkedIn profile)

2001 – Agile Manifesto

2001 February + ‘The Lodge’ at Snowbird Ski Resort + 17 Thinkers = Agile Manifesto

Kent Beck, Mike Beedle, Arie van BennekumAlistair CockburnWard CunninghamMartin Fowler, James GrenningJim HighsmithAndrew HuntRon Jeffries, Jon KernBrian Marick, Bob MartinStephen MellorKen SchwaberJeff Sutherland, and Dave Thomas

2002 – More Agile Concepts

Test Driven Development

For TDD the credit goes to Kent Beck. The concept of Test Driven Development also originated from XP test-first approach. It was given a shape later by Kent Beck through the book Test Driven Development: By Example.

Planning Poker

The concept of Planning Poker was formulated by James Grenning.

Here is the original paper.

He is the Founder of Renaissance Software Consulting. (Source: LinkedIn Profile)

What about Brian Marick and Stephen Mellor?

He is the Owner at Exampler Consulting and calls himself Software consultant, specializing in agile methods with a testing slant. (See: LinkedIn profile)
He calls himself a “Freeter”, a Japanese word, derived from English, that means “free agent.” (Source: His home page)He resides in Zimbabwe and here is his LinkedIn profile.

2003 – Lean Software Development

Is Lean Software Developmentan extension to agile methodology? Should we look at it as something distinct from agile? Should it find a place in this post? I have included it for the primary reason that many agilists consider it to be one of the future directions of agile movement.Anyway; term was coined by Mary Poppendieck and Tom Poppendieckin 2003.

It is an adaptation of lean manufacturing principles and practices to the software development. There are seven principles – (1) Eliminate waste, (2) Amplify learning, (3) Decide as late as possible, (4) Deliver as fast as possible, (5) Empower the team, (6) Build integrity in and (7) See the whole. Amplify learning, deliver as fast as possible, empower the team etc. goes very well with agile principles.

I am not so sure about eliminate waste and see the whole.

Read the original blog entry...

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
The notion of improving operational efficiency is conspicuously absent from the healthcare debate - neither Obamacare nor the newly proposed GOP plan discusses the impact that a step-function improvement in efficiency could have on access to healthcare (through more capacity), quality of healthcare services (through reduced wait times for patients) or cost (through better utilization of scarce, expensive assets).
Some people are directors, managers, and administrators. Others are disrupters. Eddie Webb (@edwardawebb) is an IT Disrupter for Software Development Platforms at Liberty Mutual and was a presenter at the 2016 All Day DevOps conference. His talk, Organically DevOps: Building Quality and Security into the Software Supply Chain at Liberty Mutual, looked at Liberty Mutual's transformation to Continuous Integration, Continuous Delivery, and DevOps. For a large, heavily regulated industry, this task...
Our work, both with clients and with tools, has lead us to wonder how it is that organizations are handling compliance issues in the cloud. The big cloud vendors offer compliance for their infrastructure, but the shared responsibility model requires that you take certain steps to meet compliance requirements. Which lead us to start poking around a little more. We wanted to get a picture of what was available, and how it was being used. There is a lot of fluidity in this space, as in all things c...
Gone are the days when application development was the daunting task of the highly skilled developers backed with strong IT skills, low code application development has democratized app development and empowered a new generation of citizen developers. There was a time when app development was in the domain of people with complex coding and technical skills. We called these people by various names like programmers, coders, techies, and they usually worked in a world oblivious of the everyday pri...
The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Microservices being modular these are faster to change and enables an evolutionary architecture where systems can change, as the business needs change. Microservices can scale elastically and by being service oriented can enable APIs natively. Microservices also reduce implementation and release cycle time and enables continuous delivery. This paper provides a logical overview of the Mi...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applications. This transformation also implies an evolution to more and more intelligent applications to better engage with the customers, while creating significant market differentiators. In both cases, the cloud has become a key enabler to embrace this digital revolution. So, moving to the cloud is no longer the question; the new questions are HOW and WHEN. To make this equation even more complex, most ...
Some journey to cloud on a mission, others, a deadline. Change management is useful when migrating to public, private or hybrid cloud environments in either case. For most, stakeholder engagement peaks during the planning and post migration phases of a project. Legacy engagements are fairly direct: projects follow a linear progression of activities (the “waterfall” approach) – change managers and application coders work from the same functional and technical requirements. Enablement and develo...
Admiral Calcote - also known as Lee Calcote (@lcalcote) or the Ginger Geek to his friends - gave a presentation entitled Characterizing and Contrasting Container Orchestrators at the 2016 All Day DevOps conference. Okay, he isn't really an admiral - nor does anyone call him that - but he used the title admiral to describe what container orchestrators do, relating it to an admiral directing a fleet of container ships. You could also say that they are like the conductor of an orchestra, directing...
The past few years have brought a sea change in the way applications are architected, developed, and consumed—increasing both the complexity of testing and the business impact of software failures. How can software testing professionals keep pace with modern application delivery, given the trends that impact both architectures (cloud, microservices, and APIs) and processes (DevOps, agile, and continuous delivery)? This is where continuous testing comes in. D
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an optimal end user experience over hybrid-cloud and multi-cloud environments, no matter what the current state of the infrastructure is. To employ a delivery automation strategy that reflects your business rules, making r...
Gaining visibility in today’s sprawling cloud infrastructure is complex and laborious, involving drilling down into tools offered by various cloud services providers. Enterprise IT organizations need smarter and effective tools at their disposal in order to address this pertinent problem. Gaining a 360 - degree view of the cloud costs requires collection and analysis of the cost data across all cloud infrastructures used inside an enterprise.
SYS-CON Events announced today that Synametrics Technologies will exhibit at SYS-CON's 22nd International Cloud Expo®, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Synametrics Technologies is a privately held company based in Plainsboro, New Jersey that has been providing solutions for the developer community since 1997. Based on the success of its initial product offerings such as WinSQL, Xeams, SynaMan and Syncrify, Synametrics continues to create and hone in...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex ...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
For DevOps teams, the concepts behind service-oriented architecture (SOA) are nothing new. A style of software design initially made popular in the 1990s, SOA was an alternative to a monolithic application; essentially a collection of coarse-grained components that communicated with each other. Communication would involve either simple data passing or two or more services coordinating some activity. SOA served as a valid approach to solving many architectural problems faced by businesses, as app...
Many IT organizations have come to learn that leveraging cloud infrastructure is not just unavoidable, it’s one of the most effective paths for IT organizations to become more responsive to business needs. Yet with the cloud comes new challenges, including minimizing downtime, decreasing the cost of operations, and preventing employee burnout to name a few. As companies migrate their processes and procedures to their new reality of a cloud-based infrastructure, an incident management solution...
Cloud Governance means many things to many people. Heck, just the word cloud means different things depending on who you are talking to. While definitions can vary, controlling access to cloud resources is invariably a central piece of any governance program. Enterprise cloud computing has transformed IT. Cloud computing decreases time-to-market, improves agility by allowing businesses to adapt quickly to changing market demands, and, ultimately, drives down costs.
Recent survey done across top 500 fortune companies shows almost 70% of the CIO have either heard about IAC from their infrastructure head or they are on their way to implement IAC. Yet if you look under the hood while some level of automation has been done, most of the infrastructure is still managed in much tradition/legacy way. So, what is Infrastructure as Code? how do you determine if your IT infrastructure is truly automated?
Every few years, a disruptive force comes along that prompts us to reframe our understanding of what something means, or how it works. For years, the notion of what a computer is and how you make one went pretty much unchallenged. Then virtualization came along, followed by cloud computing, and most recently containers. Suddenly the old rules no longer seemed to apply, or at least they didn’t always apply. These disruptors made us reconsider our IT worldview.