Software development methodologies
| Posted: July 2nd, 2011 | admin
Tags: agile, IAOP, IT, software development
The International Association of Outsourcing Professionals (IAOP) published the results of the annual rating “The Global Outsourcing 100″. In 2011 four Belarusian IT software development companies appeared in the rating. How have they managed to do it? What is the result of such success?
One of the main reasons is using new effective technologies in the sphere of management, agile being one of them.
Recently agile software development is considered to be panacea for all woes turning any IT project into successful. Many western clients give preference to the companies working with agile.
The main peculiarities of agile are:
• risk sh
aring – at present there are two main types of interaction with a client – fixed-priced and time-and-material contracts. In the first case all the risks on the project fall on the contractor, while in the second type the client pays for the actual work, which works little on the final result;
• predictability – the refusal from long-term planning as well as the absence of figures on schedule and cost of the product in general;
• regular feedback – the customer can introduce comments and alterations practically from the beginning of the project;
• easy and quick reaction to changes in functional requirements as well as priorities;
• selforganization – which allows escaping from the excessive management structure.
Why don’t companies want to switch to Agile?
The first reason is conventionalism: many companies think it’s not a good idea to change the familiar scheme which works and bring profit. The second reason is lack of experience in using the new system and the fear of failure in getting non-achieving immediate results. The third reason is additional resources for creating the working team and supporting its highly productive state.
Thus, in order to minimize the risk one a software development company should ope the ground for implementing Аgile on various levels: management level and development level. This process can take from 3 to 6 months but the effect in the long term is worth doing it.
Software development methodologies
| Posted: October 22nd, 2008 | admin
Tags: agile, Agile Software Development Ecosystems, Agility
February 11 – 13, 2001, can be called the day of The Manifesto for Agile Software Development forthcoming. It declares that from then on people who deal with any software should strive for finding better ways of developing software by doing it and helping others do it.
Through this work we should come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiations
- Responding to changes over following the plan.
This Manifesto hasn’t been recognized as the answer to all problems, but it has given a push to real software development process improvement and elaboration.
Read more
Project management in IT, Software development methodologies
| Posted: October 2nd, 2008 | admin
Tags: agile, IT projects, programming, web developers
Many times you and I have heard about advantages of Agile development techniques and drawbacks of traditional “hard” techniques like RUP, MSF and so on. I think, sometimes we are mixing them up.
A lot of software engineers, project architects and even PMs prefer the Agile approach because of the anarchy it allows in the outsourcing development. I mean the absence of specifications (even when they are really needed), merge of project roles and responsibilities (when no one can say who is responsible for low quality level and specification), and the sacred belief in users’ stories without any additional analysis of business goals. The situation can become worse if a customer hasn’t got a clear vision what he wants to get at the end of the project, if the requirements weren’t completely described and verified by him and finally they were implemented according to the developers’ point of view. Most probably the client’s expectations will not be satisfied, and it will lead to hours of overtime, release date shifting and other symptoms of an unsuccessful project.
In addition, unskilled key project persons frequently use this fashionable term to clear themselves when they fail, the project deadline is out-of-date and the customer is not satisfied. They say “We create software using modern flexible approaches, we don’t need all these hundreds of specifications and process descriptions! This is Agile, baby, so relax!”, but usually they forget one important thing.
Agile practice is not the universal magic wand that allows you to make any project no matter if it’s low-sized or estimated in 10 thousand man*days, with minimum of documentation, absence of project roadmap, detailed architecture and so on. Of course, it could be so in small/medium projects and on the assumption of all project-members already have agile experience and the Project Manager keeps all working activities and plans in his head. But you have to keep in mind that it’s rather risky to rely on this.
I strongly believe that Agile development process should be used only by highly-experienced web developers – because they already know the weak points of this methodology and they will not addle with the seeming simplicity and easiness of this approach.
Software development methodologies
| Posted: September 7th, 2008 | admin
Tags: Add new tag, agile, Extreme Programming
Extreme Programming (XP) is a Methodology (software engineering) for the development of software projects. It prescribes a set of day-to-day Extreme_Programming Practices for developers and managers; the practices are meant to embody and encourage particular Extreme_Programming Values . Proponents believe that exercising these practices, which are software engineering best practices taken to “extreme” levels, leads to a development process with the qualities prized by Agile Manifesto signatories. This makes Extreme Programming the most prominent of several agile software development methodologies used to create software. Agile methodologies prioritize adaptability for changing requirements over the project predictability valued by more traditional methodologies. Some elements of the Extreme Programming methodology are Extreme Programming Controversial aspects.
Read more
Software development methodologies
| Posted: June 15th, 2008 | admin
Tags: agile, agile development, Extreme Programming, RUP, Scrum, software development
The Heads of all IT outsourcing enterprises understand that to be competitive in the computer programming market one has to deal with software development methodologies. Here comes the question:
- What is a software development methodology?
- What for do we need to use software development methodologies?
A software development methodology is a complex of processes, rules and procedures executed by a development team and the whole outsourcing enterprise employees to achieve the main goal of web development: high-quality software.
Here are the benefits of using software development methodologies:
- Number of defects is reduced;
- The project is ready in less time;
- Improves created software quality.
And now it’s time to tell what software development methodologies exist. I guess the best way not to waste time of the web developers (and all other readers of the following article) and list only up to date methodologies. They can be divided into two groups:
- Engineering methodologies (plan-driven methodologies is another name of the group)
- Agile methodologies
Engineering methodologies
The core of these methodologies is software production based on non changing specification. Rational Unified Process (RUP) is the most often used engineering methodology .
Agile methodologies
The main core of the agile software development is in adapting the process of product construction throughout its life cycle. During agile software development the project can be easily adjusted to custom changes throughout its development.
Extreme Programming (XP programming) and Scrum are the most often used methods of agile development.
As a conclusion I have to admit that that it’s up to you to decide whether invent a new software development methodology or use an existing one. But there is no doubt that a software development methodology should be used.
Project management in IT
| Posted: April 2nd, 2008 | admin
Tags: agile, Scrum
It’s difficult to find a person engaged in creating software business who has never heard about Scrum. Scrum is an agile software development methodology widely used all over the world. A scrum process is divided into 3 phrases:
1. Planning (a web developer learns about custom preferences to the project);
2. Sprint cycle: a phrase when the web development is done. This phrase begins with scrum meeting, where the feature that will be developed is chosen. The sprint cycle will take place until all features of the project are implemented.
3. Closure: on this phrase the product is delivered to the customer.

So that not to lack behind the times and have Agile, high – quality software, use agile management and Scrum as a means of it!
.Net programming
| Posted: December 23rd, 2007 | admin
Tags: .NET, agile, C#, Scrum, software testing, testing
Nowadays software testing is a rapidly growing up sphere. And software testing engineers may be found employed in different sectors. Lots of methodologies are widely known:
-Agile testing;
-Extreme testing;
-Scrum testing;
-White Box testing;
-Traditional Black Box testing and others.
The Black Box testing is the most popular and called for in many companies around the world. For years experts had been developing different costly commercial tools to lessen testing efforts and to increase the efficiency and quality of software testing, but lots of them were nonviable in practice. Later in 2001, some testing experts offered to create the software utilities for their manual-and tool-automated testing efforts.
Read more
Software development methodologies
| Posted: October 2nd, 2007 | admin
Tags: agile, software development, Software development methodologies, 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.