Testimonials

Johan Sjoblom, CEO,Sesca ISW

"Evozon has been our Romanian partner for software development since July 2007. From the very first weeks of our partnership we have been impressed by Evozon's professionalism, commitment and flexibility. The programming skills of their developers exceeded our expectations, convincing us that scaling up the cooperation is an excellent decision. [...] I am happy to give the Evozon team my highest recommendation."
... more

Areas of Expertise

  • Mobile, Web, Client-Server
  • Games, Productivity
  • Enterprise CMS, Industrial
  • eCommerce, Web Portals
  • CRM, Marketing, GPS
  • Hybris, Liferay, RedDot
  • Symbian, Java, J2ME
  • C/C++, .Net, Perl

Main Services

  • Design, Development
  • Prototyping, Testing
  • QA, Maintenance
  • Training, Support
  • Mobile Phone Testing

Contact Us

Romania
Level 1, Piata Marasti 13
Cluj-Napoca

E-mail:
Phone +40 (0)364 101203
Fax     +40 (0)364 101204

 

Evozon’s Agile Approach


The Agile Methodology Explained You might have already used the Scrum methodology and failed a few projects with it. The most notable drawback of this methodology is that it only allows you to detect failures at the end of the unique development cycle, which means that all the money allocated for development is lost. This disadvantage, among others, makes Agile development the preferred approach at Evozon.

Benefits of the Agile Development Methogology

We have tried to refine and even improve the Agile approach as described by Scott W. Ambler by borrowing a little from XP methodology. This enabled us to maximize our results when training newcomers and also improved communication. The result matured into our ‘best practice’ Agile approach and is further refined for each project when we consider influences from team member’s character and personalities, possible outcomes, the client's needs and level of interaction. Our ‘best practice’ is outlined in the steps below.

1. Inception

a) After the birth of the idea the customer interacts with our sales and management team. The idea is then passed to the development team’s architects and seniors who have a short brainstorming session to discuss direction etc.

b) Then a representative person or group is chosen to interact with the customer who is then bombarded with ideas and wish lists but not to-do’s.

c) Following this the discussion turns to; the general requirements, definition of a short possible life cycle, the projects lifetime, scalability, possible deployment scenarios (cluster, web farm), required and or imposed technologies, expectancies etc.

d) The front line team with management can then approximate human resources. In the initial stages the team is allocated about one or two hours per day to contribute ideas and research technologies.

e) The big picture is drawn as a high-level architectural plan and the level of details presented to the customer will be carefully chosen so that no deviation can occur.

f) The customer gives feedback and suggestions.

Steps ‘e’ to ‘f’ are repeated until the whole picture is understood. From this planning steps like; technical requirements, ui prototyping, test planing, deployment issues, risks assumption, checking resources availability will evolve but all at a high level. At this level each iteration will; identify technical risks (those hours from point ‘d’ might help), give birth to ideas, create suggestions, identify best approaches and new needs. Depending on the number of iterations and the progress obtained from the discussion a schedule can be drawn.

2. Elaboration

a) Architectural modelling with ui prototyping both correlated with technical risks identification (bottlenecks, ui tweaks, effort need it for building something special, etc)

b) At this phase we already have allocated more resources depending on the needs of the project. The most experienced developers will try to prove the architecture by small sampling applications which will try to meet the performance issues and identify ui tweaks.

c) Clients are asked about other possible directions this product can evolve to and perhaps handle volumes of data several orders of magnitude greater or can it be put into another deployment environment.

d) The test planning is refined (unit testing, integration, tdd style) and the deployment plan assumed.

e) The last step is defining the team working environment (the war room) by finding the people best suited for the project and managing the required human resource migrations from project to project.

‘a’, ‘b’ and ‘c’ can progress in parallel but ‘a’ will take the highest priority and will influence both ‘b’ and ‘c’. ‘d’ is usually discussed next. The last point ‘e’ is where all human resources (available, best suited, newbies) will be allocated to the project and the environment will be setup. We prefer a single room to house all of our developers and newbies paired with advanced developers. All will be in close range to seniors with influence from upper management minimized.

3. Construction

a) Further evolution of the analysis and design models.

b) Short iterations of preferably two to four weeks.

c) Iterations will be considered lock downs which means that during their development phases they can’t be modified until it’s complete. After that if something needs changing or redesigning the architects and senior developers will analyse the risk, communicate the results and modify the estimates accordingly. We then proceed after the client’s approval.

d) The testing model is detailed, plans are put to work and after successful iterations the test units are written for those modules. After a few co-existing iterations are done, integration tests are conceived and implemented. Every future iteration’s success or failure will depend on the success of the tests. Bug fixing time is allocated in the iterations so that no extra time needed.

e) Important notes for user manuals and deployment documents are written but these are only summaries.

f) Milestones are created after subsequent iterations or after a few related preliminary deployments are made. Customers can see the results, interact with the developers and suggest improvement etc.

4. Transition

a) Short testing run.

b) QA department steps in and the project is locked down.

c) Project validation (requirement meet), metric tests.

d) Documentation.

e) Deployment procedures (usually step three is done but they’ll need a few small adjustments as always).

f) Client acceptance.

g) Live deployment.

h) Champagne.


Trust us with a small test project