Skip navigation
Header 1Header 2
Agile_Defined.pngLeader-growing-different-culture-in-org-hierarcy.jpg
10-things-executives-need-to-know-about-agile-6-638.jpgSpotify.jpg

1st generation enables teams to self-organize - XP, Scrum and Kanban

2nd generation scales Agile for traditional organizations - LeSS, Nexus, SAFe and DAD

3rd generation refactors to Agile Organization - Spotify, Holacracy and XSCALEradarScrum.png

AgileRadar.jpg

Xtreme Decoupled Engineering (XDE) is the simplest product development framework which supports empiricism with the fastest feedback cycle to decouple every aspect of implementation with a single Definition of Done (DoD). It incorporates operations' responsibility in the Definition of Done, giving explicit support to Developer in Operations (DevOps) culture which is often called as "Agile" done right.

XDE is heavily focused on the crucial balance between delivering working software while continually training and improving individuals to build a shared understanding of the big picture. It is easy to learn and easy to master, provided we understand what agility stands for. Be it dual tracking (Discovery and Delivery phases) or pure end to end product development, it simplifies the process of continuous delivery.

 

XDE establish support for -

  1. Agile mindset
  2. DevOps mindset
  3. Lean mindset
  4. Lean Startup mindset
  5. Teal Organisations
  6. Microservices. SOA aka Modular approaches
  7. Continuous Integration, Delivery & Deploy
  8. Increasing "Hit by a Truck" value
  9. Specialised roles with T-skills
  10. Dual Tracking - Balance of product Discovery and Delivery
  11. Controlling Technical Debt
  12. Sustainable Pace
squadstribes_12.png
xscale-structures.png

It include all latest trend and practices in Agile, DevOps and Lean, like- Scrum, XP, Scrum-XP, Lean, Scale/Safe Agile & more lot more Hybrid Models.

 

All can be put together to create great difference.

 

Design Thinking-> To ensure working on the RIGHT thing

 

Agile-> Focus on people and process to ensure get the right things RIGHT

 

DevOps -> Mostly tools automation and pipe-lining to make it FAST

 

Lean -> Continuous Improvement, Eliminate Waste, Value from Customer's Eye, empower employees, make value flow at the pull of the customer.

TDD.jpgAgile-features.jpg

 

Header 1Header 2Header 3
https://xebialabs.com/glossary/
Header 1Header 2

DevOpsImpComponents.jpgDevOps.jpg

Culture.png

The product owner.jpg

 

DevOpsCommonPractice.jpg

 

AgileDevOps.jpg

Better is Together.png

LeanAgile.pngLeanAgilePrinciples.png
AgilevsLean.pngBenefit-of-Practices-vs-Culture.png

 

ATP.png

 

 

 

Agile ManifestoAgile Concepts
AgileManifesto.jpg

Agile

Best for any

     Development,

     Support,

     RnD,

     Maintenance Activity,

 

Agile- Theory of Constraints + XP Principles and Values

AgileTOC-XP-.jpg

Scrum Values.png5s-explanation-Agile.jpeg

agile-attempts-to-break-the-silos.pngagg.png

agg.pngft3_en.png

12PrinciplesAgile.jpeg

ds.png

Agile-req.jpg

 

ScrumStateDiagram.jpg

sr-sr.jpg

shipIt.jpg

 

cr.pngsp.png

Scrum.jpg

Sroles.jpg

AgileInANutShell.jpeg

[After practicing and becoming comfortable in basic scrum, we should start incorporating XP practices in Scrum]

 

It talks more about Engineering practices like Collective Code Ownership, Feedback loop, Design Principles- SOLID/ KISS, Design Patterns, Emergent Architecture, Cyclometric Complexity metric, other matrices, Continuous
learning, TDD, ATDD, Code Coverage, Refactoring Code, Clean Code, Code Refactoring, CI, CD , RCA, Shared Code, Informative workplace, Incremental design, Code Reuse, Coding Standards, Knowledge Management, Pair/ Mob Programming, Spikes, Evolutionary Arch Design, Small Release, Continuous Improvements, and more. Please refer http://www.extremeprogramming.org/rules.html to get more info. Feel free to ask us what can be minimum stuff you can start practicing out of the superset.

 

