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 Conclusion 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
Enterprise inlines the solution within business. It means any action that create a solution should provide values. Values mean productivity, revenue gain, or cost effeciency. Simply said that values related directly with the business. Last month, we should create a software engineering framework based on tight project management and approval model, as fine as minimalist approach. The proposed solution is called ALM minimalist. So how we create an ALM minimalist, here are the steps: We select the starting template. In this step we are using MSF for Agile. MSF for Agile is choosen because the mature is in the middle between Scrum and CMMI We breakdown and make an effor to understand their project management habits. It is including their approval models and validation model We compose the artifact that minimalist enough As a result we get the templates as a follow: Vision and Scope document Functional Specification Document Master Plan Document Project Execution Reporting document Project Delivery Acceptance form Project Closure document That’s it, hope it will help you to compose a minimalist document for ALM purpose
Recently, Microsoft Pattern and Practices released a good book about testing for continuous delivery with Visual Studio 2012. This book covers an Agile process in terms of testing and continuous improvement of your software by testing it iteratively. As mentioned in their pages
This book is aimed at test engineers, managers, developers, and folks interested in understanding the changing world of test. Over the last several years, software testing has changed a great deal. In the past, test plans were on paper, filed away and out of sight. Today they are—or can be with Visual Studio—living documents, as manual and automated tests are integrating into the test workflow supported by the test infrastructure. Today you no longer have to set up physical boxes; instead you can set up and automate virtual environments composed of virtual machines to meet your testing environment needs. With Visual Studio and Team Foundation Server, the pain of dealing with a heterogeneous test infrastructure is reduced, the cost and effectiveness of testing a product is improved, and regression testing becomes cost effective instead of a nightmare. Knowing how to test is important, but understanding how this new infrastructure is changing the business of testing and software delivery is critical. Today's businesses require nimble teams that can support continuous delivery and deal with updates and bugs in an agile fashion. It's what your customers have come to expect. In this guide, we follow a team as they move from a conventional approach to testing towards one more suited to the needs of present-day development. We see how they address the costs and the pain of their old methods by adopting the testing infrastructure of Visual Studio 2012.
You can download the book here
Having a good time to learn you can bough a good book about testing and Agile here. Buy one and you never regret it.
This is the third tutorial that focused to implement UML as a lite modeling based on Agile process. The main purposes of component diagram is to propse a solution based on the functional and the business process. Furthermore, the component diagram will help developer team to see a big picture before they build a prototype. In this Indonesian video you will learn.
What is component diagram and why we need to build it
Component dagram as the software component architecture
Building component diagram in Visual Studio
After viewing this video, you can create a component diagram and knows how to improve your design vision into higher level such as prototyping,
This post is a sequel of the previous post “Agile modeling 101-Building Use Case Diagram”. This post assumes that you already gather the requirement and the actor of the proposed solution. This post will guide you how to explore business process that needed to develop to capture essential part of system business process. The video will tell you the rest, some of the key point for this video are:
Activity diagram captures step by step what user or system will do for a functionality described in use case.
Ideally one use case will have one or more business process that described in activity diagram
the activity diagram can be formatted to become usage scenario that lead as an ingredient for building user manual
That’s it, enjoy the video
Building codes is a complex activity. Therefore, we need to build a software in a rapid way without sacrificing a basic documentation for the software. In this article, it will share an approach to build a software through UML modeling but eliminating several verbose step.
This article point several activities that, we must do to build a software in a top-down model through UML modeling. These three steps which are
Gathering the requirement using Use Case
Understanding the business process using Activity Diagram
Building the software architecture using component diagram
You can read the article in Indonesian language at here
or you read it online at Microsoft KB here
Simple thing should be simple, complex thing should be possible. Many of the system start from small and increasing its complexity and become big and bigger. This Indonesia article will tell you two facts which are:
Visual Studio is your foundation to build any kind of system either small or big system.
Team Pulse and TFS will support you when you need a set integration many of Visual Studio
You can download the article here
Having problem to manage your source code? or feeling inconfidence because you don’t have enough source code management. This Indonesian articlwe will share several usual tips for you and your developer team to manage your source codes bettr. You can download here
or you can read here
Noewaday, information system is not about how cool the technology, how cool the solution,or how cool the featutes. It’s about how the IS can sustain the changes. Everyday people works, innovates, and creates a new way of works. The want there is also adaptives. But IS is created from a bunch of related codes. Yesterday they said enough, but today they say nothing. Beside the others software type, IS is the most demanding software and the most adapotive in a changes. so how we fight the changes..? ALM is one of the answer…
In 07/01/2011, I will be invited to speak about IS in ALM Persectives. You can reach me at AMIKOM Building university from 09.00 AM till 12.00 PM. Special Thanks to Mr. Khusnawi and Mrs. Armadyah..
You can download the material below.
or you can read the article online here http://support.microsoft.com/kb/2661914/id-id
Want to explore more? I recommend you to read these books