Where is going software development maturity?

In a domain where many keep their kid heart, what can we say about the industry maturity? Even if software development is a young discipline, we have seen a lot of practice changes and improvements in the last 10 years. One of the big steps in my opinion is that we now acknowledged that change is part of our daily job. It has made the industry search for better managing and processing ways. Other discipline paradigms have been observed, duplicated and adapted to our context. That has made our body of knowledge growth and new ways of doing things emerge.

I personally think that we are a people business, our industry require motivated people willing to work as a team to get results. That’s the reason why it’s more and more important to consider the human aspects more than the technical aspects. It’s also a society tendency: people desire more human jobs. Team that will succeed will be those who understand that fact and act in this way by caring about employee, team synergy and ensuring it’s an applied value by everyone.

What are the software development hot topics?

Agile Architecture - conference resume

Agile Architecture – conference resume

What I liked about that conference is that it presented a good summary of the hole DevTeach event, by presenting a little of every main concerns and ideas raised in the other conferences. You can follow Mario on his talk show (French).

In your opinion, what are the other emerging concerns and ideas in software engineering?

How to be ready for mobility?

Who doesn’t have a cellphone? I’m sure there aren’t many hands standing in the air. More and more devices of many kinds are now in the hands of the population. Many new ways to interact with our daily activities through technologies emerge. The question is no more should I do something, it is what can I do to follow this tendency?

We have to understand first what this new market is. For many company it’s a big paradigm shift since web sites developed in the past weren’t made to support the current reality. We have to change our way of thinking and addressing the problem. As Erik Renault mention in his conference at DevTeach, we have to think about the context before designing an application since capabilities, purpose and user experience won’t be the same in all cases.

For example in the context of a trip, with your cellphone you may want to find the closest restaurant or take pictures and tag them with the location where they were taken, while with your tablet you may want to read about the history of the city you’re visiting or write notes about your trip. Afterwards, with your desktop you may want to review your trip and present a diorama of the pictures taken with notes associated on your TV.

6 important concerns with mobility

  1. User experience: Conviviality strongly defines usage and success of your apps.
  2. Data: It creates knowledge and innovation
  3. Selling strategy: How will your apps be known and generate revenues?
  4. Context: In what situation will your apps be used?
  5. Added value: Consider your apps as blocks with specific purposes that enhance your business.
  6. Flexibility: Users like to personalize their apps and dashboards

Continue your education right away

Here’s my note’s summary of Erik Renault presentation at DevTeach:

Summary of Erik Renault presentation

Summary of Erik Renault presentation

Will software projects be done in Kanban or Scrum?

I recently went to dev teach Montréal 2011 and read a lot about agility and what came out recently as more and more emergent is discussions regarding Scrum VS Kanban and other software engineering best practices and toolboxes. Scrum is being seen as a revolution that is not always suitable in all context (strong hierarchy company, maintenance project, …) while Kanban is seen as a continuous flow methodology seen more as an evolutionary approach more easy to implement and best suited for maintenance. We also see emerge combinations of both methods.

What experts say?

Here’s a mind map of the notes I took at Joel Semeniuk’s conference at devteach Montréal 2011. He his a Microsoft Regional President, MVP, CSM and CSP.

A Dash of Kanban - Conference resume

A Dash of Kanban – Conference resume

On my side, I had the chance to work in a real Scrum process and some of the nice benefits of it rely on the fact that you obtain a motivated and united team that have clear goals and liberty to achieve them in the most efficient way they found for their context. Scrum have clear and simple artifacts and ceremonies to follow to continuously improve the process, ensure everyone is in sync, obtain feedback from the client and understand what need to be done. Although I have seen Scrum struggle with maintenance project and bug fixing, since issues often need to be solved right away and can’t wait the next iteration even if it will disturb the team it’s most of the time really urgent. This presentation talks about an interesting way to combine both of them and I would like to test it and see it work for real to see the challenges and outcomes of that method.

Questions:

  • What do you think is coming in software engineering best practices?
  • How could we combine Scrum and Kanban successfully?