---> Back to Basics of XP:-
>Activities
Coding, Testing, Listening, Designing, Artifacts

 

>Acceptance tests
Code, Iteration plan, Release and iteration plans, Stories, Story cards, Statistics about the number of tests, stories per iteration, etc.
Unit tests, Working code every iteration

 

>12 Practices
Here’s the 12 XP practices:

 

Coding Standards, Collective Ownership, Continuous Integration, On-Site Customer, Pair Programming, Planning Game, Refactoring, Short Releases, Simple Design, Sustainable Pace, System Metaphor, Test-Driven Development

 

>5 Values (Extreme Programming Explained)
Communication, Courage, Feedback, Respect, Simplicity, Phases

 

>The following are phases of an XP project life cycle.
Exploration Phase, Planning Phase, Iteration to Release Phase, Productionizing Phase, Maintenance Phase

 

---What should we do in Retro?

Retrospective Points for Sprint X( Names What went Bad? What went well? Keep doing? Start doing? Stop doing?)

Automation

It is very important now a days in any practice.It is Process agnostic.

DevOps

Automated Infrastructure Management

 

 

New Trends:

DevOpsSec; IaaC;

Read DevOpsSec book http://www.oreilly.com/webops-perf/free/devopssec.csp which is corrected trend after DevOps.

How Agile and DevOps are related

 

The AgileLandscapeV3.jpg

TOOLS:

Artifactory

JFrog

Source Control/Repository

 

 

Bitbucket (or Bitbucket Server aka Stash)

Atlassian

Code Quality or Reviews, Source Control/Repository

 

 

FishEye

Atlassian

Source Control/Repository

 

 

Git

open source

Source Control/Repository

 

 

GitHub

GitHub, Inc.

Source Control/Repository

 

 

Nexus

Sonatype

Source Control/Repository

 

 

SourceTree

Atlassian

Source Control/Repository

 

 

Subversion (SVN)

CollabNet (open source)

Source Control/Repository

 

 

Team Foundation Server (TFS)

Microsoft

Activity Tracking, Builds or Dependency Mgmt, Source Control/Repository

 

powershell

Chocolety

npm

yum

 

 

ElasticSearch

Kibana

Logstash

Splunk

 

 

Atom

Eclipse

Geppeto

JDK

MyEclipse

NetBeans

Notepad++

Pycham

SQL Developer

Sublime Text

UltraEdit

Visual Studio

Visual Studio Code(VSCode)

 

 

AQL- Advance Query Tool

ERWin

RedGate DLM

Toad

 

 

Bamboo

Jenkins

Octopus Deploy

TeamCity

 

 

 

 

BitBucket

Crusible

FindBugs

Gerrit

JUnit

NDepend

ReSharper

Selenium

SonarQube https://dzone.com/articles/why-sonarqube-1

https://matthiasgeiger.wordpress.com/2014/02/19/sonarqube-what-is-it-how-to-get-started-why-do-i-use-it/

https://docs.sonarqube.org/display/SONAR/Documentation/

 

 

Ant

Gradle

Ivy

Maven

TFS

 

 

HipChat

Jira

Slack

 

 

Oracle VirtualBox,VM

Vagrant

 

 

CD CD

https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff

https://devops.com/continuous-delivery-versus-continuous-deploy/

 

 

 

<I will update/ evolve it in best way and  best content soon. Thanks for bearing with me. Kindly revisit>

Read DevOpsSec book http://www.oreilly.com/webops-perf/free/devopssec.csp which is corrected trend after DevOps.

 

 

Still confused about Scrum; refer it in simple way- https://www.scrumalliance.org/why-scrum   Empirical process control in Scrum project| SCRUMstudy

Xtreme Decoupled Engineering (XDE) is the simplest product development framework which supports empiricism with the fastest feedback cycle to decouple every aspect of implementation with a single Definition of Done (DoD). It incorporates operations' responsibility in the Definition of Done, giving explicit support to Developer in Operations (DevOps) culture which is often called as "Agile" done right.

XDE is heavily focused on the crucial balance between delivering working software while continually training and improving individuals to build a shared understanding of the big picture. It is easy to learn and easy to master, provided we understand what agility stands for. Be it dual tracking (Discovery and Delivery phases) or pure end to end product development, it simplifies the process of continuous delivery.

 

