The peculiarities of .NET and C# programming language

Visualstudio2008 and language C# on the .NET platform is often used for software development. The .NET absorbed all advantages that were available in the market of software development. The .Net platform uses the opportunities of XML and Web in full. It can be called one of the best platforms for development, especially when web-services are concerned.

The sight into web development is completely revised in .NET programming, powerful and suitable in use is given to our attention technology of ASP.NET, that noticeably avoids developments of rivals. To write code on ASP.NET is simpler , much quicker, and decision is got excellent on productivity.

C# is an object oriented language of programming for the .NET platform. It was developed by a group of developers under the aegis of Microsoft Research (SCIENTIFIC RESEARCH INSTITUTE at the Microsoft company).

Why do testers become the best project managers?

There is an opinion that only web developers can become project managers (certainly if they choose such a career). This is not so.

This post will change the opinion to another one: testers are the best project managers. Funny? Let’s think about it a little.

Who is a tester? A tester is a special person, who stands at the last point of the web development lifecycle. He is the last person between the web developer and the customer.

So at first, to be a tester means to be responsible for not only quality software, but almost for the success of the whole project.

Let’s think more. A tester is a person, who doesn’t develop anything himself. He just checks. So he knows better than the whole project team, how the things should be and almost the only one who sometimes is not afraid to say what is incorrect.

At last, a tester is the only person who knows how is will be better for the end-user to work with the product. This is not the web usability question only. As a tester himself uses the product thousands of times while testing it, he is the only person who can say, what is done conveniently or not. So a tester tells how it should be.

Do you see here much alike with the project manager’s work? Same as a tester, a IT project manager doesn’t develop anything himself, always knows, how the things should be, checks the result and is responsible for the project success.

I know a project manager, who started as a tester. For now, everybody is happy to work with him and his projects are always a succes!

Lightbox customization (PHP programming tips)

Current version of Lightbox (widely used in web development) has an intricate navigation in the image gallery. At first a user trys to guess where to show “previous” or “next” buttons. This navigation isn’t user friendly. Here are some small modifications for creating a simple navigation:

The best way for creating it in your image gallery is overriding the code without direct changes in the lightbox source code. It’s profitable when it is necessary to update the source code.

Service-oriented architecture is a good choice for web development of IT services

Service oriented architecture or simple SOA is a method of software systems integration . The main principal of it is data exchange between multiple applications for business process maintenance. SOA application accumulates some layers of data from different IT services to fulfill tasks, which couldn’t be completed only by a single IT service. SOA architecture has distinctive key success characteristics from others.

SOA services use self-describing interfaces in XML documents and have standard for describing them – WSDL. They arrange communication between different IT services using messages, which are formally defined via XML Schema. There is a SOA service registry with universal definition, description and integration (UDDI) data. And what is more important, SOA service has a quality of service (QoS), which is associated with it.

SOA architecture will be a good choice in case of agile software development and web development of complex IT services. It can reduce time and money costs by using existent IT services as a foundation of new ones. SOA also provides good flexibility and adaptability of such applications to a changeable business environment.

Should there be a separate methodology for testing?

There are a lot of words said about web development and functional programming methodologies. Usually they are oriented to development mostly and do not deal very much with testing. So should testing have a separate methodology?

It is not a secret that quality software is one of the most important requirements for a customer. It often doesn’t matter the timeframe or even the budget of the project, but whether the end users will be pleased with the product developed. So the importance of testing is great and on some projects good testing is even more valuable than good development. Anyway this doesn’t mean that testing should have a separate methodology. As testing is a very agile and flexible process, which closely connected with web application development, there should be the same methodology for testing as for development.

Testing is flexible enough to choose the best process to achieve the result easily and quickly. It can be various, depending on the development methodology, project team specification and customer’s goals.
If you think of a separate testing methodology – just take all the best practices together and work out your own testing methodology!

Agile web development

Agile web development is a model for developing web applications. Its concept is similar to Agile software development, but is limited to web applications. It is more efficient and powerful within a short timeline than other models; it incorporates face-to-face communication and includes technical personnel as well as customers as part of the team. Agile web development is used by project managers, business analysts, it is based on clear goals, planning, and iterative delivery. Agile web development ensures the successful completion of the product at the end of each iteration.

The agile web development model follows the stages of planning, requirement analysis, designing, coding, testing, and documentation developing parallel. Successful interaction reaches toward to successful completion of application because of customer involvement hence we never met with the condition where we have to change the product due to changes in requirements, correct decision has to be taken by keeping customers confidence and informed choice, minimizing delays of the product. All the tasks are performed within the given period, with just enough documentation to be effective.

• Small time line.
• Refined Team.
• Clear planning.
• Short Documentation.

Due to the regular involvement and feedback from the customer, the software tends to be more error free, more requirement oriented, and more user friendly. Also, such tasks as planning, development, design, coding, testing, etc. are performed simultaneously, driven by the customer’s demands. It also reduces the development cycle time. The application documentation is less formal, to reduce the time taken and to be more human friendly.

Agile methodology is similar to the iterative, RAD Prototype model, but it has its own principles of developing a web application and it has introduced the concepts that overcome the problems associated with the existing models.

For instance, the waterfall model frequently changes the requirements during the development life cycle, which means it fails whenever the requirements are changed at the end or not properly understood or implemented according to the customer’s current feedback. In the iterative incremental model, the development process moves according to the iterations. Requirements and business process analysis, designing, and functional modification must be added to each version or iteration of the system to satisfy the customer’s feedback, and at last it is integrated into the system. Agile development adopted the key points from an iterative model but differs from the iterative one in relation to the timeboxes. An agile development life cycle pays attention to a shorter time duration for completing the IT project. With the help of timeboxes, developers can easily estimate the problem and correct it within the given time, so that at the end of each iteration, it is modified.

Companies are moving towards Agile as it results in more Customer Satisfaction and hence there business.