Software development techniques and Agile methodologies
Software development must be structured to help a team of developers agree on the processes for developing a particular software product. A software development methodology, such as waterfall development or Agile methodologies, will include standard steps for ALM stages such as planning, implementation, testing, and documentation. Learn about various software development techniques and the Agile methodology in particular.
Top Stories
-
Tip
23 Aug 2022
The 5 prevailing Agile pitfalls that prevent true adoption
To successfully implement Agile and maintain its momentum, teams must often overcome a predictable series of both technical and cultural adoption challenges. Continue Reading
-
Tutorial
30 Mar 2022
A simple 'try with resources' in Java example
Java's 'try-with-resources' exception handling feature can help you write better, more effective Java code. Here's a quick example of the try with resources construct in action. Continue Reading
-
News
21 May 2015
Open source initiatives saving grace for many companies
Companies are realizing that IT can't write all the code needed. They are learning to write less code and do more with open source initiatives. Continue Reading
-
Tutorial
04 May 2015
Asynchronously invoking a second managed bean method in JavaSever Faces (JSF)
The new features added to JSF make doing an asynchronous call to the server incredibly easy, but what if you need to follow that first asynchronous call with a second asynchronous call to a JavaServer Faces managed bean? It's a bit of work, but in this tutorial, we walk you through it. Continue Reading
-
Feature
07 Apr 2015
Google's Project X: Solving the worlds problems, one moon-shot at a time
Using the ambitious plans to put humans on the moon as a source of inspiration, Google is asking young minds to come up with their own 'moon-shots' that approach solving important problems in new and creative ways. Continue Reading
-
Feature
20 Jan 2015
How realistic is your mobile testing strategy?
Given the unpredictable nature of the way handheld devices will be used, organizations must ensure they employ a realistic mobile testing strategy, or face the reality that problems will be a reality after deployment. Continue Reading
-
Tip
09 Dec 2014
Behavior-driven development: Five tips for keeping BDD projects on track
Many organizations are approaching software design in a new way, with one of the most popular being Behavior-driven development (BDD). Here are five tips to keep your BDD projects on track Continue Reading
-
Feature
07 Sep 2014
Top 5 DevOps best practices for achieving security, scalability and performance
How do you get the most out of your applications? One way is to adopt a DevOps approach to deployment and apply these five best practices for achieving security, scalability and performance. Continue Reading
-
Feature
06 Jul 2014
The challenge of tagging for analytics in a world of unstructured text
Many organizations are managing massive amounts of information in their big data systems, but handling that inflow, and making it make sense is a massive challenge. Tagging is one solution, but how does one tag unstructured text? It's a problem that is slowly being solved. Continue Reading
-
Tip
18 Apr 2014
Software architecture: Five things every developer should know
Learn five things every developer should know about software architecture for present-day technologies. Continue Reading
-
Feature
05 Feb 2014
Continuous Development: The glue holding DevOps, TDD and Agile methods together
Continuous integration(CI) and continuous development (CD) have become central components in the application lifecycle management process. In many cases, CI and CD have become the central tenets holding together DevOps, Agile development and test driven methodologies. Continue Reading
-
Feature
11 Jan 2014
People and process trump tools when it comes to improving software quality
There are a variety of new tools emerging on the market, but if your organization is working to improve the quality of their product, improving the process and dealing with the culture is more important than the tools of the trade. Continue Reading
-
News
23 Sep 2013
Java development and application lifecycle management collide at JavaOne
There is an intersection between Java development and application lifecycle management, but at JavaOne this year, the ebb has flowed away from ALM, as the conference focuses largely on the technical side of things. Continue Reading
-
Feature
25 Aug 2013
Application Lifecycle Management (ALM) tips from the industry's TaskTop expert
Mik Kersten of TaskTop has continued to lead the industry in the application lifecycle management (ALM) space, and here we look at some of the insights and tips he has provided TheServerSide with over the years. Continue Reading
-
Feature
03 Aug 2013
Software developers demanding resource based, RESTful APIs
Software developers are demanding APIs that are delivered in a RESTful, resource based way, and one way to do that is by building with the RESTlet framework. Continue Reading
-
Feature
29 Jun 2013
Software lifecycle integration bus: New ALM tool is the key to social coding
The software lifecycle integration bus could be the key social coding ALM tool that will bring open source coding success to the enterprise. Continue Reading
-
Tip
07 Jun 2013
Understanding the implicit dangers of software component re-use
Every software developers has the goal of component re-use, but there are implicit dangers in the practice that all developers must be aware of. Continue Reading
-
Tip
06 Jun 2013
Mobile ALM Tip: Four ways to effectively move apps out of production
Moving applications out of production can be a mobile ALM challenge, but with these four tips, organizations will be minimizing the challenge of application decommissioning. Continue Reading
-
Tutorial
23 Apr 2013
How 'big data' solved the content management (CMS) problem
Content management systems that need to sift through huge amounts of data are big data problems in need of a solution. Fortunately, projects like Hadoop and MapReduce are coming to the rescue. Continue Reading
-
Feature
23 Apr 2013
Big Data Hadoop solutions with Hive, Mahout, HBase and Cassandra
As Hadoop evolves, complimentary technologies such as Hive, Mahout, HBase and Cassandra are allowing software engineers get more and more out of commodity hardware. Continue Reading
-
Tip
14 Apr 2013
Software requirements and expectation management key to project success
Many shun the task of properly documenting a system, but successful projects know that effective requirements docs lead to better expectation management and a greater degree of success. Continue Reading
-
Tip
07 Apr 2013
BEST: Simple web service alternatives to SOAP, XML and REST
Sometimes architects over-complicate web services, but indeed, effective solutions can be created without SOA, REST and SOAP. Continue Reading
-
Tutorial
13 Mar 2013
Mobile application development tutorial
Looking for a start in developing mobile apps for existing enterprise computing systems? This mobile application development tutorial is here to help. Continue Reading
-
Feature
06 Mar 2013
How Headless Android is Impacting Embedded Systems Development
Given the fact that Android is targetted towards the smartphone market, you wouldn't expect any significant interest in Android from the embedded market. However, making Android 'headless', and working with it on an embedded device has a variety of compelling use cases, and accordingly it is becomming ever more popular. Continue Reading
-
Feature
21 Feb 2013
Mobile ALM guidance: Android and iOS development is not ‘business as usual’
Mobile development presents new challenges to architects and solution developers, but guidance on the topic of mobile ALM (application lifecycle management) is lacking, and the industry is looking for answers. Continue Reading
-
Tip
15 Feb 2013
ALM expert says Agile methods are the way to conquer mobile ALM
Enterprise application developers are finding mobile application lifecycle management has challenges. ALM pro Howard Deiner advises an Agile approach. Continue Reading
-
Feature
09 Jan 2013
The Craigslist Dilemma: A case study for big data and NoSQL solutions
It's hard to imagine just how many postings Craigslist has handled over the years, and if you were in charge of archiving those posts and storing them for compliance, you'd need a 'big data' solution. So how does Craigslist manage all of their data, both the incoming stuff and the stuff that needs archiving? It's a beautiful combination of MySQL, NoSQL and a little help from the people at 10Gen. Continue Reading
-
Tip
16 Nov 2012
Try an Agile deployment strategy
Agile development methods hold value for more than planning, design, development and testing. A deployment strategy also benefits from Agile tactics. Continue Reading
-
Feature
01 Nov 2012
Collaboration and transparency: The keys to successful application development
Ubuntu moves forward by harnessing the power of the open source community. It's a model that is extremely dissimilar to what we see in enterprise development, but there are allegories between the two. Here, we take a look at what enterprise development shops can learn from the community process. Continue Reading
-
Tip
24 Oct 2012
How to articulate and define performance requirements
Don't fall into the trap of failing to define performance requirements for your applications early on in the application lifecycle. If you follow this quick tip, you'll find that articulating your performance requirements isn't that hard. Continue Reading
-
Feature
26 Sep 2012
Accelerating mobile development with PaaS, SaaS and IaaS
Mobile development teams are finding success by leveraging various cloud services in order to make application development easier. Continue Reading
-
Feature
26 Sep 2012
Modern mobile development techniques: The Y-shaped methodology
To support all of the platforms in the mobile space, Agile teams are realizing that a Y-shaped methodology is best for mobile development. Continue Reading
-
Feature
26 Sep 2012
Top five ways cloud computing impacts mobile application development teams
To accelerate time to market, mobile application development teams are relying heavily on these five cloud computing services. Continue Reading
-
Feature
21 Sep 2012
Embedded architecture accelerates mobile application development
Mobile application development projects succeed at getting products to market quickly. The reason behind the speed? It's all about the architecture. Continue Reading
-
Feature
08 Aug 2012
What type of software development professional do you need?
Be it an agile team or a company using a waterfall type of development process, your application development team needs an assortment of different skills and skillsets. Here we look at the various types professionals that make up the typical application development team. Continue Reading
-
Feature
25 Jul 2012
Application lifecycle management (ALM) challenges for multiple apps
Managing the lifecycle of one application is a challenge, but how do you go about the application lifecycle management process when you have multiple big applications being developed simultaneously. The best project managers need to know how to manage multiple applications simultaneously. Continue Reading
-
Feature
22 Mar 2012
Project documentation and Agile development
Agile development has been very effective at reducing the need for extensive, ponderous documentation. However, this methodology has not done away with the need for documentation entirely. It has simply moved documentation from a foundational role to a supportive role. Continue Reading
-
Tip
20 Feb 2012
Compare new Java Web application tools to the basics
When evaluating new Java Web application tools look back to the most basic Java development tools and see where the new tool takes you from there. Continue Reading
-
Feature
26 Jan 2012
Has Computer Programming Really Changed Much Since Lovelace's Time?
Everyone always talks about these new computer programming languages, and how great one is over the other. But really, has computer programming really changed that much over time? Continue Reading
-
Tutorial
12 Jan 2012
New Java 7 Features: How to Use a More Precise Rethrow in Exceptions from Project Coin
Afficionados of other languages such as Scala or Clojure are always slagging the fact that Java is too verbose and cumbersome. So, it's not too surprising to find out that Java 7 introduced a number of new facilities that can help to trim down the code an application developer is required to write. Continue Reading
-
Feature
21 Dec 2011
Embedded software patterns for more than just embedded systems
Embedded software patterns have a lot to offer any software engineer who routinely faces serious resource constraints. Continue Reading
-
Tutorial
15 Dec 2011
New Java 7 Features: Using String in the Switch Statement Tutorial
The new Java 7 Certified Professional exam expects you to know what's new with the switch statement in Java 7. The biggest news? The fact that you can now switch on a String literal. Continue Reading
-
Tutorial
15 Dec 2011
New Java 7 Features: Binary Notation and Literal Variable Initialization
Now with Java 7, you can not only use standard decimal notation, or the beloved hex notation, but you can use binary notation as well. Here's a good look at the ins and outs of binary notation, with a focus on what you'll need to know in order to pass the Java Professional certification exam from Oracle. Continue Reading
-
Tutorial
11 Nov 2011
Writing Java code in the cloud
The road bumps one experiences when they drive towards cloud computing can be avoided, especially when one has the opportunity to learn from the experiences of those who have gone before. Continue Reading
-
Feature
04 Nov 2011
Modularizing the Hibernate SessionFactory with the Spring framework
This paper outlines a method for modular application development using Spring and Hibernate. The approach described has similarities to the OSGi or Spring DM approach. Continue Reading
-
News
19 Oct 2011
GPGPU with Jcuda the Good, the Bad and … the Ugly
In our previous article GPGPU for Java Programming we showed how to setup an environment to execute CUDA from within java code. However the previous article focused only on setting up the environment leaving the subject of parallelism untouched. In this article we will see how we can utilize a GPU do what is doing best: parallel processing. Through this example we will take some metrics and see where GPU processing is stronger or weaker than using a CPU...and of course as the title suggests there is an ugly part at the end. Continue Reading
-
News
04 Oct 2011
Early Adoption is fun but a bad decision maker
Relationships go through phases: you meet someone, you get to know them better, you commit to them, you break up. The part everyone really enjoys is the second phase, the discovery phase. Continue Reading
-
News
26 Sep 2011
The Programming Olympics
It's 10:00 am on the first Saturday of school at C.U. (University of Colorado). No projects have been assigned yet. No significant homework. So why do we have 24 C.S. students in the Computer Science Engineering Lab? They're about to compete in the first annual Windward / C.U. Code War. Participating doesn't count toward a grade. It fulfills no school requirements. It doesn't pay. So why are they here? Continue Reading
-
News
20 Sep 2011
Don't rewrite your application
When stuck with a legacy code base you'll hear the claim "We'll have to rewrite this from scratch in order to fix it!" It sounds promising. You start with a clean slate. You can do all the good stuff without all the mistakes. The only problem: It doesn't work. Here is why. Continue Reading
-
News
31 Aug 2011
What is Dependency Inversion? Is it IoC?
Today we are going to see if we can unravel the mess of Dependency Inversion, Inversion of Control and Dependency Injection. It's important that we understand the concepts behind each of these topics and understand what architectural problems each one is trying to solve. Continue Reading
-
News
29 Jul 2011
How to write a dead-simple online network drive using Java & WebDAV
If you've ever thought about exposing your Java web app as a network folder that can be mounted as a drive, we've written a step-by-step guide using the Milton WebDAV library. The blog walks you through exposing a scratchpad that you can extrapolate to your own needs. Continue Reading
-
Feature
27 Jul 2011
Say No To The Cloud? There Are Reasons Why
The extensively use of IT systems by business users to increase productivity and bring down cots of operations has lead to building and maintaining substantial IT infrastructure. Managing the complex IT systems require high capital cost, expensive IT manpower with high attrition rate, security, and maintenance. Continue Reading
-
News
25 Jul 2011
The art of the technical presentation
The double edged sword of attending a professional conference or symposium is the fact that for every session that motivates you and reinvigorates your enthusiasm for Java technology, there's another session you end up sitting through that puts you to half to sleep. The funny thing is, a bad seminar is often just as painful for the speaker as it is the attendee. Continue Reading
-
News
18 Jul 2011
jqGrid, REST, AJAX and Spring MVC integration
More than two years back I wrote an article on how two implement elegant CRUD in Struts2. Today I have taken a much more lightweight and modern approach with a set of popular and well established frameworks and libraries. We will use Spring MVC on the back-end to provide a REST interface to our resources, the jqGrid plugin for jQuery to render tabular grids, and we'll wire everything up with a pinch of JavaScript and AJAX. Continue Reading
-
News
15 Jul 2011
A disciple from the Church of Bruce Eckel thinks in Scala
Markus Jais has a few insights on why the hoi polloi is reticent about picking up Scala. Much of the argument centers around the lack of documentation, blogs that are garbage, a nascent set of good tutorials, and Java programmers who think that if they can't learn something in an afternoon, then it's too complicated to even try. Continue Reading
-
News
13 Jul 2011
AS 7: Built for speed with JBoss modules
JBoss proved that most Enterprise Java Professionals really aren’t busy enough at work these days, as everyone from Java Superstar Matt Raible (rhymes with cable), to the lowly editor of TheServerSide.com, were busy downloading, installing, and playing around with the newly released software instead of doing the work they're actually being paid to do. Continue Reading
-
News
29 Jun 2011
James Gosling Says He Doesn't Care About Java
At TSSJS 2011, James Gosling, the father of Java, talks about Java and the JVM, and opines about how the Java Virtual Machine, not necessarliy the Java language, is what he is most passionate about. Continue Reading
-
News
28 Jun 2011
Language identification system: How to recognize other languages than English
Language identification systems, from the solutions based in n-gram to solutions based in dictionaries, usually fail when analyzing short Sentences, but we've arranged a new technique based in stemming (porter) + stopwords, that does the job and works pretty fast. Continue Reading
-
Tip
24 Jun 2011
Choosing the best Agile methodology for your development needs
To be Agile is to be active and involved. But how do we achieve these goals? Let’s look at some of the popular tools of the Agile trade. Continue Reading
-
Tip
23 Jun 2011
How to properly estimate a Java project
Focusing on accurate use cases can simplify software development project estimations and improve your algorithms chances of producing an accurate time to completion. Continue Reading
-
News
17 Jun 2011
Java - Lambda Syntax Alternatives
The discussion on the lambda-dev mailing list has started to address the issue of what the Java language syntax for lambdas / function literals ought to look like. Let's look at a slightly non-trivial example and try to tease the issues out. Martjin Verburg and Ben Evans give their take. What's yours? Continue Reading
-
Tip
06 Jun 2011
Waterfall versus Agile methods: A pros and cons analysis
In project management, Agile has been touted as a replacement for antiquated Waterfall methods. Yet Waterfall methods do hold value for certain projects and some development teams. Continue Reading
-
News
09 May 2011
Why The New Guy Can't Code
The situation looks like this: some schnook is interviewed, and is able to answer the brain teaser questions to prove the person can think on his feet in the interview. The problem is that people have managed to develop good interviewing skills but not good coding skills to go with them, so these hires end up being worthless. So how would you approach hiring to make the process work? Continue Reading
-
News
05 May 2011
You are NOT a Software Engineer!
"If you were building a bridge or a skyscraper and you told me, before you began, that you knew exactly how it would look when it was finished – I would believe you. […] That’s how Engineers roll. Tell me the same thing about your garden and I’m gonna call bullshit. Tell me you are going to make it grow faster by hiring more gardeners and I’m gonna laugh at you." Continue Reading
-
News
12 Apr 2011
How to Make Learning to Program Engaging
So, how do you take the pain out of learning to program? Minimizing lectures is always a good idea. And pushing 'hand-on' time with the keyboard is really the best way to make the learning happen. But how do you keep students engaged and motivated? Continue Reading
-
News
12 Apr 2011
Is Having a Build Specialist an Anti-Pattern?
Kief Morris asserts that having a professional on the team dedicated to managing the build process is an anti-pattern. Of course, any investor knows the virtue of a diversified portfolio, and having skills transferred across all members of the team is certainly beneficial, but surely having someone that really knows what's going on when the build fails is a good thing to have, not an anti-pattern? Continue Reading
-
News
06 Apr 2011
The future of Java on the Mac
Hopefully, by now, everyone knows that Apple joined the OpenJDK project last year. This is good news for Java developers who want to develop on Mac. It's also good news for Mac users - as it means that, for example, the native Aqua look-and-feel will continue to be supported - so Java desktop apps on Mac will look lovely. I, for one, can't wait to see what Nimbus look-and-feel will look like under native Aqua. Continue Reading
-
News
15 Mar 2011
Content management -- It’s easy to use incorrectly
Content management. It’s easy to use incorrectly, so it’d be a good idea to reconsider how it’s best used, in such a way that it saves people from work instead of adding to it. The stories aren’t hard to find: a CMS is proclaimed as a silver bullet in a land of werewolves, and management tells developers to use it. However, resources on using content management properly are hard to find, so naturally, they use the CMS as if it were a hammer, and the application gets shattered and updates become rare and ineffective. Continue Reading
-
News
09 Mar 2011
Save money from Agile Development
There is an easy way how to save many man-days and thus also money on a project by adding some work to the key team members. The additional work, which will later save you many, many more, are code reviews and pair programming of an inexperienced and a senior Continue Reading
-
Tip
13 Jul 2010
Evil Design Patterns - When Design Patterns Become the Problem
Have you ever been on a project in which all of your team members have just gone through an intense week of Design Pattern training? It's painful. Continue Reading
-
Tutorial
09 Jun 2010
On Promoting Dependency Injection with Guice
Guice is known as an annotation based dependency injection framework. Being a relatively new player in dependency injection topic, Guice has quickly become popular thanks for its effort to make dependency injection as simple as annotating codes with @Inject. Guice pioneers the use of annotation in dependency injection as it believes Java annotation can assist to accomplish dependency injection easily, quickly and safely. Not only its easy-to-use advantage, Guice framework has also shown its strengths in flexibility, scalability and last but not least maintainability. Continue Reading
-
News
01 Mar 2009
Intergrating BIRT with PHP
BIRT is a top-level, open-source, Eclipse project that provides business intelligence and reporting tools. Currently, BIRT is best known as a report-creation tool that supports multiple data sources and produces many different forms of output, including HTML, paginated HTML, PDF, Word, Excel, PPT, and postscript formats. Continue Reading
-
News
01 Nov 2008
Intercepting JNDI Filters
This article presents a simple filtering framework to "intercept" JNDI operations and objects in a non-intrusive way (without code changes or the overhead of AOP systems). Continue Reading
-
News
18 Jul 2008
Implementing Finite State Machines with Physhun and Spring
This paper presents the Physhun project, a Spring-based framework for implementing complex processes through Finite State Machine models. Physhun provides finite State Model persistence and transaction management with synchronous or asynchronous behavior. Continue Reading
-
News
01 May 2008
OSGi for Beginners
As a non-OSGi advocate, I would like to take some time to try to explain OSGi to the people who don't know about it – a novel idea, apparently – along with some example code to help people get started. Continue Reading
-
News
01 May 2008
The Whiteboard Pattern for OSGi
Learn about a pattern that a lot of OSGi programmers say is the way to go - and it's certainly one way to go. We'll discuss the whiteboard pattern for OSGi and then discuss some of its strengths and weaknesses, and alternatives. Continue Reading
-
News
01 Dec 2007
XWiki: A Platform for Collaborative Apps
This article demonstrates how to customize XWiki Enterprise by writing a small application with it. Specifically you'll learn how to write a Todo application for managing Todo tasks. This application will let users enter tasks using a description, assignee, target date and status. Continue Reading
-
News
01 Sep 2007
Implementing e-forms with Adobe LiveCycle Forms
Most companies today use e-forms in some way or the other, ranging from the simple contact form with fields where customers can leave their e-mail address and a message, to complex multi-page forms incorporating calculations and logic. Learn more about implementing e-forms with Adobe LiveCycle Forms. Continue Reading
-
News
01 Feb 2007
Transforming Legacy Systems to J2EE Architecture
This document is a living reference document for anyone involved in the design and architecture for organizations to transform their legacy systems to Java 2 Enterprise Edition (J2EE) based applications. Continue Reading
-
News
01 Sep 2006
The Pragmatic Code Generator Programmer
In this article we will reimplement an exercise taken from the best-selling book "The Pragmatic Programmer" written by Andy Hunt and Dave Thomas [1]. In the third chapter "The Basic Tools" the authors motivate the reader to learn a "text manipulation language" (like Perl or Ruby) in order to be able to develop little code generators. Continue Reading
-
News
01 Jun 2006
Pipeline to Visitor Design Pattern
Moving from Analysis to Design phase, designers try to make the software system very maintainable through selecting all the functions that are used frequently by most of the use cases and make components out of them. Continue Reading
-
News
11 May 2006
Free Book: The J2EE Architect's Handbook
This book is written for technical architects and senior developers tasked with designing and leading the development of J2EE java applications. This book will guide the architect through the entire process of delivering a project from analysis through application deployment providing numerous tips, tricks, and "best practices" along the way. Continue Reading
-
News
01 Nov 2004
Redirect After Post 2
This article demonstrates the benefits of Redirect-after-Post pattern using a simple web application. See my previous article " Redirect-after-Post pattern in web applications" for the discussion of the concept. Continue Reading
-
News
01 Sep 2004
Object Slicing and Component Design with Java
Object-oriented systems are usually partitioned into layers of related responsibilities and only dependencies in one direction are allowed, from higher layers (more specific, less reusable) to lower ones (more general, more reusable). Classes in higher layers can extend or wrap classes in lower ones, but not the other way around. Learn more about object slicing. Continue Reading
-
News
01 Sep 2004
Implementing Object Caching with AOP
Object caching has a number of characteristics that make it a prime candidate for implementation as an Aspect. Learn what some of these characteristics are. Continue Reading
-
News
01 Aug 2004
Redirect After Post
This article shows how to design a well-behaved web application using redirection. Continue Reading
-
News
01 Jan 2004
Back End Code Generation Techniques For Java
Code generation is nothing new, especially for Java programmers, but it is still confusing to most people because of the variety of code generation models and solutions. This article will help you cut through the fog by providing a summary of the popular models and solutions in the Java world today. Continue Reading
-
News
01 Jun 2002
JAXP: Coding for Parser & Transformer Independence
This introductory article will educate developers about the JAXP API, and provide them with a strong understanding of the pluggability layer that will allow their applications to switch between parsers at will. Continue Reading