Collecting requirements

29 06 2008

When reading about exodus of staff from Google to Microsoft I have found very valuable information about how to make a great connection between software team and the client.





‘Questions every Candidate should ask a potential new employer’

29 06 2008

It was my plan to create a software organization for some time now. I have been collecting interesting writings on the subject. About a year ago I have found a set of questions that every candidate should ask their potential employer. I knew it would be fun to answer them myself from the employer perspective ;-) . Here they come along with answers.

  1. Explain the company’s development process at a high level.
    Phase 1 – collect underpants, phase 2 – ?, phase 3 – profit
  2. How are releases scheduled/planned, do you utilize iterations
    We try to have releases every Thursday but so far that proved to be a bit problematic due to short deadline, lack of automated builds, lack of unified skills, too loose coupling of components. As for the 2nd part – sure we try to use iterations.
  3. Do you have dedicated environments (development, qa, stage, production)
    Not really. We have a server dedicated for testing but it is not very formally defined.
  4. Do you follow any formal methodology (agile (what flavor), waterfall, etc)
    I am trying to implement Scrum. Currently we were only able to implement morning Scrum meetings and they proved to be vary valuable.
  5. What is the company’s philosophy on team member involvement in the SDLC process
    SDLC-what?
  6. Do you have a continuous build environment setup
    Nope.
  7. Do you follow some form of TDD
    We try to. Actually I have assigned the task of “getting through” the testing of components in Seam to 3 people on the team but none of them was able to complete task. It might be my fault since I tried to push quicker implementation of the components that we needed rather than exploration of tests under Seam.
  8. How do you track/follow bugs/issues
    We have successfully implemented and used Jira. Not all team members had enough knowledge to us it but I believe that we are slowly getting there. I would like to push Mylyn.
  9. Do you perform code reviews
    Not yet. Last Friday we have delivered so so ready first version of our product. This week we should be able to install it at the customer’s site and after that we will do formal code review.
  10. What type of development tools do you have
    Apart from Jira we use SVN and Red Hat Developer Studio. I am really thinking about using Mingle but that costs quite a bit of money and I really should have time to investigate it a bit longer. Last week we have started to play with VMWare as we have to test everything on different database and directory server than in development environment.
  11. What type of hardware for the developers to you have
    Dell Precision M4300 Core 2 Duo T7500 (2.2GHz,4MB) with Base Discrete FX360M Graphics with 4GB of RAM.
  12. Is QA involved from the onset of development
    Yyyy not really?
  13. Do you have a knowledge center for the team such as a team portal, wiki, etc
    Nope. We have setup document repository based on Alfresco but I did not have time to show it to the team.
  14. Do you have up to date specs on the application
    I am not sure if we need it. We are working more in R&D kind of way. There is some initial, high level overview but that is about it.
  15. What form of stake holder involvement is there in the development cycle
    They pay ;-) .
  16. Do you have documented coding standards, are they followed
    One of the team members has actually created such a document but I need to look at it further and possibly make some adjustments.

Uff… that was rather painful reality check. Lets make things harder — in the comments to the original questions I have found some more suggestions about how to make a better code. Lets try to go through those as well.

  1. Do you use source control?
    Yes.
  2. Can you make a build in one step?
    Kind of. If exporting an EAR file from IDE counts as one step then yes.
  3. Do you make daily builds?
    No.
  4. Do you have a bug database?
    Yes.
  5. Do you fix bugs before writing new code?
    Nope. We do not have very rigorous testing so we do not know what kind of bugs are there.
  6. Do you have an up-to-date schedule?
    No.
  7. Do you have a spec?
    No.
  8. Do programmers have quiet working conditions?
    Yes – it could be better. Our next office is not going to be on the 2nd floor on the city’s main street. The building is nice but it is kind of distracting when one opens a window.
  9. Do you use the best tools money can buy?
    Not yet.
  10. Do you have testers?
    Kinda – rather not.
  11. Do new candidates write code during their interview?
    No.
  12. Do you do hallway usability testing?
    No.

