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
Having confused with deployment option for your Client Application. In this article, it shows you that the .NET Client App has many option to deploy and to package. You can read and download the article in Bahasa Indonesia below
You can also read this article here online
Ciao, @ridife
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
Software engineering is independent. It’s not related with a specific tools. It can be applied in any tools whether Visual Studio, Eclipse, Net Bean, or anything. However, selecting a correct tool and correct method will boost your team productivity.
Microsoft Visual Studio 2010 has a good relationship worth Scrum method. As I mentioned in this post, Scrum has good advantages in integration. However, if you are using XP or Global XP. I created an Indonesian article how to use GXP in Visual Studio ALM. The article is based on our experience in building a project in distributed model.
Adopting Global eXtreme Programming in Visual Studio ALM
If you are still in the middle of nowhere. Here are the rule of thumbs what Agile method that suitable for your project
Scrum is great for middle to enterprise project that has planning driven development.
Global eXtreme Programming is a great stuff for small to medium project when we thinks entirely in code quality and distributed productivity.
How about ICONIX? or RUP?. Well we will discuss it in another post.
@ridife
Welcome 2012,
new spirit, new blog, and of course new passion to become a better people. Doing a flashback in 2011, here are the list of content creation that you can read and already published in Microsoft Knowledge Base
KB 2587240: Memulai Pengembangan Umbraco di Visual Studio 2010
KB 2599136: Pengenalan Umbraco API dengan Visual Studio 2010
KB 2625343: Pustaka Pemograman Ribbon di Windows Presentation Foundation
KB 2638560: Aplikasi Klien Sederhana untuk Sinkronisasi Database
KB 2646179: Pengembangan Aplikasi Secara Cepat dengan Lightswitch
In 2012, I will focus in Application Lifecycle Management and Software Engineering aspect. let’s start this year with “Flame ON Spirit!”
@ridife
What is PSP
Whether you are professional developer or just hobbyist, Building good software needs a strategy. If you are facing a short development time and quick prototyping might be you can use PSP (Personal software process). PSP is dedicated for a single fighter who need to build quick solution like building software component, prototyping, console application, or might be windows client development. Some people might be used the PSP for Web client development. However, I encourage them to not use PSP but choose web engineering method with XP or Scrum.
This article will follow PSP model and implement it in Visual Studio 2010. Let’s get started. In this article I will follow PSP based on this picture
PSP in Action
As you can see there are five steps in PSP. We will do each step using our Visual Studio Professional 2010 or better version (like Team Suite)
In initial step we will create a list of baseline personal process. a baseline that includes some basic measurements and a reporting form. Coding standard and how you record anything will be discussed here. Practically you can leave this step after you choose your coding standard and application type in Visual Studio. I recommend you to download this coding standard Coding Guidelines for C# 3.0 and C# 4.0 - CodePlex
Personal planning process. In this step, we create a list of tasks of the project. I recommend you to use Visual Studio use case to create a list of features and a list of to-do you can learn from here
http://msdn.microsoft.com/en-us/library/dd409427.aspx (learn how to use use case)
http://msdn.microsoft.com/en-US/library/k4efffwe(v=VS.80).aspx (learn how to create tasks list)
Personal Quality management, as you can see in the picture. this step will focus in construction aspect. Visual studio has several cool features about these such as
Creating domain model or class diagram to give clear explanation about your design (http://msdn.microsoft.com/en-us/library/dd409445.aspx)
Doing a code analysis and review (http://msdn.microsoft.com/en-us/library/3z0aeatx.aspx)
Refactoring the code to improve code readiness (http://msdn.microsoft.com/en-us/library/719exd8s(v=VS.100).aspx)
Testing the code (http://msdn.microsoft.com/en-us/library/bb385902(v=VS.90).aspx)
Cycle personal process. In this step you can select various method in Agile method to implement cycle development. Please take a time to read this Scrum as a Simple Software Method
Feel free to discuss with me about ALM solution in Visual Studio and others tool
medianet_width = "600";
medianet_height = "250";
medianet_crid = "858385152";
medianet_versionId = "3111299";
In a hurry?
Building in a three months or less, well you can depend on Agile method like eXtreme Programming (XP) or Scrum. In this article I will show you several things to do if you wish to use XP as your Agile method.
XP flashback
First of all, XP need a discipline. Forget it, if you have a team that have no spirit to work in time and always postponed their tasks. You can read the entire tasks in Meier's Blog. The entire tasks is not a must, you can use it when you are really need it. If you are a new kids on the block of XP try to buy the books below
my XP
If you need more simple way to adopt the XP. I constructs a tiny XP method called my-XP. my-XP is a mini implementation of the XP. In my-XP, we just need several artifacts which are
User story document. http://www.agilemodeling.com/artifacts/userStory.htm
Spike Solution document http://c2.com/xp/SpikeSolution.html
Deployment diagram http://msdn.microsoft.com/en-us/library/ms181902(v=VS.80).aspx
the rest of it is just well tested code. test driven model focused in creating test unit and then evaluates your code. If you are using Visual Studio 2010 ALM or others IDE like Eclipse you can get free unit test tool. several references below
How to- Create and Run a Unit Test - MSDN – Explore Desktop
How to- Create a Data-Driven Unit Test - MSDN – Explore Desktop
How to- Generate a Unit Test - MSDN – Explore Desktop, Web
How to- Create an ASP.NET Unit Test - MSDN – Explore Desktop
How to- Create a Unit Test without Source Code
Ciao
@ridife
The ALM Background
This post will discuss why we need an ALM and why we care about it. Back, in 2008 when I started my Ph.d. degree in ALM area, I always argue that in the end user don’t see your codes, in the end users don’t see how you build the software. They see the result, they see the quality of your product, they see how you hit deadline and commit with working software. The idea behind of my arguments is abut “working software”. The question is how you make “a working software”?
The answer is simple enough is just “code it!”, creates your software by using any components , any software that help, and eliminate the bugs as soon as possible. The “Hajar Bleh” concept is a well known process in Indonesia. But it only happens with short and quick win project. In the long run projects let says more than three months, you will see a significant disaster using “Hajar Bleh” Process. A good sample in working software is come from Open source community. They provide strong relationship in vision, good team work, and structured process. A lot of Open Source community that build “real software” come with a good milestone and release plan that answer what will you do in the next quarter
ALM and Software Process
ALM majorly focus in software development lifecycle itself. It is part of Software Engineering aspect that we learn in a classroom. Rather than works in “analysis paralysis”, many ALM concept focuses in delivering Software by reduce your workload, increase efficiency, quality and visibility and ultimately increase customer satisfaction. ALM is just like continues improvement (Kaizen spirit) in a software engineering process. It’s not only taking care about how we build a solution, but also taking care about how we sustain and maintain the solution in the next release. Frankly speaking, when you need a long run technique to maintain your solution or product, the ALM is the answer.
ALM and Agile method
When you heard about working software, you might get an idea to solve your problem using Agile method. Scrum, XP , or ICONIX will do the rest but ALM give you more. ALM add management and control aspect. You can see that ALM combine process, tools, and method. ALM give you additional mindset in terms controlling your project using a well known Agile method like Scrum or XP. It is work with your existing knowledge not against it
ALM and Tools
Tools provide you a great productivity. Sufficient tool will give you sufficient speed to solve the problem. Visual Studio or others shall support ALM in many ways. For example, VS2010 works great with the TFS to provide end-to-end ALM solution. You can download the visual studio vision by clicking the image below
Download Here
medianet_width = "600";
medianet_height = "250";
medianet_crid = "858385152";
medianet_versionId = "3111299";