background preloader

AGILE

Facebook Twitter

Java Is A Dead-End For Enterprise App Development. Before Java was invented, one of the key industry trends was to increase the productivity of both developers and end users.

Java Is A Dead-End For Enterprise App Development

For example, fourth-generation programming languages (4GL) such as Powerbuilder, Progress, and Uniface provided professional developers with faster ways to develop business applications than using COBOL, Pascal, C, or C++. For end users, tools such as Dbase, Lotus Notes, and Visicalc provided them with the unprecedented ability to create mini-apps without the need for professional developers. In the early '90s, this productivity trend was thrown into a tizzy by the Internet. Now, software vendors and enterprise application developers had to rush to write a whole new generation of applications for the Web or risk becoming irrelevant. The Internet forced developer productivity and 4GL’s to take the back seat. Java Was At The Right Place At The Right Time For Web Applications Fast-Forward 20 Years Java Has Served Its Purpose, But Now It Is Time To Move Forward.

Agile software development. Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing,[1] cross-functional teams.

Agile software development

It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.[2] Agile itself has never defined any specific methods to achieve this, but many have grown up as a result and have been recognized as being 'Agile'. The Manifesto for Agile Software Development,[3] also known as the Agile Manifesto, was first proclaimed in 2001, after "agile methodology" was originally introduced in the late 1980s and early 1990s. The manifesto came out of the DSDM Consortium in 1994, although its roots go back to the mid 1980s at DuPont and texts by James Martin[4] and James Kerr et al.[5] History[edit]

Extreme programming. EXtreme Programming (ook wel XP genoemd) is een vorm van agile-software-ontwikkeling, een softwareontwikkelingsmethodiek.

Extreme programming

Geschiedenis[bewerken] De belangrijkste grondleggers van eXtreme Programming zijn Kent Beck, Ken Auer, Ward Cunningham, Martin Fowler en Ron Jeffries. Zij ontwikkelden XP tijdens het Chrysler Comprehensive Compensation System (C3) project in 1996. Refactoren. Refactoren (Engels: refactoring) is het herstructureren van de broncode van een computerprogramma met als doel de leesbaarheid en onderhoudbaarheid te verbeteren of het stuk code te vereenvoudigen.

Refactoren

Het refactoren van broncode verandert de werking van de software niet: elke refactorstap is een kleine, ongedaan te maken stap die de leesbaarheid verhoogt zonder de werking aan te passen. Unittesten. Doelstelling[bewerken] Het doel van unittesten is om functionele units onafhankelijk van elkaar te kunnen testen op correcte werking.

Unittesten

Deze gedachte vloeit voort uit modulaire softwareontwikkeling. Rapid application development. Rapid Application Development (RAD) Model Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping.

Rapid application development

The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. Iterative and incremental development. Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for development.

Iterative and incremental development

The combination is of long standing [1] and has been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167[2] mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time. " and "This process may be described as an 'evolutionary acquisition' or 'incremental build' approach. " The relationship between iterations and increments is determined by the overall software development methodology and software development process.

The exact number and nature of the particular incremental builds and what is iterated will be specific to each individual development effort. An iterative development model It follows a similar process to the plan-do-check-act cycle of business process improvement. Dynamic systems development method. Model of the DSDM Atern project management method.

Dynamic systems development method

Dynamic systems development method (DSDM) is an agile project delivery framework, primarily used as a software development method. First released in 1994, DSDM originally sought to provide some discipline to the rapid application development (RAD) method. In 2007 DSDM became a generic approach to project management and solution delivery. DSDM is an iterative and incremental approach that embraces principles of Agile development, including continuous user/customer involvement. DSDM fixes cost, quality and time at the outset and uses the MoSCoW prioritisation of scope into musts, shoulds, coulds and won't haves to adjust the project deliverable to meet the stated time constraint. The most recent version of DSDM, launched in 2007, is called DSDM Atern.

FUNCTIONAL SPECIFICATIONS

Agile Software Is A Cop-Out; Here’s What’s Next. Never has a new trend annoyed me as much as Agile.

Agile Software Is A Cop-Out; Here’s What’s Next

Right from the get-go, the Agile Manifesto revealed the weaknesses and immaturity of the founding principles. The two most disturbing: “Working software is the primary measure of progress” and “Business people and developers must work together daily throughout the project.” These are cop-outs because: Using “working software as the measure of progress” is narcissistic. Rush to write code is oft the translation of this misguided principle. Yikes. A New Thesis For A Better Approach To Software DevelopmentFor the future of application development to be insanely great user experiences, we need a new software development methodology. Parallel. The parallel, immersive software studio is different from other methodologies in five important ways: Software is not code.

This post about parallel, immersive software studio (STUDIO) can’t compete with the 1,813 books about Agile Software on Amazon.com right now. Recommended reading: Top 10 Agile Gotcha's and How to Recover.