DEV Community

Jacob Mathews
Jacob Mathews

Posted on

How we Arrived at Agile to create robust Applications

We at Purple Olive Labs, (An app development company in Dallas) have adopted a complete Agile development path instead of a mix of the agile and traditional method. However, we don't ignore the traditional methods altogether and accommodate the benefits of Waterfall wherever possible.

The Agile experience I share here is not just mine but the whole organisation which shares the same common working culture.

Our Journey to Agile

In my previous organization business analyst took months or even years to come up with the requirements specification document which runs into thousands of pages with so much money already spent. There are many problems faced with this approach:

  • It was difficult for designers and developers to digest such a huge mess and come up with a robust accurate translation for its design and architecture.
  • Understanding the document was more difficult as key contributors would not be around for such a long time.

Moreover, design teams were sitting far away in India making the process a lot more difficult.

Finally here in Purple Olive Labs, from day one, project one we relied on Agile to deliver.

My views on Agile Project Management

In one word- It's VERY different.

The project manager or the Scrum master had now to necessarily split the task into smaller chunks so that biggest task would take less than 20 or at most 40 person hours. The presentation at the standup meeting is all the more important compared to the traditional one.

At first, it was difficult as the business analyst representing the end user were not truly reflecting the needs of the client, resulting in the product not meeting their expectation.

Picking the right team member with the right skills and assigning the right task to get the best out of every member is always a challenge for a project manager.

Where are the Agile Team currently going wrong?

They think Agile is a product.

A product is one which can be plugged in and the benefits are seen, which is not the case with Agile.

It's more of a culture which now more and more being understood by the teams, thanks to Agile feature in recent times.

Automation is another area in which many teams are missing out. It makes the implementation easier thus reducing the change implementation time. The areas they cannot miss are the Unit testing, build automation and continuous delivery.

Dealing with risk on Project management

Risk directly impact the value delivery of the project or program.
Agile approach in a way make the risk identification and management a bit easier than the traditional approach.

When done well Agile practices, eliminate or mitigate the risk like, scope creep. Personnel, design/architecture risk, etc.

Definitely participation by stockholders makes the risk management bit more effective, but its not without challenge. Some of them are:

  • Finding a competent resource for Agile development. This can be partly mitigated by employing the pair programming approach.
  • Risk education is another challenge.The team members claim that they are working on sprints with focus and dedication that they don't have time to spare for identification and assessment of risk.

How Agile team should plan their task better?

Follow the right combination of continuous engineering practices, like Behaviour Driven development(BDD), continuous Integration(CI), Test Driven Development(TDD) etc.

These steps if done well reduces the feedback cycle and thus increasing the chances of acceptance of the delivery and thereby ensuring the realisation of the expected value.

Keep a tab on the right technical strategy and platform for the product, so that it gives room for accommodating architecture spikes (need to change the product architecture to accommodate a change) easier. This approach will help greatly reducing the technical risk and thus improving the scalability of the platform.

Finally, defer the security implementation to the end. Make the security and privacy requirements part and parcel of each of the user stories and educate the team members to embed secure coding and design practices as part of their daily routine.

If you have some thoughts on Agile or want to share your journey with us, write us at Jacob@purpleolivelabs.com.

Top comments (0)