XDE establish support for -

  1. Agile mindset
  2. DevOps mindset
  3. Lean mindset
  4. Lean Startup mindset
  5. Teal Organisations
  6. Microservices. SOA aka Modular approaches
  7. Continuous Integration, Delivery & Deploy
  8. Increasing "Hit by a Truck" value
  9. Specialised roles with T-skills
  10. Dual Tracking - Balance of product Discovery and Delivery
  11. Controlling Technical Debt
  12. Sustainable Pace

 

Maturity.jpg

Section 1: Revising old, and what can be next

Section 2: Why/ What/ How- New one is better?- Java 9 is awesome!

1. What we know from Java 8?<potentially- Interview Questions>

 

JDK 8 was about

     Lambdas,

     Functional programming.

 

2. What  can be introduced in  Java 10?<potentially- Interview Questions>

 

Refer JDK 10 for getting tunes to  what will come.

However from may sources following are confirmed for now:-

enhance lambda functionality,

including better disambiguation,

use of the underscore for unused parameters,

and shadowing of outer variables

Schedule

 

2016/05/26    Feature Complete
2016/12/22    Feature Extension Complete
2017/01/05    Rampdown Start
2017/02/09    All Tests Run
2017/02/16    Zero Bug Bounce
2017/03/16    Rampdown Phase Two
2017/06/22    Initial Release Candidate
2017/07/06    Final Release Candidate
2017/09/21    General Availability

 

1. What we know from Java 9 and why should we be motivated for Java 9?<potentially- Interview Questions>

While much of this may not mean a great deal to a business owner, the new features of Java 9 have lots of meaning for developers, as they look at what’s new. Here is an overview of four of the most important.

 

    Jshell: This is a new command line tool. It means that if a developer wants to run just a few lines of Java as a standalone, it can be done without having to wrap it all in a separate method or project.

    Microbenchmarks: Now, the performance of very specific and small pieces of code can be measured with a standardized method. The Java harness (JMH) for analyzing down to nanoseconds is unique to Java 9.

   Full Support for HTTP 2.0 Client: This is a speed thing, and HTTP 2.0 Client has shown to provide greater speed, ranging from 11.81% to 47.7% over HTTP 1.1 Client.

    Process API: An API (application programming interface) allows app’s processes communicate with each other without using native code. This update in Java 9 will extend the ability of Java in controlling and managing OS processes.

    Modular Source Code: Organizes JDK source code into modules.

 

The Jshell Command Line Tool

 

As mentioned above, this is an interactive tool that will allow testing of small snippets of code rather than requiring the creation of a new class. This new shell also comes with history and auto-completion features as well as other functionalities, like saving and loading some or all written statements.

 

Multi-Resolution Image

 

This API will allow the encapsulation of a set of images that all have different resolutions into a single object. Thus, a developer can retrieve an image that is resolution-specific or retrieve all variants within the image.

 

Unified JVM Logging

 

Now there is a common logging system for all JVM components. However, if we look at pros and cons of Java 9, here is one. It doesn’t add logging calls from all JVM components and doesn’t add logging to Java code in the Java Development Kit.

 

Publish-Subscribe Framework

 

This is an improvement over Java 8, as these interfaces will better support the interoperability of a number of asynchronous systems that run on JVM’s (Java Virtual Machines). The idea behind JVM’s is that they allow any computer to run a Java program, by converting Java code into machine language and then executing it. Improvements in this area are one of the big advantages of Java 9.

 

 

For Biz:-

 

Greater speed of development, specifically due to the system of modules which are reusable and much easier to debug and to manage.
One more benefit of the system of modules is that it will improve the resource effectiveness of applications (small or big ones) as for their development programmers will need to take only needed modules instead of all JRE.
Creation of sets using a single rather than several lines of code.
Microbenchmarks that will allow performance analysis of very small pieces of code.
Support for HTTP 2.0 Client – greater speed.

More:

