When developing a software, you might think what is the better way to acquire the requirements. If you learn software engineering you might be remember about software requirements or requirement engineering. It is a long journey to learn about requirement engineering. You should read a lot documentation, create requierement template for your client, filling the document and discuss within the client. If you have done already you might be agreed that sometimes the 30 pages requirement page won’t satisfies the client if they change they mind. You put a lot of effort to create the req’ document but in the end is useless when client changes his mind. In this article, I will share you about what you need to know to create better requirement based on my thought on ALM (Application Lifecycle Management) minimalist. Please note, that ALM minimalist is not a formal method like waterfall, but is an Agile technique that simplify the ALM. If you akready use the Visual Studio Online, you might be familiar with Features, Stories, and Tasks on the Work Tab as shown in figure below.
In the picture we have features, stories, and tasks. We will describe it in this post each element of that to make your requirement simpler and adapt to change.
Starting with Features.
If you ever read a good book about FDD (Feature Driven Development), you might be remember about features. Feature is the unit of the “things that it wants by the customer’. In the ALM Minimalist, feature is simple statement that explicit the client need.
On the Visual Studio Online, you can add features by clicking the work tab and click the new button. Here are several sample of feature
The simple patterns of Feature is
Features = Action + Object
Feature should also provides additional information such as
- Who owns the feature. it means who will responsible with that feature
- The prioriy of the feature (1 for high priority, 3 for less priority)
- The iteration when the feature will be develop.
In Visual Studio Online, you will get a lot filed to fill by clicking the feature. However, ALM minimalist encourages you to keep it simple by avoiding fields
Exploring Features into Stories
So you have features, you can break down into stories. For example, if we have a feature called “Managing The Payment of a Course” you might have several stories such as
- Paying the course using wire transfer
- Paying the course using credit card
- Paying the course using invoice from company
As you see, story explains the feature more detail based on several constraint and condition based on customer needs. On Agile book such as eXtreme Programming Explained or others, you will find that the user story has a pattern like below
User Story = as a (actor) I want to (action) so that (benefit)
for example: as a member I want to pay the course by credit card so that I can join the online course right away
In Visual Studio Online, you can do that easily by clicking the stories menu. However, if you feel too complex when writing the formula, you can follow the simple statement such as “Paying the course using credit card”. You can make the story unambigous by adding several information such as
- Work assigned to (Story Owner). it covers who will do the story
- Risk (1 high - 3 low)
- Story Point. Story point is number of estimation that will be done through planning game session
- Description. It shows the detail of the story. It is just like usage scenario of the story that described using words
- Storyboard. It shows the flow of the story and the user interface. it uses Powerpoint to create the storyboard
- Iteration. The iteration shows when the story will be worked by the story owner,
Story is a part of feature. Therefore, you can see the story below of a feature on Visual Studio. In the Figure, it is shown that the story name is ‘simple statement’ about the story, and the desriptions uses the “user story format”. You can add the additional information such as data field and detail information on a storyboard
Doing the user story action on a task
Task is the lowest unit of the work. Task is assigned to an agile member. Task represents the detail of user story. For example if I have story “see the student list”, I might be have 2 tasks such as showing the student list that already paid the course, showing the student that not already paid. If I have 20 story point, each task should be have not more than 20 point. Task is not only about the activity that contains development activity but also others activity such as design, requirements, deployment, and etc.
Fortunately, in Visual Studio Online you can create task and assign them with several field such as figure below
ALM Minimalist is an agile technique that has a purpose to simplify the requirements engineering activity. it proposes the three main components which are Feature, Story, and Tasks (FST). The FST can be adopted easily on Visual Studio Online using Agile MSF template.
Good Book to Read