Over a million developers have joined DZone.
Platinum Partner

Vertical/Horizontal Slicing

· Performance Zone

The Performance Zone is presented by AppDynamics. Scalability and better performance are constant concerns for the developer and operations manager. Try AppDynamics' fully-featured performance tool for Java, .NET, PHP, & Node.js.

A few years ago I wrote a bunch of posts exploringmy experiencesof outside in development eventually coming to the conclusion that it seemed to make sense to drive out functionality from the UI and work back from there.

i.e. we take a vertical slice of functionality and then drive it end to end.

On the team I’m working on there’s been success using an approach where the functionality is still split vertically but we work across a horizontal layer for all the cards before moving onto the next layer.

The advantage of this approach is that we can do all the work in one layer without context switching and then move onto the next layer.

In our case this meant adding a bunch of text and check boxes to a backend CMS and then making sure that the values entered there bubbled their way up to a service used by the front end.

This was counter to my previous experience so I was curious why we weren’t seeing the problems that I’d seen before where we’d model things incorrectly in the backend and only realise when we tried to call them from the front end.

Jae pointed out that you don’t necessarily run into this problem if you can hold the model of how the whole system fits together in your head.

Since we have a few people who are able to do that and have knowledge of how the data flows through the different applications that is indeed the case!

I’m sure there are some other cases where this approach makes more sense so if you find success writing code in this style do let me know!

The Performance Zone is presented by AppDynamics. AppDynamics is a leader in the APM space with massive cost reductions for users.


Published at DZone with permission of Mark Needham , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}