Software development methodologies
| Posted: May 30th, 2009 | admin
Tags: bug-tracking, IDE, Microsoft Visual Studio Team System, quality software, test environment, version control
#10 “Hygiene” of software development (the list starts in the previous posts)
Several years ago, many software development companies didn’t use such tools as bug-tracking systems, version control and other similar tools. They just worked in Integrated Development Environment (IDE), and that was all. But, thanks to new approaches to integration, tools such as Microsoft Visual Studio Team System and advent of high-quality systems with open source communities programmers discovered new methods and new “hygiene” of software development. 
Nowadays developers should know not only how to put the code in repository, or get it from it, or how to use virtual machines to create test environment. They have to be sure that they properly coordinate their activities in their team. Those software developers who copy everything to their personal USB flash without documenting changes in program code doesn’t welcome not only in “traditional” companies, but also in Agile-commands, where coordination and communication between team members are considered as a key factor of quality software development.
to be continued…
Software development methodologies
| Posted: May 25th, 2009 | admin
Tags: Agile programming, Flexible methodology
#9. Flexible methodology (рlease, read the beginning of the list in the previous posts)
When Agile appeared in mainstream development, many IT-companies and certain specialists were rather skeptical. We think that such sentiments showed intention to protect the traditional approach. It was “fear of the unknown” discarding all the tools, which could lead to anarchy in software development.
By that time the ideas of Agile methodologies have become defined much better. Today they expressed rather clear in numerous books, articles and (it is the most important thing) in practical experience of many companies and well-known specialists. So IT-world could learn a new methodology at first hand.
Many teams nowadays use and experiment with Agile. Of course, Agile is not a panacea that can save the project from failure, but flexible methodologies actually were used in many successful software projects.
Agile developers who understand and work effectively with flexible development tools will be in great demand on the labor market. And you can be sure that their popularity will only grow over the next 5 years.
to be continued…
Software development methodologies
| Posted: May 18th, 2009 | admin
Tags: .NET, F#, functional programming, Groovy, Python, Ruby
#8. Dynamic and functional programming languages (Please, read the beginning of the list in the previous posts)
You would be surprised, but the next point in our “look-ahead list” is dynamic language. It can be functional language as well, we can’t decide it exactly.
Of course such languages as Python, F#, Ruby, and Groovy don’t belong to mainstream; nevertheless software professionals can find good ideas in them. Take LINQ from .NET as an example, this language is an “offspring” of the functional programming. Ruby and Python are becoming more and more popular in some areas (owing to good programming for Silverlight).
Your programming skills in these “informal” languages will not only make your resume more impressive, but also liberalize, helping to find more non-typical and unusual decisions for everyday tasks.
For example, you can read the book “Programming Python” by Mark Lutz. It will show you all power of this language and help to unveil your potential. No doubt this book is one of the most comprehensive and detailed edition for advanced Python programmers available nowadays.
to be continued…
Project management in IT, Software development methodologies
| Posted: May 8th, 2009 | admin
Tags: business processes, communication, CRM, social skills, software
Speaking about 14 most promising IT technologies of the next five years we cannot but mention social skills (the previous posts – Rich Internet Applications for “rich” software development and 14 technologies that won’t become obsolete before 2014: foundations of software development).
#7. Social skills.
Of course we don’t mean such tings as psychological and oratorical skills for programmers. Software developers may not need books like «How to win friends and influence people». Nevertheless they often face with customers and need to speak common language with them.
Business and software are closely connected with each other. Specialists can’t change their business processes without proper changes in their software. For example, Chief Financial Officer can’t change the accounting rules without working with IT department to update the system. And call center can’t optimize its work without IT specialists updating the CRM workflow. So customers often need to work directly with the development team to make sure that their requirements were properly reflected in developed software products.
So developers are more and more involved in non-development meetings and processes to provide feedback control. And those specialists who can acquire skills of affective communication will be highly valued in labor market.
Software development methodologies, Web development
| Posted: May 4th, 2009 | admin
Tags: Ajax, CSS, Flash, Flex, HTML, JavaFx, Javascript, JSON, REST, RIA, Silverlight, SOAP, XML
Today we continue our list of 14 the most relevant technologies for software developers adding some Web-oriented technologies to it:
#4. Rich Internet Applications (RIA)
No matter you can love RIA or hate it, today developers use Flash not only for cartoons about politicians who sing silly songs, but also for more serious things. Flash has rich functionality to create applications using technologies such as Flex and AIR. Companies that develop Flash analogues, for example JavaFx and Silverlight, also improve similar features and increase productivity.
HTML5 soon will combine the full functionality of RIA, including connection to the databases and putting the official seal of W3C on AJAX technology.
It means that in the near future, the differences between RIA platforms will be decreased.
#5. Web Development
Web development won’t sink into oblivion in the near future.
Many Web developers ignore, or at least only familiar with the basics, providing frameworks. However, companies want more and more people who able to work with these technologies. So, JavaScript, CSS, and HTML will be still successful even in 2014.
#6. Web Services
JSON or XML? REST or SOAP? This choice depends on the project, and work complexity increases without Web services technologies. Even those areas, where developers used ODBC, COM, or RPC, are gradually moving towards Web services.
to be continued…