Agile Development

Blessing Orazulume
The Agile Weekly
Published in
5 min readAug 4, 2015

If you ask me what agile development is, I will simply put, agile development is a way of managing IT development teams and projects. In order to explain better, I will be using similarities from a project that I have worked on to explain the processes involved in agile development.

When I was in my third year in school, we did a system analysis and design course, CSC 326, taught by Dr. (Mrs.) VINCENT. In the course, we looked at design methodologies where we talked about waterfall model, spiral model and so on.

At that time, I really didn’t understand what these models meant but after working with a team, I grasped what agile development meant.

Like I said I will be using an example of a project I worked on in the past to describe the processes of Agile development. Let’s call this project Props Source.

Before we go into the agile development processes, let’s explain what Props Source does. Props source is an app that builds the relationship between employers and employees by allowing employees give feedback on the employers. I will be describing most of the agile processes we used on Props Source.

First of all, in agile development, you need to actively involve the users(could call them clients). This is done by interviewing the client to understand their vision and the desired outcome they want for the product.

On Props Source, we had to get back to the employees of this company to know what kind of forms they would want to fill to evaluate their employers. And also, we needed to consult the employers to know what form of feedback is most suitable to them. We collected these inforomation and feed it back to the design of the solution.

We continually asked the company what they desired for the project in order not to make assumptions as to what they want. And also, we had to reiterate to make sure we are getting the picture the company as a whole had in mind.

In Agile development, when building a product where the real end users will be external users, it is important to have an experienced user representative involved throughout the project duration i.e a user that is technically inclined and could help test the product. We usually call it user experience testing.

For Props Source, we had to get the IT manager of the company to act as our user experience tester. Why do we need an experienced user representative? This is because;

i. we want to make sure that requirements are clearly communicated and understood. This is required to know how the user perceives the product and help clarify what is needed in the project.

ii. we also want to make sure requirements are prioritized appropriately based on the needs of the user and market. In the project I worked on, we had to conduct a survey to know the need of the end-user and so, prioritize what is most important.

iii. we want to make sure that the right product is delivered. When you continue to reiterate to get more clarity about the project, it goes a long way in developing the right product.

iv. it allows the client to be interested in the development on a daily basis.

Asking detailed questions pertaining to the project often, say what color scheme would the client want on the project, the client sees that you are interested in the project and will trust that you will do a good job in delivering the right product.

Secondly, we collect these requirements the client wants on the project in various forms: text notes, mockups, user stories.

In order for us to have a reasonably clear idea about the project overall requirements before setting out on development, we have to have the detailed requirement that the client wants on the project so that incorrect decisions don’t lead the team down to dead ends.

These requirements can be captured at low-level(using text notes) or high level(using mockups and user stories).

Most of the time, it is better to capture these requirements at a high level. These high-level visual requirements/formats could include screenshots, sketches, mockups, or wireframes. In this case, we made use of a mockup tool called Balsamiq.

A mockup is a realistic representation of what the product will look like, in this case, a website. The final result can look exactly like the mockup. Like I said earlier, we made use of Balsamiq but also Photoshop could be used if you want a high-fidelity mockup.

Balsamiq is a small graphical tool to sketch out user interfaces, for websites and web, desktop or mobile applications.

We usually term this to mean prototyping (A prototype is a draft version of a product that allows you to explore your ideas and show the intention behind a feature or the overall design concept to users).

After the initial gathering of information on Props Source, we got back as a team to make a prototype. Our first prototype was a static web page that only collect submitted forms. We got our User Experience tester to try this out and got relevant feedbacks.

This was a very helpful process as the prototype was able to get the imagination of the company as a whole into a first reality of something that looks like a product.

The next thing we did was to create User Stories.

User Story is a common approach amongst Agile Development teams to represent each requirement that would need to be implemented in the project.

User Stories are simple ways of capturing user requirements throughout a project. This story is a simple statement about what a user wants to do with a feature of the software, written from a user’s perspective.

For Props Source, we got a lot of user stories from our collections of feedback from the company. We were able to make users stories by dividing the various features users will like to have on the final product into tasks. Each of these tasks represents a user story.

Also, User Story should focus on the who, what and why of a feature. For the Props Source project, we used Pivotal Tracker for capturing these requirements. Pivotal Tracker is a management tool that allows software teams to manage projects.

The advantage of having user stories is that it gives clarity as to why a feature is useful and also allows the breaking of projects into small increments.

Lastly, I will be talking briefly about Git Workflow and Test-driven Development. Since a lot of people would be collaborating on Agile Development, there is a need for a version control system like GIT.

For Props Source, we used a GIT rebase workflow which is a somewhat popular GIT workflow. Testing on Agile development is done to validate the code and the quality of the product developed and this is done throughout the life cycle of the project.

--

--