Feeds:
Posts
Comments

Archive for March, 2012

Most IT people neglected this part when building an application. I think neglected is kind of harsh word, maybe forgetting will be wiser ^^. Hmm, let’s see.. When quality is mentioned, what will cross your mind? I believe most people will definitely think about bugs or error. Well, quality actually can have big meaning, but what I’m going to share below is quality of IT application (either web application, desktop application, mobile application, etc.). Then, what are consist as quality of IT application?

software bug

Quality can be measured by usability, performance, defect, etc. So to ensure the quality of an application, you should follow this step:

  1. Make sure that the application is built based on SDLC, where every phase should be done well and there is clear output. When this step has been done, then this can make sure that the quality of an application has been ensured 50%. This because if every phase in SDLC has been followed well, then in each phase there will be clear result. The result of each phase which has been ensured well before should be the source for the beginning of next phase, which then will be ensured again and will have another clear result. It’s not easy to ensure the quality of an application, but it will be if we could follow each phase in SDLC well with clear result in each phase.
  2. Every stakeholder of the application should participate actively based on their own rule when building the application. For example for the first phase in SDLC is requirement gathering. The stakeholder of this phase mainly is PM, analyst, product owner. Here, these stakeholders communicate and result in the description of application requirements which is agreed by all stakeholders. If the requirements are ensured from the beginning, then the following steps should only follow which of course needs the participation of every stakeholder as well. So later there won’t be any miss about requirements of the application.
  3. Build a reliable design for the application first before entering coding stage. A reliable design will make the development of the application easier and later, the maintenance also will become easier. Application design will make the developer/programmer focus more on coding the application rather than thinking the architecture of the application.
  4. Make sure the developer follow the design of the application. This step can be done by checking the code that has been built by developer.
  5. Do the interaction as many as possible while the application is being built. This can avoid any miss understanding between each stakeholders so every one in this project should have only one purpose, that is to reach the purpose of why the application should be built.
  6. Making file test for white box testing is better than later waiting for tester to do all the functionality test.
  7. Use as many testing tools as possible to help doing the test in testing phase. As we may know that there are so many tests that can be done to the application. First of all, don’t forget that the main important thing to ensure the quality of the application is to make sure that the requirements of the application has been reached. Well, this means that the purpose of building specific application has been reached. How can we ensure this? We need to use the application and check whether the purpose of the application is reached, this can either be done by testing main functionality or by testing application as a whole. You can find out more about software tests here.
  8. UAT (User Acceptance Test). This phase will be done together by product owner and end user. Product owner represent the development team whether end user is the user who will use this application for his/her operational management. Actually this phase should be done in testing phase but here we’ll get the approval from end user. End user will state that the requirements have been achieved well.
  9. Maintenance phase. If every phase of software life cycle has been reached then the final phase is maintenance. An IT application always needs to be maintained so later if we find any bug or error we can fix them easily. Maintenance isn’t always done by the development team because we don’t need as much effort as when the application is still being built. Either way, maintenance is important because we never know what will happen later to the application.

I think that’s all for this sharing. I’ll edit the post when I find something to be added or modified here.

Comments and suggestions or critics are loved. Thanks~

Read Full Post »

As we all know that a good database design results in a reliable, maintainable, and extendable of an application. Database is a core of an application because as we know, application exist in order to let user do manipulation to the data based on each user’s role. It’ll be difficult for application if the database design is poor, because the maintain process will be more difficult. It’ll also be difficult for application to be extended because poor database design needs more effort to be extended well. Therefore, when we plan an application, while preparing UI design we can also analyze database design.

To design a database, people usually use ER diagram or DFD as common method. I myself prefer ER diagram more, because I often use it. I can’t give any reference about DFD though, because I don’t use that method yet until now.

I’ll share some best practice in designing database:

  • Use similar naming convention when deciding tables name and columns name.
  • Make sure the database design has been in at least 3NF (this can be done by designing database using ER diagram).
  • Define the attributes of each table using datatype which is best choice between many data types exist. This can add database performance later.
  • Perform de-normalization if you think the existing design makes database performance slower.
  • Give index to columns which are often used. This can makes database performance faster.

I think that’s all I can share for now. I’ll update this post if I have new resource related this matter. ^^

Read Full Post »

Building a good user interface for IT application is easy-hard task to do. Well, for some people who is technical minded, it’s sure a hard task. For people who use the application/end-user, it’s an easy task. I’m sure that almost all of us are technical minded people since we build the application, don’t we? ^^

