I have recently joined an Agile software enginerring consultancy as their sole front end developer.
It appears to me that one of the features of the Agile process is that you don't forward invest in features but the way I am being asked to work is to code everything up front thus creating a lot of forward investment. This has lead to a lot of separation from the rest of the team and a lot of pressure being placed on me delivering features for the server side guys.
I am having difficulty finding the fit between front end development and the Agile process and was wondering if anyone had similar experiences and how they dealt with them?
It would be interesting to get another perspective on this. I am not moaning as I am used to working like this (I come from an agency background) but it appears as though these Agile experts don't know how to make it work with front end development.
Ryan, first of all this is a really good topic/question. Thanks for posting it on Stack Overflow!
"I am having difficulty finding the fit between front end development and the Agile process and was wondering if anyone had similar experiences and how they dealt with them?"
Well, in the past I have been a Front End developer and a Scrum Master in an organisation that followed the Scrum Framework and Agile Principles but fortunately I have never had the kind of experience you described. But I can imagine that it must be painful for you. Unfortunately some people use Agile and Lean processes and frameworks as a tool to get ahead in the political game by suggesting it's use, but what they really care about is their own own name and fame, and what ends up happening is they don't follow through and don't do justice to Agile and the Team following it. It sounds to me like either it is a political strategy from someone higher up or there is a lack of understanding and experience of Agile principles. I think your organisation needs a "real" full time Agile Coach not influenced by higher powers in your organisation.
"It would be interesting to get another perspective on this."
In my last project I was Scrum Master of a Enterprise Project Team of around 30 engineers. And I also have a web developer background. We followed the Scrum framework and worked in 2 week iterations. Each iteration had a list of Product Backlogs which were nothing but a bunch of user stories written and prioritized by the Product Owner. The user stories always need to represent vertical slices of the product rather than horizontal. Imagine a multi layered cake, if you cut it horizontally, you would just get one layer at a time or maybe two but you would never get all the layers in the piece, but when you cut it vertically, you get all the layers for sure, in the same way your application or website or tool or whatever it may be definitely runs on a technical architecture, which must be having multiple layers like the GUI, the security layer, the server, the DB, middle ware and so on. As per the Agile Manisfesto success is measured by working software and a working software is not a set of static front end screens without the back end nor is it a set of database tables without any front end. So a rule that I learnt which you could suggest or remember is always work in vertical slices so that you have potentially shippable products in the shelf to push to production.
In a nutshell - I think the solution to your problem is having proper user stories whose done criteria should be more on the lines of having small vertical slices of the end product and not build one horizontal slice at a time. So for example it should be feature based , like for example, building the login functionality and not just building the login.jsp!!
Remember, always cut small vertical slices of the cake, it tastes better that way!! ;)
It appears to me that one of the features of the Agile process is that you don't forward invest in features but they way i am being asked to work is to code everything up front thus creating a lot of forward investment. This has lead to alot of seperation from the rest of the team and a lot of pressure being placed on me delivering features for the server side guys.
You are exactly right here. What they are asking for is counter to Agile.
In fact, having only one front-end developer in a team with other developers doing only server-side work is a recipe for disaster.
As sjt suggested in his response (which I've upvoted), an Agile team should work in small vertical slices.
For this to work well, you should be "generalizing specialists". Each member of the team might have strengths in a particular area, but should do some work in all parts, getting help from other team members in any area needed.
You should be learning and doing some server-side work and the server-side people should be learning and doing some front-end work.
What you're describing is not Agile, its someone who wants to circumvent Agile because they don't trust it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With