Agile Perspective

Tim Broyles Agile, Articles, Project Management 2 Comments

You may think of Agile as just another process. While this is incorrect (as it is a framework created to help developers create processes), there is a fundamental difference between this methodology and most methodologies that have come before.

Agile–done the way it was intended–is revolutionary. Fundamentally, Agile is an advocate of a bottom-up development process. I believe this is why it is often proposed with good intention, however then implemented with a top-down, fixed idea of what the Agile team (and hence the process) will be like.

If you take time to read the Agile Manifesto you will read statements like: โ€The best architectures, requirements, and designs emerge from self-organizing teams.โ€ย Just consider that for a second. The team has the power to keep what works and dispose of what does not.

There are some basic concepts that allow Agile development to be successful. In this post, I highlight the key parts of Agile that appeal to me (as a reluctant process advocate) and have enabled successful Agile development in recent projects…

Unit Testing Your Architecture With ArchUnit

Cindy Turpin Architecture, Articles, Development Technologies & Tools, Testing 1 Comment

I am a Spring/Java developer (primarily) and an advocate of unit testing.

There is often a debate over what constitutes a unit test, an integration test, a system test, etc. But, most of us agree that tests keep you from going โ€œoff the railsโ€ once a project becomes sufficiently complex.

However, I have found very few discussions on architectural tests. What keeps us from deviating wildly unintentionally from our original, planned architecture? And, after all, how many enterprise projects even keep the same architects from the beginning of the initiative to shelving and replacement?

In this blog, I introduce ArchUnit, a Java architecture test library for specifying and asserting architecture rules in plain Java. Weโ€™ll discuss how it works to mitigate architectural risks in developing quality enterprise applications…

Java 10 and Local-Variable Type Inference

Robert Rice Articles, Development Technologies & Tools, Java Leave a Comment

JDK 10, an implementation of Java Standard Edition, was released in March 2018. It brought with it Local-Variable Type Inference to help simplify the writing of Java applications.

Basically, it’s a new syntax meant to reduce some of Java’s verbosity, while still maintaining the enforcement of static type safety. In simpler terms, you are able to declare variables, but won’t necessarily have to specify the type.

In this blog, I give recommendations for best practice when using Local-Variable Type Inference in JDK 10 with an eye for common var pitfalls…

Angular and Swagger: Experiences Learned

RJ Dela-Cruz Angular, Articles, Development Technologies & Tools, JavaScript 2 Comments

Recently I was fortunate enough to be a part of a project where we were building an application from scratch into an Angular front-end application with Microservices in the back end. Swagger was used as the contract between the UI and Microservices.

In this blog, I talk about the things I learned from this project experience, like how to use Swagger to define the endpoints of the Microservices, integrating Swagger-generated code into Angular, and working with configuration (including oAuth2 tokens), among other โ€œgotchas…โ€

Getting Started with React and JSX

Chris Shatrov Articles, Development Technologies & Tools, JavaScript, React Leave a Comment

I have been with Keyhole Software for nearly four years. Every time I write a new blog post it is about a new framework that I had to pick up and learn that year.

I write a lot of JavaScript daily, but previously never had the chance to start coding a project with React. But this year, I worked on a project with React. So as expected, I wanted to share my thoughts and my experiences with React.

In this post, I will give a quick introduction to React and talk about its main, most important, components. We will also take a peek at JSX and explain it, and show some code examples, which will help you have a better understanding of this library before you can move on to more complex things…