Archive for the ‘best practices’ Category

Information Architecture –An Overview

Monday, June 21st, 2010

In a web development environment, a client would come up with a pile of requirements to a web development firm like ours. Even if the core development starts from building HTML and ends at coding and deploying, there is an art of concept analyzing and content management that must come right after requirement gathering. This is called Information Architecture (IA).

Information Architecture starts at sorting the pile of requirements in to different sections. These sections or classes become the backbone of the whole site .This backbone must get through

  • Site content
  • Interrelation and dependency of content
  • The core structure/li>
  • And finally, to the ultimate design.

In other words Information Architecture delivers what people want, by bringing together how people think and how the system works.                                                                       

The Principles: 

Précising over to the topic, Information Architecture is a systematic method of identifying, organizing and managing Information for a particular need. Rather than just viewing the pages, an Information Architect must have an insight of, how information must be arranged and connected for easy user access. On this basis we generally classify the principle aspects behind IA as,     

1) Organizing  

The first and foremost task of an information architect is to categorize the available data to fulfill the requirements of the client. This process is handled in the organizing phase in a vivid manner.

2) Labeling      

Labeling is merely a form of representation. They are used to represent larger chunks of information in our websites. Labels can include contextual links, heading, Internal navigation, Index term, Iconic labels.           

3) Navigation      

The navigation helps user in a website to know where the user is and where the user can go.The navigation system can be embedded, supplemental, or advanced.     

4) Searching      

Searching needs no explanation and we usually follow one of these 3 types                   

Simple browsing over data
Alphabetical search    
and search based on keyword.   

5) Metadata         

Metadata is machine understandable information about web resource or information about information. It helps us to group users according to keywords such as name, type etc. Metadata plays an important role in accessing websites through search engines and in ranking them. Metadata is otherwise called data of data.

The 9 step Methodology:

  • The methodology of information of architecture deals with how the architecture is implemented in an effective manner. We can concise this into the following steps.
  • To know what the requirements are. Information Architects must understand requirements precisely as they are the backbone builders.
  • Card sorting: In card sorting method, we provide users with the contents written in different cards and allow them to arrange these contents in a manner with which they are familiar.
  • Analyze the results of card sorting and check the possibility of developing an architecture, keeping their preferences in card sorting.
  • Develop an architecture based on the above possibility and proceed to finalizing, grouping and labeling of content. We may go for number of iterations as the first grouping will definitely be far from perfect. Develop the sitemap that deals with data relations and content flow as main focus.
  • Wire framing. It is the bridge between design-architecture and between planning-executing. After creating the sitemap, we mix it up with the rawest form of design together which results in the creation of wire frames. A typical example of wire frame is as shown below.

         Your browser may not support display of this image.

  • Story boarding – is the technique of sketching webpage layouts on paper to define how the user will navigate through the site. It defines a number of common user tasks, such as finding out how to request and relate data. It explains the functions of each field or sections and what type of contents to be placed in these sections.
  • Perfecting the outlook of the architecture so far, within the project members from top to bottom. It could give them a clear idea about what we have completed, and what we are expecting from them, over the superior client needs that we had sorted up.
  • In the final step, we turn over to complete design implementation of the page layout by visual designers and further to the development side of the project.

References:

http://eduscapes.com/arch/ia/index.htm