Build a good user interface is an important task actually, I just realized this recently. A good user interface determines the easiness of an application to use. What components are included in a user interface? Here are the list:

  1. UI form component. This means the field used for each attributes in a user interface, like a textfield, combo box, radio button etc. Which field used for which component can help both the developer to ensure the possible value for each attributes. A simple guideline for choosing the best field for components for example:
    • Use textfield if an attribute can accept one simple value without limitation of possible answers (ex: name, phone number, email, etc).
    • Use text area field if an attribute can accept one long value without limitation of possible answers (ex: description, address, etc).
    • Use radio button if an attribute can accept only one value from some possible answers (ex: gender, religion, etc).
    • Use combo box if an attribute can accept some values from some possible answers (ex: hobby, specialization, etc).
  2. Label of an attributes. This represents the label which will be followed by field where user can enter/choose the value of its attribute. From label, user will know what value they should enter in a field (example: name, address, phone number, email, etc). This also represent what text should be displayed in a button (save button, cancel button, print button, etc.) Deciding what text should be used to represent a field is an easy-hard task to do if the label is kind of hard to explain in short term (ex: how to represent whether a premium is added to payroll or not, whether leave will affect in leave ration or not, etc.) The easy thing to do if we find this situation is, ask others who doesn’t really know/understand what kind of application you are building. They’ll surely give nice input to you.. ^^
  3. Title and description of a page. There aren’t many applications which use description to describe the functionality anymore, but either way there is still few applications which use it. In case a page doesn’t have any description, then we should choose a wise title to represent what kind of information will a user get/give in related page. Once user read the title, they’ll understand directly what kind of information they should get/give. In case a page has description, we can use it to help describing what page it is.
  4. Positioning. This represent the overall layout of a page.
  5. Color. This represent the overall color used in a page. We should be wise to choose what color can be used in order to make sure a page is displayed nicely and easy to use.
  6. Consistency of word used. This represent choosing exact same word to describe the same thing, and also what language is used in a page. We shouldn’t use different word in displaying the same thing. We also shouldn’t use different languages in an application.

Above are some components consisting a user interface of application. Below are some best practices in making a good user interface design:

  1. Make sure user interface is simple and easy to use.
  2. Make it as interesting as possible without losing the functionality meaning.
  3. Make sure user understand the information given/needed by the application. You can test this by asking beta user’s opinion and feedback.

I think that’s it my share about making a good user interface.

Comments, questions, feedback, critics are welcomed.. ^^

Read Full Post »

I’m not expert at IT things actually, but I do have some experiences regarding IT application.

I’ve worked at two different IT companies which build web application. Based on my knowledge and my experience, I’ll share it here what needs to be done when building IT application.

I know that most of student in IT engineering field know that before building an application, we need to analyze and design the application first so later we can save the cost to maintain the application and also it may be possible to extend the application easily. This is true of course, but when it comes to business field where the application needs to be built fast, analysis and design will only be done in a very short time, or even worse there won’t be analysis at all.

If we face this issue, what can we do?

We should try convincing the management to do the analysis phase first. I’ve succeeded this method in my first company, but as I expect before I won’t have many times to do analysis phase. Then, what I do to make sure the application requirements is analyzed well enough in shot term are:

  1. Study the requirements well, either by doing research in knowing what market wants or studying similar existing applications first. If we can do both, then it’ll increase our application specification value.
  2. Make UI design of the application. This UI design will content flow of the application too, because once we make UI design, we’ll also decide which UI design will be shown first then which UI design next, etc etc. We also need to make sure the sentences used are easy to understand, which component of UI should be used in what kind of questions. We learn this in interaction of human – computer. As additional information, we can use ms.visio, balsamiq, pencil add ons, or any other tools to make the sketch of UI design. I’ll make another posting related with brief description about building a good user interface guide.
  3. Design the database relation. I don’t mention yet that actually a good database design result in good, maintainable, extendable, reliable application. I’ll make another posting related with how to make a good database design later.
  4. Make a good documentation of the steps above so we can use the documentation later for further development process.

Then, how if we can’t convince the management to do analysis phase first? All we can do is make a good documentation of the requirements, either by describing the specification for each feature or making release notes documentation of the application. We also need to make bug documentation which later can be used for further development. This won’t help much but at least, team can use the documentation to learn the application. I think this is the better method in knowing the application rather than we explore the application. Documentation also will enable the changing of application stakeholder easily without affecting the application development significantly.

Well I think this is my share about what’s important in building IT application. I hope this post is useful for all of us..

^^

Read Full Post »

Heart..

Well then, I’m starting this blog by sharing one of my recent experience, which is bitter while sweet at the same time..

It’s about y heart *sounds fluffy, yeah?

Image

First I want to state that the picture above is absolutely taken from google, so for whoever made this I thank you and so sorry at the same time because I take your beautiful picture in my blog. I hope you don’t mind.. ^^

Well, let’s get started then..

I believe that almost all of you should have felt love. Love for the one you hope his/her to be your soulmate in everlasting.. Yeah, this is this kind of heart warming thing..

That was definitely also happen to me, almost five years ago.. There was this one person who stole my heart. He was kind and I respected him a lot. We got together at that times. We were happy. We hoped that we would be together in everlasting.

Yes, this is this kind of mature love story *you may say that..

Sadly, reality isn’t always as beautiful as you want.. I’ve been always remind myself that this person may not be the one in my love, yet I always fall deeper for him.. We’ve been in a very good relationship, we both know each other family so well.. And then our story end.. We don’t end this relationship badly of course, because I believe that we really hope the best for each other.. Call this platonic but really, we can’t be together anymore.. He still needs to pursue his dream, while I need to get myself settled in ‘s relationship with clear commitment, as I’m not young anymore *that’s truly what I feel..

I thought I won’t be this sad, because somehow I knew this would end eventually.. But I couldn’t control my heart of course.. And I actually wonder, why can’t I cry? This is hurting me a lot >.<

*Feel like I speak nonsense all the time..

Yeah, I just need to write this out.. I’ll write this experience clearer later..

What I need to say is, you can love with all your heart to one person, but you really need to make a wall so you can’t fall really hard to this certain person. You need to really love your heart out to your soul mate, because he/she’ll be the only one who deserve this.. And people, be strong.. You’ll never really be alone in facing everything if only you just saw the people around you with heart..

^^

Read Full Post »