(Contributors: Lee Ackerman and David Simpson)
About Patterns-based Engineering
Patterns-Based Engineering (PBE) is one of the Agile practices that we support here at AppFusions.
If you’re new to the practice, a brief description would be to use patterns both in written form and captured in automation to streamline processes in delivering software.
When automating patterns, many different tools can be used. The key thing for us is capturing details specific to a situation and combining it with the elements of the best practice solution to create a unique and targeted solution.
It’s pretty cool stuff when you can automate a pattern – productivity goes up as tooling replaces human effort, and we reduce tedious mechanical steps which allows us to focus on creative problem solving. Finally, quality improves as we consistently apply a best practice approach.
Patterns at AppFusions
Here at AppFusions, we not only try to help others to use PBE, we also use it ourselves.
In our case, we use Maven to help us capture and automate Atlassian plug-in patterns. By automating how we create extensions we are able to reduce tedious mechanical steps.
Creating project structure, manifests, initial plug-in classes and test cases needs to be done for each plug-in – but these steps are tedious and time-consuming, and slows us down. Maven allows us to provide a declarative model that customizes the generation of the initial plug-in structure.
Further, we've recently extended our maven commands so we can embed our configuration and licensing panels, consistently and predictably across all AppFusions plugins. It's a solution that’s working for us - to boost productivity, improve quality, and make development more enjoyable.
Patterns at Atlassian
Today, we were thrilled to see PBE (patterns) coming from Atlassian during Atlassian's opening #AtlasCamp presentation by Jonathan Doklovic.
AMPS, the Atlassian Maven Plugin Suite, is a collection of Maven plugins that make it easier to develop plugins for Atlassian applications.
Atlassian has put in practice the ideas of PBE with a new plugin template as part of their new SDK 3.6 (get it here), clearly recognizing that they need to use patterns to support the developer community.
Great stuff - well done!
And there's still more - extended AUI!
Another aspect of plugin development with Atlassian products that we love is the design patterns they provide for user interface design.
The Atlassian User Interface (AUI) library of UI patterns allows plugin developers to build their user interfaces with the same look and feel as Atlassian. Today at #AtlasCamp, Atlassian announced some more improvements in this area.
A consistency of UI means that end users become familiar with the standard patterns and this enhances the user experience.
At AppFusions, user experience is an important part of plugin development. So much so that we've been standardizing our plugin configuration and licensing screens, as well as error handing screens.