http://www.useit.com/alertbox/20040719.html

    Continuous Integration

    Monday, May 10th, 2010

     

           

     

    Code Integration

    A software development team consists of a set of developers each working in their own development environments, containing tools to develop. Due to the different environments in which the code is getting built and the need to create a deployment version, there is a need to maintain an official environment and an official codebase for the application being developed. The process of integrating the code for changes developed in the local development environments into the official codebase and ensuring that the intended functionality changes are achieved in the integration testing environment, is the code integration we are referring to here. In the subsequent sections, we will look into some good practices around this.

    Continuous Integration

    Continuous Integration (CI) is a software development practice that allows developers to work as a team, where each team member integrates his work into a central repository, very frequently. This in turn results in multiple integrations taking place daily which presents an opportunity for correcting issues early on. In order to carry out an integration, the code is first verified, converted to a deployable state and deployed to the official stage for integration – the integration testing (IT) environment. Based on the technology involved, this might consist of performing compilation of codebase, post processing of build output etc. Once the changes are integrated and deployed to the IT environment, the product could be verified.
     
    Why do we need Code integration
     
    The main goal of CI is frequent verification and correction of errors when changes are introduced to the code base. This rapid feedback allows programmers to correct errors as soon as possible and we keep developing the official codebase, in small chunks ensuring things are fine at each integration.
     
    How does Code Integration work?
     
    There are quite a few tools in the market – both open source and licensed ones – which help in creating a CI environment for different technology stacks. In this section we will touch upon the different steps involved in creating a CI environment and types of tools that help us.

    The first step involved in a continuous integration solution is a mechanism to integrate the code changes from the different developers into the official codebase. This can be addressed with the help of a source code control system. A developer checks-out a working copy of the projects’ source code from the central repository to start work. On completing the task at hand, the developer commits the code back to the repository. The source control system will have mechanisms and tools for tracking different versions of the code artifacts, identify conflicts and resolving conflicts between versions. Thus commits into the code repository after any such conflict resolution represents the individual changes being reflected in the project codebase.

    The next main step is to trigger an integration based on the changes. Since a new integration makes sense only if there is a change to the codebase and since it involves consumption of resources, the trigger is usually based on a monitoring mechanism with the source control system to check whether there are any changes and a polling interval to control the number of integrations. CI tools are usually configurable to integrate with different source control systems.

    As mentioned earlier, once an integration is triggered, based on the technology, there will be a series of steps that needs to be executed. The CI tools provide an infrastructure to specify the tasks to be performed. The tasks configured typically involves

    Ø Labelling the codebase and fetching the current version of the codebase.
    Ø Verification / Preparation of code for deployment like compilation
    Ø Keep back-up of build.
    Ø Deploy the build to the integrated testing server.
    Ø Runs required tests.
    Ø Generates reports like code metrics to measure the quality of the code



    The impact of implementing CI and following it in the right spirit is that the development happens in an incremental fashion, with necessary sanity checks at each increment. As a result, there is always an official copy of software that is working quite robust, though it has not yet been subjected to rigorous system testing. Another advantage of the incremental development is that the issues arising out of each incremental integration will be manageable, as opposed to a big bang approach.

    With these advantages in view, we, at Software Associates have invested in CI infrastructure for aspnet ,android application and iPhone app devleopment and are reaping dividends during the execution of projects.

    This post was aimed at providing an introduction to CI. For more information on the practices and implementation of Continuous Integration please check out our next posts. 

    Continuous Integration Team @ Software Associates

           

     

      Android and iPhone tablet browsers

      Tuesday, December 16th, 2008
      Quality is free but no one is ever going to know it unless there is some agreed system of measurement. A report by Creative Good showed that 39 per cent of test shoppers failed in their buying attempts because sites were too difficult to navigate. Additionally, 56 per cent of search attempts failed.

      Portal development is only half the work done. You need professional web site testers who can unearth hidden bugs and enforce webs standards that would otherwise cost your company thousands of pounds in maintaining and fixing these costly errors. In 2004, the UK's Department of Inland Revenue experienced software errors that resulted in a $3.45 billion tax-credit over payment. 

      Here is a recent report on the horrors of coding errors – surprisingly from a mutual fund company

      It seems to be happening all over the world – but who or what is to blame? All web developers understand the need to test their own scripts, but few take the time or make it a priority to test early in the web application development cycle. The result is a vicious cycle of few tests, poor-quality code and an increasing amount of debugging work. This is often due to insufficient resources, lack of technical know how, inadequate planning, scope creep and poor design.

      Our experienced team of web and application testers could help you save thousands of dollars through our manual and automated testing procedures for ERP applications using TestComplete and selenium.

      We do quality assurance testing services for web portals, extranets and intranets; they include tests for cross browsers, website functionality, performance, security and web standards ; work closely with designers and developers to bring about drastic improvement in code quality and predictability. Our quality assurance projects include big names in United Kingdom such as O2, NHS, Honda, Esprit, Dell and Cadbury.

      Whether you are based at London or New York,  – our web standards testing, application testing and web portal application development and testing services are available to you at a short notice. We also provide long term independent testing services for web development companies who build portals and social networks to bring about tangible benefits in testing time and shorter version release cycles

      What we provide

      #Standard operating checklist with severity of errors
      • Critical Error
      • Lack of Functionality / Logical Error
      • Not Living up to Specification
      • Spelling or Grammar Error
      • Design Problem
      # Web security
      • SQL injection
      • Bot login prevention
      • JavaScript loopholes
      • Password protection
      • Document privacy
      • Reader privacy
      • IP restrictions
      • Credit card encryption
      # HTML web standards
      • W3C standards
      • Web accessibility
      • Section 508 compliance
      • AAA compliance
      • XHTML compliance
      # Cross browser compatibility testing
      • Internet Explorer 6
      • Internet Explorer 7
      • IE 8
      • Firefox 1.5 browser
      • Safari browser for Mac and Windows XP
      • IE 5.2 for Macintosh
      • Netscape browser 7.x
      • Opera 8.x
      • Android and iPhone tablet browsers
      # Coding and performance
      • Portal development standards
      • Web services testing
      • Web load performance testing
      • Automated web testing
      • Web site optimization
      • Website coder matrices
      # Requirements
      • Functional specification of the project
      • Client / Admin login access on staging server
      # Engagement models
      • Pay per bug
      • Fixed hour testing
      • Agile testing for large projects

      Write to us to know about skill sets and the services that we can provide to you. 

        eSCM – capability Level 3

        Saturday, April 5th, 2008

        eSCM – With more and more organisations across the globe changing their strategies to outsourcing their non-core activities, it has opened a world of opportunity for the software outsourcing service providers.

        India, with a large pool of skilled and talented manpower is the number one choice of most countries. This has led to the mushrooming of small outsourcing companies who are endeavoring to get their share of the pie. In this scenario, it has become a necessity for small companies who have the skills and the expertise to prove their capabilities to the clients worldwide.

        The clients on the other hand are having difficulty recognising the chaff from the grain and has often ended up in unsuccessful sourcing relationship. eSCM-SP seems to be the ideal solution to both. It gives service providers the guidance to improving their capabilities through a set of 'best practices' standards and provides clients with an objective means of evaluating the capabilities of the service providers

        It had become inevitable for us to stand out as a quality service provider to gain competitive advantage. eSCM-SP being a capability model seems different from other quality models which laid more emphasis on documenting the process, appears best suited and a feasibility study was conducted.

        The study conducted at the Indian Institute of Management involved assessing the current processes of the capability area, relationship management against objectives defined. To gauge the success of the present sourcing relationships, a survey was conducted based on the practices in relationship management, using a semantic differential scale, and open-ended questions asking for suggestions for improvement if required.

        The actual rating was compared with the desired rating to learn whether we have met our objective. The result of the study has proved that we have a fairly high capability in the area of relationship management and can be considered to be at Capability Level 3.

          Collaboration Tool for project success

          Sunday, March 9th, 2008

          Communicate, Collaborate and Control your business on one single platform

          • Cut supervisory time by 50%
          • Manage and track multiple activities / projects
          • Never miss a task, information or event
          • Simple and easy implementation
          • Access information real time on SA-CM's web-based platform

          Do you have a geographically distributed small service business ? Do you have to manage 'n' number of people to get your work done? Be it any network of clients, vendors, suppliers, distributors – Client Manager helps you efficiently collaborate your entire network and get your work done with significant time and cost savings.

          How does SA-CM help you manage your business?

          By performing the function of a collaborator, SA-CM integrates and brings every task under one umbrella. You can communicate, instruct and get tasks done through Client Manager. No tasks go unattended and no information is lost!

          Here are some benefits that you can leverage:

          • Migrate your entire project communication to one centralized platform
          • Get rid of the hassles in searching for email communications
          • Every task / activity is recorded
          • Monitor and track progress
          • Get detailed status reports, anywhere, anytime
          • Draw immediate attention to urgent tasks
          • Estimate accurate project billable time
          • Simplify the approval process
          • Increase user participation among the team members
          • Access information real time on SA-CM's web-based platform

          Eliminate the hassles of back and forth emails – Communicate and get all the info at SA-CM

          Have you felt the difficulties in hunting for emails and missed emails? You cannot afford to have such state of affairs to affect the efficiency of your business. SA-CM completely eliminates the need for emails by automating the entire process. Every communication related to the project can be made through SA-CM cutting down on unnecessary email instructions, approvals and eventually improving efficiency.

          Save time, stay informed

          Smart communication is what Client Manager is all about. SA-CM brings in efficient time management which helps you cut supervisory time by almost 50%. Check out the robust features of Client Manager:

          • Send and receive sms alerts on your mobile
          • Send and receive requests as Tweets
          • Import reports on to Excel sheets
          • Get deadline alerts
          • Perform quick searches with SA-CM's powerful search tool
          • Enjoy information security with restricted access
          • Implement the tool fast and simple
          • Scalable and reliable hosted solution

          You get all this with an easy to use simple interface. Also, you save on training costs as SA-CM does not require any kind of additional training. Anyone with basic computer skills can use SA-CM efficiently.

          Increase your clientele and improve on your client management skills.

          Get started with Client Manager!

          Contact us to place an order for Client Manager. Wish to see a free demo? Write to us now or call Steve Roche @ 203 287 2635 and get started!

            Best practices @ Software Associates

            Sunday, March 9th, 2008

            We have adopted the Agile Scrum way of working for execution of small and medium sized projects. The iterative method of the agile methodology enables early feedback and correction and this is enabled through intermediate releases. Due to the agile methodology, the requirements are consumed sprint by sprint in small chunks and the clarifications are also obtained for each sprint. We maintain a product backlog and implement it sprint by sprint by creating sprint backlogs. Sprint demo is conducted to ensure that the implementation meets the acceptance criteria and to act as an early feedback mechanism.

            Automated testing – It is important to have a quick turnaround for large web portals and web sites in a maintenance upgrade scenario. Our dedicated automated testing resources uses TestComplete suite in delivering cross browser compliant web applications on time, with the metrics to measure improvement.

            eSCM – With more and more organisations across the globe changing their strategies to outsourcing their non-core activities, it has opened a world of opportunity for the software outsourcing service providers. India, with a large pool of skilled and talented manpower is the number one choice of most countries. This has led to the mushrooming of small outsourcing companies who are endeavouring to get their share of the pie. In this scenario, it has become a necessity for small companies who have the skills and the expertise to prove their capabilities to the clients. The clients on the other hand are having difficulty recognising the chaff from the grain and has often ended up in unsuccessful sourcing relationship. eSCM-SP seems to be the ideal solution to both. It gives service providers the guidance to improving their capabilities through a set of 'best practices' standards and provides clients with an objective means of evaluating the capabilities of the service providers

            It had become inevitable for us to differentiate ourselves as a quality service provider to gain competitive advantage. eSCM-SP being a capability model seems different from other quality models which laid more emphasis on documenting the process, appears best suited and a feasibility study was conducted. The study involved assessing the current processes of the capability area, relationship management against objectives defined. To gauge the success of the present sourcing relationships, a survey was conducted based on the practices in relationship management, using a semantic differential scale, and open-ended questions asking for suggestions for improvement if required. The actual rating was compared with the desired rating to learn whether we have met our objective. The result of the study has proved that we have a fairly high capability in the area of relationship management and can be considered to be at Capability Level 3.

              Web Development Partnership Programme

              Saturday, November 24th, 2007

              Web development partnership, new york, london

              Web partnership business model has matured over the years with more and more firms providing value added services apart from giving definite cost advantage, which translates into better margin for their partners. As the trend suggests a higher number of SMEs ( Small and mid sized organizations) are engaging in business models for scalability, cost optimization and better synergy between their core competence and market requirements.

              For well over a decade we have been involved in building relationships with our clients worldwide. We have evolved, grown, and adapted ourselves to meet the needs of our associates. Our web development partnership programme is focused on Web Design firms, Creative Agencies, Online Marketing firms, small & midsized IT companies and individuals (Freelance Web Consultants and Web Designers) catering specifically to their needs and working methodology.

              Why you should work with us? 

              We work so as to complement your business model; you can modify your offerings, select teams without having to go through the hassles of maintaining excess capacity or adding new facilities. Some of the benefits for you include non competing model, work ownership, cost advantage, breadth of technology offerings and extensive support in areas related to project management and marketing. So if you happen to be an individual or firm who is looking for an extra source of revenue generation you need not go any where else!

              Software Associates

              • Trust built since 1991
              • More than a decade of project collaboration experience
              • Experience in handling non-technical clients
              • Better understanding of cross cultural issues
              • In built, client management tool, enabling effective communication
              • Robust development process based on continuous integration
              • Immaculate project execution using Agile Scrum methodology, which results in
                • Better requirement gathering
                • Faster time to code and deliver
                • Robust and optimized code
                • $ savings
              • And an excellent resource pool

              We are always on the lookout for long term technology partnerships and can provide excellent client references and project case studies to walk the talk. We value your privacy and ensure that no information without your consent will ever go out of our organization. Our engagement model let you grow without adding extra capacity, helps you see through resource crunch and lets you offer entire gamut of services to your clients without worrying about cost or project quality. 

              Read about our iPhone and Android application development competencies

              Instant signup for a no obligation pilot project! Fill our contact form to get going now!