The JDK 9 page lists nearly ninety features, including the following subset listed here:

 

    Modularity

        200: The Modular JDK (Jigsaw/JSR 376 and JEP 261)

        201: Modular Source Code

        220: Modular Run-Time Images

        238: Multi-Release JAR Files

        259: Stack-Walking API

        261: Module System

        275: Modular Java Application Packaging

        282: jlink: The Java Linker

    Developer Convenience

        193: Variable Handles

        213: Milling Project Coin

        222: jshell: The Java Shell (Read-Eval-Print Loop)

        266: More Concurrency Updates

        269: Convenience Factory Methods for Collections

        277: Enhanced Deprecation

        285: Spin-Wait Hints

    Strings

        250: Store Interned Strings in CDS Archives

        280: Indify String Concatenation

    Diagnostics

        228: Add More Diagnostic Commands

        240: Remove the JVM TI hprof Agent

        241: Remove the jhat Tool

    JVM Options

        214: Remove GC Combinations Deprecated in JDK 8

        245: Validate JVM Command-Line Flag Arguments

        248: Make G1 the Default Garbage Collector

    Logging

        158: Unified JVM Logging

        264: Platform Logging API and Service

        271: Unified GC Logging

    Javadoc

        224: HTML5 Javadoc

        225: Javadoc Search

        254: Compact Strings

    JavaScript/HTTP

        110: HTTP 2 Client (and begin replacing "the legacy HttpURLConnection API")

        236: Parser API for Nashorn

        289: Deprecate the Applet API

        292: Implement Selected ECMAScript 6 Features in Nashorn

    Native Platform

        102: Process API Updates ("Improve the API for controlling and managing operating-system processes.")

        272: Platform-Specific Desktop Features

    JavaFX

        253: Prepare JavaFX UI Controls & CSS APIs for Modularization

        257: Update JavaFX/Media to Newer Version of GStreamer

    Images

        251: Multi-Resolution Images

        262: TIFF Image I/O

    Unicode

        227: Unicode 7.0

        267: Unicode 8.0

    Miscellaneous

        219: Datagram Transport Layer Security (DTLS)

        256: BeanInfo Annotations

        260: Encapsulate Most Internal APIs

        274: Enhanced Method Handles

        295: Ahead-of-Time Compilation

 

 

Apart from power and best features of Java 8, 7, 6, 5. I am sure many of us must have realized.

JDK 9 is also about,

  1. Third party
    1. Spring 5 is getting written on JDK 9
  2. Transitive
  3. Modular Source Code(JDK into modules),
  4. Lightweight JSON API(Best option for JSON processing),
  5. Process API updates(OS Process),
  6. Segmented Code Cache(3 segments- Short duration cache, Long duration, Infinitely long duration) .
  7. Money and Currency API
  8. And More:
    1. Improved Contended Locking
    2. Smart Java Compilation – Phase Two
    3. [Expected] HTTP 2 Client
    4. [Expected] REPL in Java
    5. Unified JVM Logging
    6. Compiler Control
    7. Datagram Transport Layer Security (DTLS)
    8. HTML5 Javadoc
    9. Elide Deprecation Warnings on Import Statements
    10. Resolve Lint and Doclint Warnings
    11. Milling Project Coin
    12. Remove GC Combinations Deprecated in JDK 8
    13. Process Import Statements Correctly

 

2. Are we convinced, why we should learn this great programming language?

     Yes

          Then visit JDK 9 from https://jdk9.java.net/  and stay connected to JDK 9 status updates.

 

 

3. Now can we try getting our hand dirty, enjoy your level, So, write 10 programs utilizing Java 9?

Level 1

<64 bit-windows>

STEP1. Download latest eclipse from Eclipse Oxygen M5 Packages | Packages  (Why Eclipse Oxygen M5 , answer is https://www.eclipse.org/eclipse/news/4.7/M5/ ) or Netbeans 8.2 from https://netbeans.org/downloads/

STEP2. Download JDK 1.9 and Java docs from https://jdk9.java.net/download/

STEP3. Configure Eclipse, and JDK.

STEP4. Write hello world program and more.

 

 

https://github.com/pksingh99

 

Level 2

https://github.com/pksingh99

 

Level 3

https://github.com/pksingh99

Level 4

https://github.com/pksingh99

Level 5

https://github.com/pksingh99

 

<I will update/ evolve it in best way and  best content soon. Thanks for bearing with me. Kindly revisit>