Over a million developers have joined DZone.
Platinum Partner

Vertical/Horizontal Slicing

· Performance Zone

The Performance Zone is brought to you in partnership with AppDynamics. Discover five of the top performance metrics to capture to assess the health of your enterprise Java application.

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 brought to you in partnership with AppDynamics.  Learn the essentials of APM and how to implement best practices of application performance, better understand what it means to capture, analyze, and react to performance problems as they arise, and more specifically with .NET applications. 


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 }}