4 out of 12 – ouch again. It looks like there are still quite a few things that should be improved ;-) . I guess I better prepare some plan with the things that should be done. See next posts.





Ron Paul ReEVOLution Anthem (Unofficial)

14 06 2008

If this is way way that the message will be spread I am pretty sure it will be heard.

Check out this one as well.

Interview with Aimee Allen on The Alex Jones Show.

I am wondering how IPv6 will influence the ways in which I will be able to find about the things that are true and important.





Interesting times that we are living in

14 06 2008

When I was a bit younger I truly regretted that cool things have already been done: all new lands discovered, all mountains hiked, great music created etc. I really wanted to live back “then”. Now I think differently. We are living in very interesting times. Now, we are discovering and exploring things related to the freedom of individuals, defining rules that will shape our lives for the decades to come. It’s like living great adventure movie.

Yesterday a new chapter of the story has been written – Ireland voted no to Lisbon treaty.

I really like this comment about the on CNN “It is an embarrassment too to the other 26 leaders across Europe who, for fear of a similar outcome, have refused to stage popular votes and left the ratification process to more easily managed parliamentarians.”

This is nice too: “Not only is the process of constitution-mongering a fractious, divisive and frankly boring exercise, it is one which alienates European citizens from the EU and all its works. They want their politicians to be tackling problems like immigration, energy security and employment, not tinkering endlessly with their institutions.”

I am also happy to find out that Czech president Vaclav Klaus has named the results as “victory of freedom.” In addition it looks like GB will have to have referendum even though political elites (cowards) oppose such a solution.

Thank you Ireland!





Agile Ron Paul Supporter from Poland

13 06 2008

It was not very surprising that Ron Paul has not been elected as Republican candidate for the 2008 elections. Although I am not American I really wanted his ideas to become popular. I even tried to donate money for his campaign. Unfortunately, US law does not allow foreign citizens to donate money for the candidates – which is quite reasonable ;-) . Now things has changed. Ron Paul presidential campaign has officially ended and new campaign is just starting – Campaign for Liberty (sounds very cliche but I guess this is what might work in US). I could not resist the opportunity to contribute and I am now probably first Polish citizen that has given $50 (actually $100 via double submit ;-) ) to Ron Paul’s Campaign for Freedom fund. I am really proud of that!


Why? If you do not know who Ron Paul is you really need to catch up a bit ;-) .





The time has come

1 06 2008

Finally, after a bit less than 4 years from the moment in which I graduated from the university I am getting a chance to go back to the subjects that were so interesting back then. I am now fully responsible for creating a software organization in the company that I am a co owner of.
During those past four years I did a couple of things that I believe me gave me some experiencethat will make my task easier. I worked as a consultant/developer at IBM/Red Hat distributor in Poland. During that time I was given an opportunity to work with a number of companies that deal with software engineering and delivery IT products and services to the customers.
My findings are rather usual:

  • it is not the actual need of the customer that drives the most of IT initiatives
  • most of the business people do not have a clue why given project is to take place
  • most of the spendings (especially in gov area) are a waste of money
  • no control over budget – simply the profit margins are so big that nobody really cares about the productivity, the costs of maintenance, number of defects, end user satisfaction
  • the only reason for some projects to start is because some “smart sales bonzo” persuaded some truly confused customer to implement the product of “this great company that will solve all the problems at once”
  • and a lot of similar things.

Maybe that will sound a bit naive but I really believe that we are now (at least in Poland) reaching the moment in which the business needs, end user satisfaction, quality of the solution will drive more and more sales of the software.
My goal is to have a team, or a number of teams, that will be able to deliver and maintain number of products that will win customers because of quality, simplicity of use, great support, fast delivery, fast improvements. I want those teams to be efficient, I want my people to be satisfied and I want to make money ;-) (the good thing is that I am not the sales guy in our organization ;-) ).

As Nonaka and Takeuchi recognized (or at least I remember it was them) , externalization of ideas helps to systematize thoughts. This is the reason for this blog to exists. I want to have a personal notebook that will help me to think through the experiences, new knowledge, possible obstacles, new directions in the written form.








Follow

Get every new post delivered to your Inbox.