Bookmark and Share
RSS

Recent Posts

What Determines Development Methods and Architectural Styles?

May 08, 2017

This is the second in a series on how applications are developed, with a focus on development methods and architectural styles that are gaining in significance. As I remarked last week, methods aren’t the same as styles and some pairings work better together than others. This discussion examines different factors that impact choices and pairings.
 
Influences on Methods and Styles

IT personnel, including managers, designers and developers, all have a big influence on development methods. Managers tend to favor previously used methods because they provide a solid way to understand and manage risk. Managers might also favor methods used in the past (e.g., a legacy method like waterfall) but they’re often quick to realize the need for and benefits of more contemporary methods built around agile approaches. IT managers are also challenged with hiring new people, many of whom want to do things in fresh ways. This creates even more pressure to meet the expectations and experiences of a younger generation.

It’s a similar situation for designers and developers; they also want to support company approaches to development. However, much of IT involves leaning into methods that offer different techniques with an added edge, such as continuous test-driven development or agile software development or DevOps. As a result, more designers and developers want to embrace these advantageous methods.

Architectural Styles and Environment

The choice of an architectural style or pattern can be strongly related to environment. If, for example, you’re developing in a web-hosted environment, you can use a variety of development methods. With that being said, you will likely be expected to use a client-server, 3-tier or n-tier architectural style. When you develop in a web-hosted environment, you’re likely creating a single application out of hundreds, all of which follow the same approach. They support a client on a desktop plus an application server, database server and load balancer. There are also added firewalls between the layers that are part of the hardware model where devices are connected by switches. 3-tier isn’t the only style you will encounter; you might also find service-oriented  and microservices architectures with distinctly different yet related goals.  

How Do They Come Together?

There’s a natural alignment between certain methods and styles—an alignment that can be found between waterfall and monolithic applications, along with agile and microservices. I’ll explore these examples of natural alignment next week in the final post of this series.

Posted May 08, 2017 | Permalink

comments powered by Disqus