topic on software development
Author
Discussion

mikyccity

Original Poster:

63 posts

133 months

Saturday 30th December 2017
quotequote all
Hi, i need to prepare a topic on .Net or on SQL database as my next year team goal. I work with senior remote team, there are 6-7 developers in a team, we all have over 7-8 years experience in .Net and SQL.

I was thinking about topic 'SOLID principles', I can explain what are SOLID principles with examples but i don't know which one of them are currently being used in our software product. The other topic i have in mind is 'How to read SQL query execution plan' .

I was wondering if someone can give me some ideas on different topics.



4x4Tyke

6,506 posts

161 months

Saturday 30th December 2017
quotequote all
SOLID is a set of design guidelines for objected oriented programming, it is not relevant to SQL or .NET. What programming language are you using, C#? They would be relevant to that. Learning some patterns for enterprise architecture and integration would complement SOLID.

Continuous Integration pipelines are a future cornerstone of software development. Automated Testing is becoming increasing important using BDD (Behaviour Driven Development) and TDD (Test Driven Development).

essayer

10,410 posts

223 months

Saturday 30th December 2017
quotequote all
What about something on SCM and your environment

Fittster

20,120 posts

242 months

Saturday 30th December 2017
quotequote all
mikyccity said:
The other topic i have in mind is 'How to read SQL query execution plan' .
For which database?

mikyccity

Original Poster:

63 posts

133 months

Saturday 30th December 2017
quotequote all
Fittster said:
For which database?
SQL SERVER

mikyccity

Original Poster:

63 posts

133 months

Saturday 30th December 2017
quotequote all
4x4Tyke said:
SOLID is a set of design guidelines for objected oriented programming, it is not relevant to SQL or .NET. What programming language are you using, C#? They would be relevant to that. Learning some patterns for enterprise architecture and integration would complement SOLID.

Continuous Integration pipelines are a future cornerstone of software development. Automated Testing is becoming increasing important using BDD (Behaviour Driven Development) and TDD (Test Driven Development).
we use repository pattern, development languages are C# and VB.NET. We just started with unit test but we are far from implementing continues integration.

Fittster

20,120 posts

242 months

Saturday 30th December 2017
quotequote all
mikyccity said:
Fittster said:
For which database?
SQL SERVER
Ok, can't help. I'd avoid the topic for Oracle databases, where there are some many 'exceptions' to the rules that it quickly becomes a nightmare.

mikyccity

Original Poster:

63 posts

133 months

Saturday 30th December 2017
quotequote all
essayer said:
What about something on SCM and your environment
we are already using TFS.

4x4Tyke

6,506 posts

161 months

Saturday 30th December 2017
quotequote all
I'd suggest a strong focus on learning how to putting together a CI pipeline.

mikyccity

Original Poster:

63 posts

133 months

Saturday 30th December 2017
quotequote all
4x4Tyke said:
I'd suggest a strong focus on learning how to putting together a CI pipeline.
good idea, i will add it to my list and will go through pluralsight.

Edited by mikyccity on Saturday 30th December 23:08

CzechItOut

2,156 posts

220 months

Sunday 31st December 2017
quotequote all
What versions of .Net and SQL are you using? Are there any features in the newer versions which you don't use, but think could add value?

I'd be tempted to do a presentation on some of those areas, which would probably be interesting for the dev team and may also score you some brownie points with senior managers.

Alternatively, you could do something a bit more hands-on and organise a hackathon?

4x4Tyke

6,506 posts

161 months

Sunday 31st December 2017
quotequote all
anonymous said:
[redacted]
I broadly agree, including the OP is not ready for BDD after the extra info provided.

However not for the reasons you give. BDD is not just about testing, it is big picture QA. It is about doing the right thing, not doing the thing right. Criticising it because many people do it badly is just the same as criticism levelled at TDD a decade ago and API governance or design by contract. At the core of BDD is Hoare Logic, it is the same foundation as TDD or DbC and it works.

I've delivered many projects using BDD in the last few years as a consultant and contractor specialising in Automated Testing in agile transformations. I coach teams in BDD along with a whole range of other testing approaches. I used to work at the best testing consultancy in the country before going freelance. The one the likes of PWC, Deloitte and Accenture go to trouble shoot their QA failures. I was part of the team that exposed this ATOS failure, though mostly we mange to fix things. ATOS failed because of the same sort of resistance.

http://www.manchestereveningnews.co.uk/news/greate...

4x4Tyke

6,506 posts

161 months

Sunday 31st December 2017
quotequote all
anonymous said:
[redacted]
Not always, I've had plenty of success with Cucumber-Jvm with WebDriver, including this project.

https://pressreleases.responsesource.com/news/8531...

The challenge is always making sure the Scenarios are expressed is good domain language, too many scripts are expressed procedural/imperative approach, rather than declarative. Starting with bad requirements, as bad BDD or a traditional big upfront requirements is just the same problem.

I see that problem with many old school PM, BA and testers who are failed developers. Unless a team is doing these things, they doing arts and craft not engineering. Automated testing requires more skill than just programming. It does need a strong application of software Engineering, defining expectations and measuring results that many teams simply don't use.


Edited by 4x4Tyke on Sunday 31st December 14:47

AndStilliRise

2,295 posts

145 months

Sunday 31st December 2017
quotequote all
Joining in.

mikyccity

Original Poster:

63 posts

133 months

Sunday 31st December 2017
quotequote all
CzechItOut said:
What versions of .Net and SQL are you using? Are there any features in the newer versions which you don't use, but think could add value?

I'd be tempted to do a presentation on some of those areas, which would probably be interesting for the dev team and may also score you some brownie points with senior managers.

Alternatively, you could do something a bit more hands-on and organise a hackathon?
using VS2015 with sql server 2008 R2. Web part of our product is in MVC and desktop UI is MVVM.




Edited by mikyccity on Sunday 31st December 17:38

mikyccity

Original Poster:

63 posts

133 months

Sunday 31st December 2017
quotequote all
anonymous said:
[redacted]
Product was designed long time before i joined the company, i spent most of my time fixing bugs and 3rd line support issues. This role is a lot different than my all other jobs, in my last role i designed a large web system from scratch , also worked on other large applications.

mikyccity

Original Poster:

63 posts

133 months

Sunday 31st December 2017
quotequote all
4x4Tyke said:
I see that problem with many old school PM, BA and testers who are failed developers. Unless a team is doing these things, they doing arts and craft not engineering. Automated testing requires more skill than just programming. It does need a strong application of software Engineering, defining expectations and measuring results that many teams simply don't use.


Edited by 4x4Tyke on Sunday 31st December 14:47
Totally agree

edc

9,618 posts

280 months

Monday 1st January 2018
quotequote all
All the posts sound like they are from technical people so far.

What is the purpose of preparing and presenting this topic? Aside from finding a topic what do you and your manager who presumably assigned this task want to achieve?

mikyccity

Original Poster:

63 posts

133 months

Monday 1st January 2018
quotequote all
edc said:
All the posts sound like they are from technical people so far.

What is the purpose of preparing and presenting this topic? Aside from finding a topic what do you and your manager who presumably assigned this task want to achieve?
Bring new ideas on board, team can take something out of it.

edc

9,618 posts

280 months

Monday 1st January 2018
quotequote all
mikyccity said:
Bring new ideas on board, team can take something out of it.
I thought this would be the case. I would focus less on the topic itself but use the objective and process to guide you. Where are the knowledge gaps? What are the new standards, tools or technologies that are making waves now and how can they be of benefit and incorporated? What does the team do that is out of date or needs improvement/can be done better?