Money in IT, Project management in IT
| Posted: March 18th, 2013 | sirex
Tags: IT conference, IT Spring Conference, Minsk, Money in IT, oxagile, Pancake Day, project management, Xavier
Although, the weekend started with adverse weather conditions as the renowned arctic cyclone Xavier brought to a standstill not only Minsk and the entire region, but also blocked all the driveways to the capital and runways meeting our country guests. For many Belarusian people March 16-17, 2013 has left these imprints in their minds.
Well, not for IT people! For us this weekend was marked with geek fun, aka constructive IT networking,
many charismatic speakers like Maxim Dorofeev and Co, dancing Sirtaki ,
real (!that’s why we were all there) knowledge exchange,
even at the neuron level ,
despite early (for IT people) wake-up weekend hours,
and, of course, don’t forget about pancakes for Pancake Day.
All guests gathered at the venue, despite their intricate round-abouts on the way to Belarusian Spring.
Find more information on how it was on the official IT Spring facebook page and in Oxagile facebook feed.
Get the participants’ feedback, and leave your thoughts and ideas on our official Twitter pages: Oxagile and IT Spring Conference #itspring
Project management in IT, Software development methodologies
| Posted: April 19th, 2012 | krivitskayats
Tags: agile, Basecamp, Comindware, project management, Redmine, Software development methodologies
Nowadays Agile methodologies are considered the most adaptable to constant emergence of new technologies, to new development tools and to more changeable customer’s requirements. Flexibility is obtaining special importance due to the general tendencies of the information system development – global mass online services, Web 2.0, the switch from software solutions to SaaS services, the popularity of SOA architecture, etc.
In the modern world it is impossible to imagine a software development project planned for 2-3 years and performed with ‘hard’ non-flexible technologies since nobody can predict how the world will change (and consequently, the requirements to the project or applied technologies) within this period. There’s another problem – present day customers who order IT projects very seldom imagine what exactly they need. They can’t clearly formulate their requirements to the software. Moreover, new innovative technologies appear practically every year and they require fast implementation because of fierce market competition.
In such conditions Agile is probably the best solution as it allows starting the project as quickly as possible, introducing details in the course of its realization. The development is carried out within small iterations (1-4 weeks) and at the end of each iteration the customer gets a valuable application (or its part) which can already be used for business process management.
Moreover, Agile can be used in various projects — from small students’ start-ups to serious industrial projects with thousands of man-hours developed by a large software development company. It’s rather difficult to find another approach or methodology with the same scope of application.
The flexibility of Agile methodology is one of the solutions for high efficiency of a software development process. Software companies also have a variety of tools to leverage in order to improve significantly their performance and productivity. Modern project management is impossible without planning and task tracking. Let’s have a look at some of them which, in my opinion, are the best solutions at present.
Basecamp is an online project management system developed by the 37signals company. The functionality of this system is huge and the possibilities are varied. Here are the most prominent features of this system:
• Viewing the general information on clients and projects on one screen
• Task setting and task tracking
• Uploading, categorizing and tracking of different versions of files
• Forums for discussing problems and tasks
• Milestone management
• Time tracking
• Adding comments and messages
• Compatibility with other applications, widgets and programs
Most companies make use of Basecamp as their primary collaboration/task management tool since it has an intuitive interface and can be used even by nonqualified users.
Redmine is a flexible system for project management based on the web application framework RoR (Ruby on Rails). The possibilities of the program include:
• Several projects support in one database
• Flexible system of adjusting user access rights
• Flexible system of tickets and tasks
• Gantt chart support
• Built-in system of forums on the project
• Simple time tracking system
• LDAP authorization support
• Multilanguage support
• Various database support
• Integration with version control systems (SVN, CVS, Mercurial, Bazaar and Darcs)
Comindware Tracker is a web application for managing business processes and tracking the elements with integrated functions of task management and collaborative work. Comindware solutions are based on the ultra flexible technology ElasticData™, which allows users to manage business processes with extraordinary flexibility and adapt to the existing business processes. Comindware Tracker includes free Comindware Task Management and the technology ConnectStep that allows automating the process of generating tasks for the next step and optimizing their execution practically for all business processes within one or several departments.
This list is not complete. Every software development company makes use of their own favorite tools and techniques. The choice is yours. But one thing is universal – all such tools can improve significantly your competitiveness and thus should be implemented.
Project management in IT, Software development methodologies
| Posted: March 26th, 2009 | admin
Tags: flexible, large software project, project management, software development
I’ve started this topic in the previous 2 posts (part 1 and part 2). Here are some more thought regarding the project management for large software projects.
Usually software development doesn’t imply the use of any version control system. All other approaches could be applied or not to individual projects. It dependents on the specifics of developed system, on many other factors, the most important of which, in our opinion, ability to control all the approaches, availability of necessary skills and resources and quality of the developed system.
There is a separate discipline of software engineering, which deals with this kind of organizational objectives without any reference to methodology — it is a configuration management. Configuration Management is a core discipline that helps to manage and control requirements specification, the process of software project development and information on the status of individual tasks and the entire project as a unit. The project success largely depends on how the process of configuration management was streamlined. On the one hand it can save the project, but on the other hand it can bury it.
Glossary of IEEE 610 describes configuration management as “a discipline applying technical and administrative direction and surveillance to: identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements”.
But it’s a rather formal definition. The following software and tools that programmers face on duty every day will allow you to understand how this definition works in practice:
* Subversion; CVS; Git; Mercurial; Bazaar; Microsoft Visual SourceSafe; ClearCase; Perforce.
* Ant; Nant; Maven; Phing; make; nmake; Cmake; MSBuild; Rake.
* JUnit; NUnit; CPPUnit; DUnit; PHPUnit; PyUnit; Test:: Unit; vbUnit; JsUnit.
* PMD; FxCop; PHP_CodeSniffer; PyChecker, lint.
* JavaDoc; phpDocumentor; CppDoc; RDoc; PyDoc; NDoc; Doxygen.
* CruiseControl; CruiseControl.NET; TeamCity; xinc; Atlassian Bamboo; Hudson.
* Jira, Trac, Mantis, Bugzilla, TrackStudio.
I hope this information was useful for at least some of you and will highly appreciate comments and any other kind of feedback.