• No results found

Application Development at Congruent

N/A
N/A
Protected

Academic year: 2021

Share "Application Development at Congruent"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Application Development at Congruent

Application Services are the flagship of Congruent's service offerings. Our expertise in application development is signified by its completeness and excellence in delivery.

Congruent covers the complete landscape of application services:

Windows based applications (WPF / windows services / METRO apps etc.)

Web applications (ASP.NET MVC / SilverLight / RESTful and WCF Services / Web API, HTML5 / Java Script / CSS3 etc.)

Mobile (iOS, Android and Windows Phone mobile platforms)Business Intelligence Solutions using SQL Server BI stack

Add - ons for Microsoft Dynamics business solutions (NAV, GP, SL & CRM)Product development for ISVs.

We, at Congruent, achieve excellence in delivery with a clever mix of Processes, Practices and Tools which are above par of industry standards. Congruent has a unique application development framework that encompasses a set of defined processes, time tested practices, handy tools reinforced by strong guidelines on recruitment, train-ing, knowledge management, team building and continuous skills upgrade.

(3)

Application Development at Congruent

Processes

Scrum + XP Engineering Practices: Congruent has always been a strong proponent of Agile methodologies. We value customer collaboration more than contractual elements and vouch for adaptation according to changes in market conditions & ground reality rather than just following a fixed plan. With these value systems in place, the

(4)

Application Development at Congruent

Test Driven Development (TDD): Typically on mission critical projects, we write automated unit tests before

developing the first line of the feature code. We allow the tests to fail initially but the tests pass the criteria eventually as the feature is implemented properly. This ensures near zero rework on bugs and encourages the culture 'Do things right the first time, and every time'. In scenarios where automated unit tests cannot be employed, the

testers share their test cases with the developers even before the developers start coding. The test cases become the pseudo programming specification. Though writing automated unit tests normally results in 15~25% increase in the development time, it is justified in mission critical projects where there is absolutely no tolerance for errors.

Practices

Code and Design Reviews: We employ both automated and manual code reviews. We utilise tools to verify if the naming conventions are followed & XML code comments are done.. We also use the tools for best practices; scenarios such as giving top priority to some object and suppressing errors raised by any tools, require special permission from the entire team. However, the tools have certain limitations, which mean the peer code reviews cannot be dispensed with. Peer reviews enable us to validate the high level design / architecture against the busi-ness requirements and let developers tap-in the experience / expertise of the reviewer. Reviewers do not require to invest their time in trivial issues as most of the issues of such nature are addressed by the tools itself. With the use of code review tools, peer review becomes more productive and effective.

Code Coverage through Automated Unit Tests: We maintain 70% of code covered with unit tests in all the critical projects. The unit tests are integrated with the builds and as per our build policy, all the unit tests must pass and minimum 70% code covered for a build to be considered as successful.

Presence of unit tests comes in handy when the project is in the maintenance phase. During the maintenance phase, with a strong line-up of unit tests, a developer can fix an issue, add a new feature or change an existing feature with certainty. The tests instantaneously confirm if there is any breakage of existing functionality due to the current work. The importance of unit tests become more pellucid when considering the fact that in most cases the original development team may not be in place during the maintenance phase (which is a reality in the software industry).

XML Code Comments: We follow inline XML code comments for all the public methods, properties and types. With XML code comments, the code becomes self descriptive which could be consumed by 3rd Party tools to gen-erate documentation for the application (at least for the developers who are going to maintain the project). We use tools to check for the presence of XML code comments. Though, the tools cannot ensure the quality of the com-ments.

Continuous Integration: Our developers accomplish continuous integration of code using the automated builds of Team Foundation Server (TFS). Continuous Integration is a software practice where the developers frequently integrate their code with the release build after ensuring that the code meets the standards and is not breaking any existing feature or

affecting other developers. This is a very important feature for geographically dispersed teams, as a failed build may affect other developers from different time zones / geographies. We initiate builds out of code check-ins and any problem with the build (a compilation issue or a unit test failure and so on) will trigger an email alert to the team members.

(5)

Application Development at Congruent

Benefits

Early warning for broken / incompatible code

 If a unit test fails or a bug is discovered, the developer has the option of reverting the code base to previous bug free state

 Immediate unit tests run

Developers get an instant feedback about the quality of the code

Tools

We use an assortment of tools to govern our processes and practices.

Visual Studio, Infragistics for development, Xcode Studio, Eclipse, PhoneGap, Business Intelligence Development Studio

 Team Foundation Server (TFS) for code controlling & versioning, continuous integration, bug tracking and Scrum process adherence

StyleCop for code styling, naming conventions etc.Code Analysis Tool for static analysis of the code  Compiler Warnings

 SharePoint for intra-team and customer-team collaborations  QA Wizard, Coded UI for automated testing

As each project is unique, the combination of processes, practices & tools are kept in accordance with the particular project scenario & its criticality.

Congruent is very pragmatic and goes the lean way for non-critical projects where the degree of quality must be justified by affordable cost. Though for mission critical assignments where the need of high quality always over-weighs the cost concerns, Congruent goes all out implementing a rich model.

Business Benefits:

Consistent, repeatable & flexible approach that accommodates and addresses the changing business requirements

 Excellent maintainability resulting in cost savings

References

Related documents

Currently, Supernet has a large bandwidth capacity for international connections with our own international upstream link backed up with full redundant Fiber Optic cables. Our

– For the data from the commune of Wielka Wie ś , the method of selecting similar real estates on the ground of all most important attributes for the additive linear model, based

They could be seen as playing by Ruler play style, but both of them showed that their motivation was not to create their own rules to the game, but to gain enjoyment

A qualitative depiction of the HIFU process can be found in Fi gure 1A. The curved ultrasonic transducer’s surface causes the waves converge at a focal point, which is located in

The founder, Shaykh Mustafa Husein is an ulama affiliated with Nahdlatul Ulama who obtained the religious sciences in Mecca where he studied to a number of important scholars such

The aim of the present paper is to investigate by DSC the effect of fluorine content on glass forming ability, glass stability and the crystallisation mechanism of a series of

ABSTRACT The paper compares the political leadership of Silvio Berlusconi and Viktor Orbán from the beginning of their political careers to 2014, Besides giving a