Web applications are popular due to web browsers, and the convenience of using a web browser as a client, sometimes called a thin client. The ability to update and maintain web applications without distributing and installing software on thousands of client computers is a key reason for their popularity, as is the inherent support for cross-platform compatibility.
Common web applications include eCommerce, Content Management, Portals, Dashboards, Online ordering, Wikis and many other functions.
Genolis has been developing web applications using Microsoft technology since 2000. We have acquired a vast amount of knowledge and expertise in this area.
Our experience includes:
- Web content management systems
- Ecommerce sites
- Applications for mobile browsers
- Online bidding and auctions
- Intranet, extranet business applications
- Online geo mapping and routing
- Silverlight based applications
- Web sites design
How we deliver
At genolis we develop our projects using a blend of structure, discipline and control processes combined with the agility, quality and early delivery of functionality due to the use of SCRUM process.
The project lifecycle diagram below illustrates the typical stages of delivery of any small or large software development project.
The initiation is one of the most important stages in the project management lifecycle as it is the stage in which key stakeholders are identified and provided with information on the project to be initiated. It also allows the project team to clearly identify and communicate the scope of the project deliverables. This is normally the stage in which we would formalise and issue the communication plan.
In this phase the project requirements are defined in full and documented down to a detailed level. This process ensures that both the project stakeholders and the project team have a documented common understanding of the project requirements. These requirements will form the basis for developing the product backlog which constitutes an input for the SCRUM process.
With the size of a project determined based on the defined deliverables and requirements, the full project team resources will be allocated. This mix of resources is a group of specialists that will be able to deliver the completed functionality that has been fully tested as part of each sprint cycle.
Delivery milestones are key for both the client and genolis. The full project plan will be developed, base-lined and released. This project plan will be used to track and report the work in progress against the key milestones ensuring the customer is permanently updated regarding the work status and is able to plan with greater certainty.
genolis promotes an interactive solution development process (SCRUM) to create solutions that will meet 100% of the customer’s actual requirements. The SCRUM process is an Agile Methodology and has a number of development sprints (1-4 weeks) that will deliver useable functionality that is released for evaluation by the customer throughout the SCRUM process. This process provides a constant feedback environment to ensure that the delivered solution fulfills all specifications while allowing the customer to take advantage of opportunities which naturally emerge through the development process.
The key characteristics of the Agile Methodology are as follows:
- Test-Driven Development – assures concise and accurate outcomes and minimizes defects.
- Short, interactive release cycle – confirms development approach and allows for feedback from all parties throughout the project in a timely manner.
- Highly customisable approach – for smooth incorporation of approved changes and improvements to requirements.
- Automated builds incorporating testing and version control – constant visibility of solution progress and confirmation of accuracy in meeting requirements.
Project Reporting and Reviewing
This section details the frequency of reporting and the method of dissemination. genolis proposes a weekly project meeting and report in the first 4 weeks of the project or at each pre go-live stage of the project. Project status and progress reports will be prepared and distributed before every meeting to the nominated people on the project such as the sponsor and key stakeholders.
The project report will include project status and progress since last reporting period, highlights and key discussion topics, issues & risks, change requests and financials (actual vs. forecast).
The genolis Project Manager has specific responsibility for managing issues that require involvement of people outside the project team. The issues will be identified and managed through project review meetings or other project events, by categorising them in terms of priority, delegating ownership of the issue and setting a due date for resolution. A procedure will be established to monitor, review, evaluate and document issues on a weekly basis.
Project risk will be managed through early identification and assessment of risks which may impact the project by categorising the risk, analysing the probability of impact to the project, creating a risk containment plan, identifying an appropriate contingency plan for each high risk and delegating ownership of the risk and its containment plan to a project team member. A procedure will be established to monitor, review, evaluate and document risks on a weekly basis.
Once main deliverables of the project have been finalised and the project budget has been agreed upon, genolis follows a simple and clear process for managing change requests. Regardless of whether a project is a fixed price or time-and-material based, we provide a quotation. This allows the customer to make a business decision on whether or not to proceed.
Once approved, a change request will be registered on our online tracking system where appropriate resources will be allocated. Progress monitoring and ongoing communication with the client will be recorded in the system.
genolis is developing software in a variety of platforms with its main focus on Microsoft Technologies. Regardless of development technology we always ensure our code to be:
- Maintainable – regular code reviews, clearly defined naming conventions and easy to use internal frameworks ensure code is consistent and not repetitive through the application.
- Reusable – extensive use of design patterns, common libraries and high quality third party components reduces development cost and time to delivery.
- Efficient – we use a wide variety of tools and methods to ensure our applications are optimised for performance.
genolis puts particular focus on developing high quality user interfaces. The importance of user interface design has risen significantly in the last few years due to the arrival of Apple and Android products. A well designed user interface can enhance user experience and improve workplace productivity. In our projects we make user interfaces:
- Simple and Intuitive. We simplify our user interfaces by dividing them into clear functional areas, by reducing amounts of scrolling and repetitive data entry.
- Interactive and responsive. Using client side programming, multithreading, progress bars and notifications enables the user to have a better experience.
- Ecstatically pleasant. We frequently use graphic designers to visually enhance our applications which make them more appealing to the users.
- Unit testing (automatic and/or manual) is always performed by genolis as part of any development iteration. A developed module is tested against requirements as a standalone unit. The developed module is also tested for adherence to genolis standards.
- Integration testing is performed when major parts of a project are released or at the end of the project. System testing is carried out by the testing specialist against test cases prepared based on the functional specifications. System testing can also involve performance and integration testing.
- User acceptance testing is usually performed by the customer. This stage also requires involvement of genolis’s testing and development teams. The user acceptance testing would occur before project delivery.
Software security is the most important part of any software product. Most new developed applications require internet access thus obligating developers to pay greater attention to security. genolis possesses significant experience in this area delivering projects for financial and law enforcement agencies. We use internal security check lists as well as external consultants to protect:
- Data Communications – all data transferred over internet requires protection. We recommend SSL as minimal requirement for data communication protection.
- Information storage – both database and stored information require protection against unauthorised access. Securing database server, using appropriate authentication methods and encrypting sensitive data ensures customer information is safe.
- Application security – we examine our web application for information leakage, SQL injection, session hijacking, cross-site scripting, and cross-site request forgery. We protect information by using encryption and hashing.
- ASP.net MVC, ASP.net forms, Classic ASP
- Web Standards, Semantic Web, Responsive Design
- Web Services (REST, SOAP, JSON)
- Microsoft IIS, Apache
- Agile development, Continuous integration
As part of our offerings to our customers, genolis provides Application Hosting services. The advantages of Application Hosting:
- Reduced ownership costs
- Security – all data lives in our locked down Datacenter
- Safety – all data is backed up every four hours and replicated offsite nightly
- No servers to purchase – less electricity, less noise, less cooling, less cost
- Scalability and flexibility – pay for what you use escaping large capital expenditures
The genolis Application Management service includes:
- Managing hardware requirements
- 24 x 7 application monitoring with Email and SMS alerts
- Managed backup
- Daily backups of the entire system with a 14 day retention period
- Ability to restore the entire system container should any issues arise
- Extended support
- Proactive support
- System patching and updates